Tech Over Tea - Legally Blind Game Developer | Ritchie

Episode Date: February 23, 2024

Today we have a game developer on the show called Ritchie, he's legally blind so I was curious what that experience is like as a game dev, what sort of software he relies on and the difference bet...ween the various operating systems. =========Guest Links========== YouTube: https://www.youtube.com/c/AcidicLight Twitter: https://www.youtube.com/c/AcidicLight Website: https://acidiclight.dev/ Patreon: https://www.patreon.com/acidiclight Socially Distant: https://sociallydistantgame.com/ TrixelCreative: http://trixelcreative.com/ ==========Support The Show========== ► Patreon: https://www.patreon.com/brodierobertson ► Paypal: https://www.paypal.me/BrodieRobertsonVideo ► Amazon USA: https://amzn.to/3d5gykF ► Other Methods: https://cointr.ee/brodierobertson =========Video Platforms========== 🎥 YouTube: https://www.youtube.com/channel/UCBq5p-xOla8xhnrbhu8AIAg =========Audio Release========= 🎵 RSS: https://anchor.fm/s/149fd51c/podcast/rss 🎵 Apple Podcast:https://podcasts.apple.com/us/podcast/tech-over-tea/id1501727953 🎵 Spotify: https://open.spotify.com/show/3IfFpfzlLo7OPsEnl4gbdM 🎵 Google Podcast: https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy8xNDlmZDUxYy9wb2RjYXN0L3Jzcw== 🎵 Anchor: https://anchor.fm/tech-over-tea ==========Social Media========== 🎤 Discord:https://discord.gg/PkMRVn9 🐦 Twitter: https://twitter.com/TechOverTeaShow 📷 Instagram: https://www.instagram.com/techovertea/ 🌐 Mastodon:https://mastodon.social/web/accounts/1093345 ==========Credits========== 🎨 Channel Art: All my art has was created by Supercozman https://twitter.com/Supercozman https://www.instagram.com/supercozman_draws/ DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase we may receive a small commission or other compensation.

Transcript
Discussion (0)
Starting point is 00:00:00 Good morning, good day, and good evening. I'm, as always, your host, Brodie Robertson. And today, we are doing a very interesting episode. I have had a game developer on the show before, but usually it's to talk about the games they do, and we'll definitely get into that as well. But I want to focus more on a discussion of accessibility. Welcome to the show, Richie. How you doing? a discussion of accessibility. Welcome to the show Richie, how you doing? I am doing awesome, I'm really, really happy to be on the show. I've been in the community for about a week or so now and everybody's really freaking nice, but Linux is being a little bit annoying with me right now and... I would like, I'd like to kind of, you know, get some attention on some of the bugs that I've been having with Linux.
Starting point is 00:00:51 And I figured the podcast would be a nice way to kind of both tell my story as a blind game developer and get some attention on some bugs. Well, I guess we should really start with that. So most people probably have like this idea in their mind of what it means to be blind. Like they'll have this idea of like, oh, you can see everything or you can see nothing. But like clearly you have the ability to see some amount. So what specifically like is your blindness like? Okay. So the first thing about my blindness is it's degenerative.
Starting point is 00:01:24 It was, it's a condition I was born with as a kid, obviously. And it basically causes my retinas to, for lack of a better term, commit suicide as I age. Uh-huh. So my blindness is I still have quite a lot of vision left. Like I can see everything that's around me and I can to an extent read what's on my screen, but it's not nearly as, as good as most people's. Um, like I can still walk around and cross streets and stuff like that. That was a skill
Starting point is 00:02:08 to learn. But when using a computer, I have to basically have everything dark mode and really excessive dark mode to the point where the background's black and the text is mostly white. And then I end up zooming into the screen
Starting point is 00:02:23 15 times and I I can read but I have a secondary condition thanks to optic nerve damage or muscular damage I don't know
Starting point is 00:02:39 that causes my eyes to basically shake back and forth constantly unless I really concentrate to keep them still so reading for me is And it causes my eyes to basically shake back and forth constantly. Unless I really concentrate to keep them still. So reading for me is like maybe one or two words a second. And that's where I try to use text-to-speech as an assist. But the goal for me is to not use text-to-speech as much as possible. I shouldn't be relying on it to use the computer, because I still have that little bit of vision left, and I'd like to use it.
Starting point is 00:03:12 And somehow with that, you are a game developer. Yeah. So I learned programming shortly after I was diagnosed with a condition. I was diagnosed at 10 years old in grade 3. And even before the diagnosis, that was when my ability to read pen and paper was starting to go. Like, I could read it if the lighting was good enough. But if the teacher ever turned the lights off i'd be i couldn't read pen and paper so they ended up setting me up on a computer in the classroom right next to the actual smart
Starting point is 00:03:52 board and i would take my notes in microsoft word or smart notebook or whatever i ended up using back then i don't know but either way i ended up using a computer all the time at school. And at home, I ended up getting really interested into PlayStation console modding. And I was also really interested in, like, hacking and cybersecurity and stuff like that, like the Hollywood kind of portrayal of it. But the first line of code i ever wrote was actually html on a playstation portable okay sure that's a new origin story yeah um that that was my start was was literally doing html on a psp and i ended up making this mobile website type thing. I don't know why I called it mobile but like the tool that I used was made for making mobile sites at the time and I ended up putting a
Starting point is 00:04:53 bunch of flash games on it and people in the class saw the website and we would have free time and I would just see people on my website playing Flash games that I put on it. And I'm like, okay, people actually want to use my stuff? Let's do even more of it. Actually, before we get into the games you've actually worked on, what was your favorite Flash game? Honestly, it's hard to remember the names. There's so many that's one of the ones uh in in grade six that i used to play all the time was one called run and then the sequel version run two
Starting point is 00:05:34 uh it's kind of like this pseudo 3d game where you're this little character running through this tunnel and the tunnel has like holes in it and you have to yep yep i do know exactly the one you're talking about yes i i used to really love that one that used to be like a big time killer when i'd be done assignments because by grade four i had the school had given me my own laptop so i was able to like play fly games whenever i wanted if i was done and the teacher didn't care So I spent a lot of time playing Run and Run 2. Bloons Tower Defense, I used to like the original, but there was
Starting point is 00:06:11 like another Bloons type game where it wasn't really Tower Defense. It was more like you kind of aim the arrow at a bunch of Bloons and you try to take as many of them out as possible. I mean, the level completes when you take them all out and you have like like, a limited amount of arrows. I used to like that one. I don't know what it's called.
Starting point is 00:06:28 Then there was this other one that I used to play where it was, like, you have to, like, blow up this bomb type thing to get some robot or something to an objective point, and it was kind of one of those, kind of like
Starting point is 00:06:43 Inkball in Windows Vista. I really liked that one. And an objective point and it was kind of one of those kind of like ink ball in windows vista i really like that one and yeah i could go on and on about all the different flash games i've played but honestly i those are the main ones for me well as for the games that you have specifically worked on then let's move over to that um there are two links you sent me one was for socially distant the other one was for restitch pick whichever one you want to talk about first i'll talk about restitch because it's the one i'm most well known for okay um so a lot of the big driving force for me to getting into game development specifically was LittleBigPlanet. On the PlayStation 3, I used to have LittleBigPlanet 2.
Starting point is 00:07:28 And I remember seeing the trailer for it, and seeing them, like, hell off all these different kinds of games that people made in LVP. People made Pac-Man and Space Invaders and all these different arcade games that I, that would
Starting point is 00:07:44 not have been possible in LittleBigPlanet 1. And I'm like, holy crap, I want this! So I ended up playing LittleBigPlanet. I got it for my birthday, I think in like 2012? And I fell in love with the logic system, and I couldn't make anything useful in it. But I loved it, because it was a way to add interactivity to the level that I just could not do in LBP1. And fast forward nine years, and LittleBigPlanet is...
Starting point is 00:08:22 I don't have it anymore. I have the PS3, but the only disc that I have that was working was LVP3 and it stopped working and I couldn't afford to buy a new version of LVP or anything like that. I came across a project
Starting point is 00:08:40 called Restitched by a company called Trixler Creative. At the time, it was very early on, and they weren't accepting new team members. It was, like, very early. But in 2021-ish, the LittleBigPlanet servers went down because someone hacked them,
Starting point is 00:09:00 because of course they did, and Restitched was looking for new programmers at coincidentally the same time. So I applied in April 2021, and over the summer, I started working to kind of practice what it would be like to
Starting point is 00:09:20 develop a LittleBigPlanet type system. I actually wrote AutoHotKey if it were LittleBigPlanet type system. I actually wrote. Auto hotkey. If it were LittleBigPlanet logic. And the lead programmer. Of Restitched at the time. Raphael. He saw that.
Starting point is 00:09:38 And. He didn't think. I was really up to snuff. But Halston saw it. Halston's like the main guy. He runs Trixel. And he's like, no,
Starting point is 00:09:49 you need to give this blind person a shot. He might not be able to show skills off in a portfolio or anything, but trust me on this. You need them on the team. And then I got the email. And then I am, I did my trial dev for three or for one month at the time
Starting point is 00:10:07 it's actually three months now but I ended up writing the game's audio system that was the first thing that I did and then I started doing some of the level editing tools and then in April of 2022 Raphael
Starting point is 00:10:21 something about his contract with his employer something changed and he could no longer lead program the game and he handed the torch to me and I've been lead programmer ever since and at this point literally based on git status
Starting point is 00:10:38 I have written half of the current codebase which is terrifying. But, like, the game has Steam Workhouse support now. I wrote that. I thought there was something about the game that looked familiar
Starting point is 00:10:56 when I saw the trailer. I don't... The LittleBigPlanet stuff did not click with me, but that makes a lot of sense. Yeah. We don't want to be just like LittleBigPlanet. Sure, sure. Obviously there is- there is some of that DNA there. Mm-hmm.
Starting point is 00:11:12 As it is a 2.5D platformer, LittleBigPlanet is a 2.5D platformer. Sure, sure, sure. Trixel itself used to be a group of LittleBigPlanet creators. Ah. Um. So, like, I was not around when they were but they used to be and so that's where a lot of that dna comes from is a lot of us love little big planet and we want to create that kind of magic for people on pc and you know maybe even people on linux if i can
Starting point is 00:11:42 figure out how to get that working properly have you tried running it through proton and just see what happens or is it just not working well uh i don't know how much i can say because i am a little bit under nda sure sure but i do have a steam deck and the game is installed on it and it does boot okay well that's that's something i'd imagine there would be or if you wanted to go like down the route of getting like steam deck verified there'd be some extra stuff to do but like just having it knowing that it boots on Linux is... That's good enough for the most part. Yeah. And it does run natively under Linux. There's some graphical issues and stuff like that.
Starting point is 00:12:34 But I'm obviously on Linux right now. Sure, sure. And I have the code for the game and the Unity project. And it works. It boots. It runs. You can play it. Right. Fair enough. I just don runs, you can play it. Right. Fair enough.
Starting point is 00:12:47 I just don't know if it's optimized. Right. That's fair. So, as for this other project you have... Socially distant. Like I said, I'm very into hacking and cybersecurity and I've always wanted to make something like Watch Dogs as a kid.
Starting point is 00:13:13 That was another big dream that I had, was making my own brand of Watch Dogs. But obviously, I don't have the ability to do that. I'm one person, there's no way I'm ever coming close to Ubisoft. To be fair, Ubisoft didn't have the ability to make it, and that's why I got fairly downgraded. Fair point, but they at least were able to 3D
Starting point is 00:13:36 model a city. I can't even 3D model a cube. But with Sohli Distant, it actually was in development for as long as I've been programming. Under different names and constant rewrites and stuff like that. It started out as me creating a virtual operating system environment in Windows forms in C Sharp. And that was how I learned how to program
Starting point is 00:14:05 in C Sharp was doing that I would create all these little different apps like a terminal and a file browser and all this stuff and that itself was inspired by another project doing the same thing called Shift OS we don't talk about Shift OS but I ended up in 2017 i got kind of bored with the whole just creating an operating
Starting point is 00:14:32 environment type thing and i wanted to turn it into a hacking game because at that point i had played games like hacknet and uplink and mud and i didn't really like them because they weren't super realistic or challenging. To their credit, they are fun games. They are visually interesting. They have a lot of neat mechanics and puzzles but it's not the type of hacking game that I like that I'd want to play. It's a lot of repeated actions.
Starting point is 00:15:05 Like, most of HackNet early game is just, SSA crack 22, and then port hack, and then wait, and then do your thing, and then disconnect. And it's like, no, I don't want to play that all day. So with Socially Distant, and the earlier version of it in 2017, I wanted to basically tell a story but also kind of
Starting point is 00:15:30 recreate or kind of gamify realistic real life hacking. So in So Highly Distant, for example, I have basically layers 1 through 3 of the osi model of like the internet
Starting point is 00:15:49 simulated in game so like there's a concept of ethernet and wi-fi in the game there's network interface cards and ethernet ports and connections and ip addresses subnets all this stuff so you made wire shock of the game basically yeah it's i i haven't recreated tcp but i actually have my own communication protocol that the game uses in that simulation and it's very technical but what it lets me do is it lets me go even more advanced than a game like hack net where all the computers just have public ip addresses or domain names now you have like corporate networks where you have like one public address with like port forwarding rules maybe port 80 goes to one computer in the network and then your ssh goes to another computer or maybe isn't even open at all uh or maybe it's only available to certain other ip addresses um and there's like the ability
Starting point is 00:16:52 to do vpns and stuff like that in the game simulation and what that lets me do is create missions where it's less about getting into a computer and more getting into a network and getting into the right computer to get the gate or to get the data that you want because if you hack into a corporate website you're probably not going to get their database right away you're probably going to have to move through their network and discover other computers and hack into those and then so yeah that's kind of the big thing of socially distant is making the hacking system more true to real life. And then, of course, with the whole pandemic happening in 2020, that was where the story and the name came from.
Starting point is 00:17:35 The entire narrative of the game is like this massive ransomware attack hitting all of the health care system and stuff like that in the middle of a pandemic and then just spoiler alert you are the one who accidentally launched the malware attack and you're the one as the player who has to stop it um so that's the entire premise of the game is you were kind of tricked into or framed into launching this massive attack on cyberspace and it's your job to clean up the mess and not get
Starting point is 00:18:15 arrested that does sound that does sound fun it sounds like a lot of it's gonna go way over my head but for someone who's interested in That does sound fun. It sounds like a lot of it's going to go way over my head. But for someone who's interested in that side of computing, that sounds like a really cool concept.
Starting point is 00:18:36 Yeah. I'm glad you feel that way, because I struggle with kind of making the game fun to play because obviously being the developer of the game I know exactly how it works and how to use it and how to make things happen I don't know what it's like as a player and I won't know until I get a playtest build out or something to get
Starting point is 00:18:58 people's feedback but I'm glad that I'm able to articulate my idea for the game and have people go, okay, this sounds cool. I don't know if it's my thing, but it sounds cool. That really means a lot. I don't like networking. So I'm not the person who's going to ever be interested in this.
Starting point is 00:19:18 But for the people who are, assuming it all comes together, that does sound like a cool concept. are, assuming it all comes together, that does sound like a cool concept. Yeah, I'm really excited for it to come out. Of course, it's going to be a few years. Right, right. Okay. Well, yeah, considering what you're trying to do, like, how far do you want to go with that? Like, you said you've already implemented three layers of the LSI layer. Like, are you going to be, like, re-implanting, like, a database? Like, layer like how like are you gonna be like re-implanting like a database like what what how because you could go as far as you wanted with this there's got to be a cutoff somewhere though i'm not gonna write my sequel not gonna happen um once you get past layer three
Starting point is 00:20:00 of the simulation um but the application layer is completely gamified. Like, when you go to a website, all it's gonna do is, like, check some metadata in the save file and figure out what Unity prefab to load. That's all it's gonna do. But as far as, like, traversing a network and getting into it, I wanted to have that be super realistic, because I don't want it to just be like HackNet early game where it's press hack super realistic because I don't want it to just be like hack net early game where it's press hack and wait I don't want that I actually want you to like figure out I want you to explore the networks in the game's world is what I what I really want yeah that that does sound really cool um I might try it when it comes out eventually i i said i am not the audience for
Starting point is 00:20:49 it but i know there's no i i know there are people out there that enjoy networking clearly you enjoy like understanding the concepts of networking otherwise you wouldn't have sat down and wrote a game like this uh so i'm sure there are other people out there that feel very similar about that it's it's funny you say that because not just networking i didn't tell you obviously i i do enjoy understanding how the internet works and what goes on behind the scenes but i also enjoy understanding how operating systems work and i i've wanted to build my own os in the past but that's just not going to happen.
Starting point is 00:21:27 I'm not going to be the next Linus Torvalds. Not in the cards for me. But I do like implementing a lot of those concepts that you see in something like the Linux kernel. For example, I have a full process tree and user system in the game so that you actually have to do a privilege escalation. If you hack into a computer, you will not get root.
Starting point is 00:21:53 You have to get root. So that's part of it. And then obviously when you're using the in-game OS, you're actually using a shell that is, for better or for worse, a re-implementation of that. Jesus Christ. Yeah. I do believe I have overwhelmed Brody Robertson. I'm just impressed that you decided to go
Starting point is 00:22:25 make something like this, because as you said, yeah, a lot of the... There are some hacking games that go very deep on specific things. I know there's a game I'm blanking on the name that goes really deep on assembly, but I don't know of one that goes deep on network
Starting point is 00:22:41 infrastructure and network configuration. I'd say the closest one that I can think of that goes deep into it is uplink that came out in 2001 and back then people were still like mostly on dial-up right and you can tell that it's from 2001 the UI looks like it's from 2001 and the game renders it like 800x600 and a lot of the hacking is based around dial-up modems and traversing phone lines
Starting point is 00:23:15 and stuff like that it's a little dated just seeing the pictures of the people in here makes it clear how dated it is like on the on the scene page there's this dude that has like blonde frosted tips
Starting point is 00:23:30 this is beautiful that's unfortunately I have no idea what you mean because I'm blind yeah that's fair um do you know what we should talk about what the accessibility stuff Yeah, that's fair. Do you know what we should talk about? What?
Starting point is 00:23:48 The accessibility stuff. We're like half an hour into the show. We haven't even touched on that yet. Okay. Yeah. So, obviously, I'm doing this blind. And it's definitely a challenge. I'm used to it being a challenge because whenever i was being given school computers they had them like group policy to hell to the point where you couldn't even change the desktop
Starting point is 00:24:14 background which also meant you couldn't activate the high contrast theme without tricks uh and abusing kind of flaws in Windows XP to get it. So I'm used to really struggling with accessibility tools because at the time I just didn't have access to them. Like they were blocked away by group policy. But once I got into high school and I had my own laptop running Windows 7, I had the ability to do the Windows Aero stuff, so I could use the screen magnifier and the color inversion,
Starting point is 00:24:51 and that really changed things for me. But back then, things were still light mode by default. Right. Like, you wouldn't download a program for Windows and have it be dark mode. That was not a thing. Windows and have it be dark mode that's not a thing Windows 10 screwed that up because now everything can be dark mode except when it's
Starting point is 00:25:12 not because it's a dialog box from 1994 Windows is a mess now for accessibility not because the tools are bad like the magnifier in Windows is the best magnifier of all of desktop operating systems. I am very happy saying that. It's not great, but it's the best we have. Have you tried Mac OS? I have no idea what the experience is like
Starting point is 00:25:38 on that side. I ended up buying a Mac Mini to do restitch testing on because we also want to support Mac. And the magnifier on there works exactly the way I expected to, except for one little issue. The further you zoom in, the slower your mouse cursor moves. Because what Apple's trying to do is make it so that the mouse is moving across the physical display and not the virtual workspace. Right. So they slow your mouse movement down as you zoom into the screen, and there is no way to turn that off. I was going to say, I understand that as an option, but it shouldn't be the only option. Yeah, it's right up there with proportional zoom. It should not be the default, but it should be an option we definitely get to that um i want to talk about windows first though
Starting point is 00:26:31 so yeah yeah so windows is it was great windows 7 and windows 8 even like i loved windows 8 um i i know it's controversial with windows 8 because that was when they added the metro ui and a lot of stuff became like these full screen apps that nobody could figure out how to get out of like back then it was easier to quit vim than it was to quit the windows store um but for me i already use everything basically full screen all the time um because i'm zoomed into the screen and I don't always have my taskbar visible so I'm very used to having everything full screen
Starting point is 00:27:10 and doing alt tab or whatever to switch between things. So Windows 8 was fine. I loved it. Windows 10? I first started getting turned off of Windows when they actually broke magnifier in Windows 10 RTM. There was this bug where if you opened a UWP app, which at that point was like half the operating system,
Starting point is 00:27:37 even settings was UWP, the Magnifier would completely glitch out and the entire screen would go black except for the little area of the screen where the UWP app would be rendering if it wasn't zoomed in. And it made my computer literally unusable. And then Windows 10 Threshold comes out
Starting point is 00:27:56 and it fixes it a little bit, but it breaks it some more and now everything's like open direct X triangles stabbing me in the eye. They fixed it in creators update, but they should have not broken it in the first place. And then I think it like fall creators update,
Starting point is 00:28:15 they did some overhaul to the magnifier UI and they kind of made it more of a UWP type app. Before then it was just a little window that popped up when you opened it and you'd have your zoom in your zoom out and then some options for like color inversion stuff like that but when you're not using it it gets out of the way and turns into a magnifying glass that follows you around unless you minimize it in which case it stays in the taskbar and you can open it whenever you want but as of i believe fall creators update once they did the uwp overhaul or whatever it stopped doing the magnifying glass thing
Starting point is 00:28:51 and it just follows you around everywhere as the top most window and at the level i zoom in which is like 1600 in windows the magnifier takes up half my screen right so I have to minimize it otherwise I just cannot see anything because there's a magnifier window in the way Windows 11 this is when I started needing to use text-to-speech
Starting point is 00:29:20 for a lot of things because of the condition where my eyes ache I don't use Windows Narrator there was a time where I needed to text-to-speech for a lot of things, because of the condition where my eyes ache. I don't use Windows Narrator. There was a time where I needed to, because of a surgery I had on my eyes last year. I needed to recover. I was completely blind.
Starting point is 00:29:37 For those of you out there who are completely blind, I know what it's like. It's not fun. But the text-to-speech voice, Microsoft David Desktop, they've had it since Windows 8. And in Windows 8, the only thing wrong with it was that it mispronounced Linux as Linyux. That was the only thing wrong with it. Other than that, it was perfect. And Windows 10, they fixed the Liny linux bug so it pronounces linux properly windows 11 every update they hamstring the speed api sappy engine little by little every update
Starting point is 00:30:18 now now it cannot pronounce conversion directly what i did I did a test on your Discord server. I typed out the word convert, converting, converted, and conversion. I read it with eSpeak on Linux, and it pronounces it convert, converting, converted, conversion. Windows, it goes convert, converting, converted, conversion. And I'm like, what the hell? Okay. Why does it pronounce it like that? I get the Linux one, but like, how, how, how do you not handle a word that, like a standard English word?
Starting point is 00:30:57 Especially when it handled it properly in a previous build. Like, what, what the hell? Um, my theory, now, obviously obviously i don't know what the hell is going on at microsoft and i don't care um but my theory is that when you open windows narrator what it does now is it prompts you to download a bunch of natural sounding voices to your computer that i guess are like built on AI models. And they sound okay. But my theory is. That they're kind of hamstringing.
Starting point is 00:31:29 The old sappy style. Roboty voice. That Microsoft David Desktop. And Microsoft Sam and all those are. They're hamstringing them. To kind of subtly influence us blind people. To go get the natural sounding voices. So they don't have to maintain.
Starting point is 00:31:44 The freaking narrator voices from the past anymore. And I hate that. Like, stop doing that, Microsoft. If that's what you're doing, I will find you. Um. I don't like how they make me download natural sounding voices. Because first of all, the
Starting point is 00:32:01 first thing that it does is it tries to paint the voice based on like detecting tone or something like that like sometimes it'll swap over to a female voice or a different accent or a different language if it detects that stop it if i'm reading source code and it interprets it as happenies like i can't read that code anymore like just use the robot voice let it spell things out that it doesn't recognize or skip over like symbols and stuff like that and stop with the natural sounding voices first of all they take up disc space that they don't need to take up. And second of all, the point of a screen reader voice is not to sound like a human being.
Starting point is 00:32:48 It's to be understandable and consistent and consistently working. It's literally your eyesight at some point. So it needs to work. It cannot rely on the internet, because if your internet goes down, you're fucked work it cannot rely on the internet because if your internet goes down you're
Starting point is 00:33:06 fucked right it cannot rely on like ai models because ai models hallucinate they make mistakes and then you end up with convorhan or you know reading c-harp code as rotten like come on stop the ai i just want my robot-y voice, and Linux gives me that. How well does the TTS work across applications on Windows? Are there any places where you find where it just doesn't do anything? How does the TTS actually function for you? So, like I said, I try not to use narrator sure i i try to only use text to speech as an assist um so in discord there's a feature where i can right click a message and hit speak message and it will go through narrator uh there's some hacky stuff you got to do to get that working
Starting point is 00:33:57 on linux but on mac os and windows works perfectly um but when i had to use narrator the UWP apps mostly worked fine browsing the internet no like if I tried to use google docs no way
Starting point is 00:34:21 even with the text to speech support turned on in google docs options it just would not work with narrator um or if i tried to like browse a very heavy javascript website for example right none of that would work um even using narrator in discord was inconsistent because um because typing in the chat box, it's supposed to narrate every keystroke. So if I type in A, it'll say A. And the idea behind that is, well, if you're fully blind,
Starting point is 00:35:00 you don't have the ability to proofread your text because you can't see it. Sure. So it's nice to be able to hear what you're typing as you type it. And it's supposed to, when you hit the space bar, read the previous word and tell you if there's a mistake. But I type fast enough to crash that.
Starting point is 00:35:17 So it gives up until I restart narrator. Alright. Alright. Sure. Yeah. So, you were saying about the natural sounding and the robotic voices, so
Starting point is 00:35:35 you have a preference towards the robotic voices then? Yeah. Do you feel like the... Sorry, I'll let you say what you're going to say in a sec, but I was going to ask, do you feel like... Sorry, I'll let you say what you're going to say in a sec, but I was going to ask, do you feel like the natural voices kind of sound uncanny, or is it just the fact that they sometimes just make things up?
Starting point is 00:35:55 It's both. I find them really uncanny. For me, I have selective hearing, and when I'm using a screen reader, I don't want to hear a human. I want to hear a screen reader and they have distinct voices um i don't want it trying to infer tone like maybe do the little rise in your speech when you're reading a question mark like that's okay sure but like don't try to detect language and stuff like that and tone i just wanted to read the words and i wanted to read it as fast
Starting point is 00:36:25 as possible with no lag and the roboti voices are really nice for that because they've been pretty much the same since 2001 like they can run on an ancient pentium and read perfectly fine whereas the natural sounding voices not only are they very uncanny but they they're more intensive on the system so there's a delay between you actually telling it to read something and it reading it because it has to process everything a lot more and i don't like that i just want it to work right so you're also saying before that um you don't like relying on the tts at why why is that because a lot of apps are broken and i still have site left um i i just tts is there i like it to be there and functioning when i need it like when i'm reading long paragraphs that's where i struggle with because it genuinely and functioning when i need it like when i'm reading long paragraphs
Starting point is 00:37:25 that's where i struggle with because it genuinely saves time if i right click on a message you send me two seconds listening to it versus two minutes trying to read it i'll go with the text to speech but if i'm just navigating a context menu or a dialogue box and the set of options, or I'm searching for a program, it's one or two words, maybe three or four, I can read that perfectly fine just zoomed in. So in those cases, it's actually faster for me to not wait for a text-to-speech voice to figure out what I'm hovering over, what I've had selected, and maybe some GUI toolkits don't have accessible objects defined so the screen reader just doesn't see them.
Starting point is 00:38:12 I don't want to deal with that. But I also want my text-to-speech to be there if and when I absolutely need it. Right, that's understandable. Is there any other tooling on windows that you rely upon using um stuff i didn't write on my own no i'm just windows magnifier um i use the sappy apis directly in a lot of my own tools and then other than that it's mostly just the discord speak message feature which is a discord thing right um and when i'm browsing the internet i have i use google chrome um and there's an extension called i believe like read and write text to speech for chrome i think it also has a
Starting point is 00:38:59 firefox version um or it might be read aloud i can't remember i've tried two of them um and what it lets me do is it high it lets me highlight text and and i right click it and there's an option that says read aloud selected text and that basically makes the internet usable for me um so that's basically all the tooling that i would use on a windows system is mostly default stuff and stuff i wrote myself what's this uh stuff you wrote yourself what have you actually got um so far i have um i have a plugin for the pet brainsins IDEs. Uh, they're tested, or it's tested on the IntelliJ IDEA base, and then JetBrains Rider.
Starting point is 00:39:49 And, um, it's a plugin that lets me do exactly what the Chrome extension does, except instead of highlighting text on a webpage, it's highlighting code in the code editor. Um, so I can highlight code or comments and stuff like that and right-click it and read it aloud. And I'm so familiar with C sharp that I don't need to hear a lot of the symbols like the curly
Starting point is 00:40:11 braces and stuff like that to understand what your code is doing because I still have I can see the color and the indentation and stuff like that and I have like my own style guide for how I write code so for reading like variable names and function names and stuff like that i just wrote a plugin that lets me highlight them and read them and then i wrote uh because windows doesn't have like an easy command line interface for the narrator or the sappy voices i just wrote a c-harp app that uses dot net 3.5 and the speech synthesizer library and it reads stuff from standard input and sends that straight to SAPI
Starting point is 00:40:51 and then that's what my read aloud plugin for writer sends to. So it's very specific to my computer. And the reason I did it that way is because I originally wrote that plugin for Linux using eSpeak. And eSpeak is a command line utility. Yeah. Was there not any existing plugins for TTS in the JetBrains tools? Because I assume writing your own wasn't the first thing you would decide to do.
Starting point is 00:41:22 I've tried to look for them. you would decide to do? I've tried to look for them, but there is a toggle in the user interface setting that enables screen reader support. But it doesn't work with Windows Narrator in my experience.
Starting point is 00:41:37 So that's not helpful. And I tried to look for plugins that were just simple highlight text and read it aloud. Mm-hmm. Couldn't find any. Hmm.
Starting point is 00:41:49 Okay. Yeah. Yeah, okay, I guess that's good enough reason to write your own then. Yep. So, you mentioned, um, theming. Most people when they have a theme for like a text editor, a coder, or whatever, like they do it because they think it looks cool what specifically like is your theme like i i want mine to look cool sure but i also need it
Starting point is 00:42:14 to be very high contrast i don't like the stereotypical blind person high contrast theme that you get in like gnome or windows and stuff like that it looks horrible like i've never seen actually icon yes it's imagine windows but like they tried to make it hollywood hacker and failed miserably that's what it looks like to me right it's a very very very functional theme as opposed to anything trying to look good for anyone just listening um basically the entire background is black the header is white it still has really tiny text for some reason which i guess you know if you don't read about that yeah just windows uh and then any of the not any okay this actually a really inconsistent theme as well. Once again, Windows.
Starting point is 00:43:06 A lot of the buttons are highlighted in fluorescent green, except the buttons to close the window, which I don't know why they're not highlighted. And then on the web, it looks like all text just gets turned to yellow. Yeah, and discards the same way. This is very inconsistent. What is this?
Starting point is 00:43:26 It's... Yeah, this is... turned to yellow. This is very inconsistent. What is this? There's a lot of thick white or whatever colour it is borders that just look overwhelmingly bad. And my hate for high contrast themes like that doesn't just come from the way they look. It comes from
Starting point is 00:43:42 back when the old Windows Classic engine was still a thing in windows 7 they took it out in windows 8 and they redid the high contrast theme and haven't painted it since um but in windows 7 if i enabled the high contrast theme it would revert to the classic theme system which turns off the desktop window manager which makes the windows magnifier non-functional because it relies on the dwm it relies on the compositor to do the zooming oh my god so like i cannot use this it is not possible i cannot use high contrast and zoom into the screen at the same time they fixed it in windows 8 but they didn't make it look any better jesus christ
Starting point is 00:44:29 incredible design from microsoft yeah so my my preferred theme is more of a oled style dark theme because with the the OLED screens. The big thing with them is. They have like infinite black levels. Because when you render black on an OLED screen. You're turning the pixel off. Right. And.
Starting point is 00:44:58 So for Discord. I have. On mobile I use the Discord AMOLED dark theme. That they've had in experiment. For like years. They keep breaking it, but when it's fixed, it works fine. And then I willingly and openly break the Discord TOS by using custom CSS to do the AMOLED theme on desktop. Because a friend made it for me. That's bad.
Starting point is 00:45:22 And it's open source, too. Yeah, how could i make my program easy to see how could i how dare i but anyway i haven't been banned for it yet but yeah i do that um and then for the antbrains ide's i i use a theme called Darkula Pitch Black. And yeah, it's basically the default Petbrain's Idea theme,
Starting point is 00:45:54 but instead of a dark gray background, it's black. And a lot of the elements are, like, brighter. So it's kind of this mix between a high contrast theme and actually looking good yeah the only thing that i don't like about it is the actual syntax highlighting theme the um the highlight for what line you're on looks a little too bright to me and it's a little low contrast
Starting point is 00:46:17 but i can obviously edit that sure sure yeah um yeah i'm trying to find a good picture of it but the jet marines website is terrible okay okay to anybody out there who makes a website if i click view the image in a new tab can you not make it so it tries to download the image don't do that that's bad web design. Just stop it. Oh, man. I hate these people so much. Blame... Don't necessarily blame Pet Brains for that. Blame Chrome for that. Because there was a recent update where they completely changed how downloads work.
Starting point is 00:46:56 It used to be... And it screwed up my muscle memory for months. It used to be like, you download something and it pops up in the bottom left. And then like, it shows the progress and you can click on that to open it now it like goes into a drop down menu sometimes it doesn't even show up and a lot of times if it's a recognized file type like an image it just downloads it and immediately opens it in the photo viewer and i hate it like just put it in the down or in the bottom left and let me deal with it when viewer, and I hate it. Like, just put it in the bottom left
Starting point is 00:47:26 and let me deal with it when I want to deal with it, okay? Yeah, yeah. So stupid. So, okay. So we know what tools you use on Windows. We know what the experience is like on Windows. Yeah. What about the Linux side?
Starting point is 00:47:41 I know right now you're using KDE, but you have messed around with GNOME as well. Yeah. So obviously right now I'm using KDE. I've messed around with GNOME. I've messed around with Cinnamon. Okay. XFCE. I've used
Starting point is 00:47:58 Mate in the past. And I've tried to use Qtile and Fluxbox. Okay. Um, Qtile and Fluxbox, literally impossible to use. Literally impossible, because they're X11 window managers, and you don't get a compositor by default, and there's no standalone compositor that I know of that can work with a Tyler. Or a standalone WM.
Starting point is 00:48:26 That lets you zoom into the screen. Maybe Pycom can do it with a plugin. Yeah I don't think Pycom. I actually don't know. I've never heard of it. But. Even if it could. It's completely moot.
Starting point is 00:48:41 Because I need my computer. To be. Usable. For me to set that up. And without the zoom feature, it's not usable, so I can't set it up. Right, you're not going to get too far with the TTY. Yeah. Especially when the NVIDIA drivers render the TTY at your monitor's native resolution, which for me is 4K. Ah. You're not gonna read that! I think there's
Starting point is 00:49:09 probably like a config- I know there's a way to change it, but to change it you also need to be able to see it. Which is a problem. Yeah. Um, so obviously using the TTY, no. Uh, using a standalone X.Org window manager, no, not possible.
Starting point is 00:49:28 Mate and XFCE, I think they have lightweight compositors built into them. I think, actually, I think Mate is still using Metacity. And then XFCE has XFWM, which I think has a Zoom feature. The problem is they're very limiting in what you can do with them. And so for those, I used to use Compiz. And Compiz works. But Compiz is also Compiz. Right.
Starting point is 00:50:02 So it crashes a lot. It's very hard on your system and it's a compass um and the way it handles multi-monitor zoom is very peculiar because um it treats each monitor as its own workspace which sounds good and on paper but then moving between your monitors when you have them at inconsistent zoom levels is really tanky. So I stopped using that. Cinnamon and Gnome,
Starting point is 00:50:34 I believe they both use Mudder. I could be wrong. I know Gnome does, but I don't know about Cinnamon. But either way... I believe it's a fork of Mudder. Well, either way, fork or not, they both have this really nasty bug zooming in in non-proportional mouse movement mode
Starting point is 00:50:55 where when you first enable it, completely fine. If you have a single monitor, completely fine. If your monitors are lined up perfectly with the default settings, completely fine. But if you have multiple monitors, and any one of them you reconfigure, like you move it around, you log out, and it doesn't matter if you're an X-Org or Wayland, you log out, you log back in, and it'll work for, like, the first few seconds. You'll be able to move your mouse, zoom in, and everything will work. And then, I don't know what it does,
Starting point is 00:51:37 but out of random, it just completely gives up. And it stops tracking the mouse you cannot move your mouse, you cannot pan the zoom area and if you zoom in and out you will start writing garbage to your video memory and the system becomes literally unusable until you disable zoom and the only way
Starting point is 00:51:59 to get around it is disable zoom get someone with eyesight to go into the settings, turn off or turn on proportional movement, turn zoom back on, then turn it off. And then it's fine until you log out again.
Starting point is 00:52:16 That would be nice. If there was a command line interface to just enable it, so you can just hotkey it when it breaks. There is, but there is A settings that you can, like, mess around with. Is there a G setting to do that specific thing, though? Yeah, there is.
Starting point is 00:52:31 There is. It just doesn't work if you do it from a script, because the script runs too fast. Okay, right. I have tried that. And the only reason that I know that it's A settings is because Gnome, to this day, does not have the ability to set a hotkey for toggling color inversion.
Starting point is 00:52:56 I had to write that myself. What? They have the key settings key for it. They have it in the deconf editor. It's just... Not in the UI. What? Why? Gnome! Is this... And it's the same thing. Actually, I kind of lied there. It's not that... same thing uh actually i kind of lied there it's not that uh they just don't have a uh a key bind that you can set for color inversion there is toggle for it in the ui so i'm mistaken there
Starting point is 00:53:32 what i was thinking of there was uh focus tracking and carrot tracking focus tracking is when you have an application that pops up and like a button goes into keyboard focus or a text box goes into focus the zoom is supposed to like warp over to where that thing is right right some people might like that i hate it because anytime there's a notification or something that pops up it tries to grab focus and it zaps me away from whatever i'm doing i hate it okay and then carrot tracking is where, when you're typing, the zoom area follows the text cursor. And I also don't
Starting point is 00:54:10 like that, because whenever I'm typing, I don't... I obviously want to be proofreading as I go, but I need to keep the zoom area still, otherwise I lose focus, and I have to, like, force my eyes to refocus, and it's a mental nightmare for me. So I don't like having those.
Starting point is 00:54:26 Gnome has them on by default. No user interface to turn them off. You can do it in Deconf Editor. You can do it with any settings in the command line. But they didn't bother to put toggles in the main accessibility settings.
Starting point is 00:54:44 Gnome! Well, Gnome, at least, the main accessibility settings. Mm-hmm. GNOME! Well, GNOME, at least, people describe it as a platform that really cares about, like, fixing accessibility problems, so hopefully someone, like, can address that? I hope so.
Starting point is 00:55:00 I've obviously tried to report the really annoying bug where like the graphics card just starts spewing garbage into the VRAM when you try to zoom into the screen it never really went anywhere because what happened was I was on Ubuntu
Starting point is 00:55:16 22.04 which was like GNOME 43 and they took a look at my mother version and went this is too old go away do you know what do you want me to do do you know because i recreated it on arm right okay oh so it does occur in the new version then yeah yeah and i think it still does to it to this day and i don't want to test because i have a functioning system and i don't want to end up with a non-functioning system understandable yep functioning system and I don't want to end up with a non-functioning system. Understandable. Yep.
Starting point is 00:55:48 And then there's KDE. Yes. I owe you a hug. Okay. First and foremost. Because yesterday I made a video showing off this one subtle little bug in KDE. Where the zoom works perfectly the exact way that I want it to.
Starting point is 00:56:07 Just the way that it figures out when I'm pushing against the edge of the screen is a little bit buggy and does not account for multiple monitors that aren't aligned. So I made a video demonstrating that. Now in the video I said that I don't know how to use Bugzilla. And I don't. Bugzilla's a mess. But I forgot to mention the fact that I actually reported that bug to submitted the bug, I didn't have any indication that the submit was actually successful. I didn't get an email or anything to tell me, hey this actually went through. This isn't a you problem, this is just Bugzilla. I don't like Bugzilla either. So a couple months later um i forget about it because i'm back on windows 11 um and a few days ago uh preparing for the podcast i switched back to linux because i want to be immersed in the current state of things and figure out if some of these bugs i've had in the past are
Starting point is 00:57:20 fixed because i don't want to describe a bug that's happened in the past that has been actually fixed sure um because that's not fair um well as a developer i know that's annoying um but um i the bug was still happening and i'm like oh my god they still haven't fixed this so i wanted to make that video. Because in the bug report, I didn't have any screenshots or any way of actually showing what's going wrong. Because I couldn't take any at the time. If I tried to take a screenshot of the bug in Spectacle, it just does not show up. It actually shows the area of the screen that I can't see. So I can't do that.
Starting point is 00:58:07 And obviously using a phone to take a screenshot... I don't like using my phone for anything other than like a phone. It's very difficult and I don't know how to get the picture off my phone and onto Bugzilla. And I couldn't have recorded the video at the time because OBS was a lot more unstable for me back then and the mistake was that i was using the arch linux package of it i was not using the flat pack flat pack works great now it does yeah i keep telling people stop using the arch package the arch team does not know how to package it properly yeah flat pack works wonderfully it has trouble finding my nvenc encoder, but I'm fixing that. To be fair, that's OBS.
Starting point is 00:58:47 Probably not using Nvidia. I've had the same thing happen with my AMD encoder as well. That's not, that's just an OBS problem. But yeah, so obviously the bug report didn't have any visual, like, any visual description of this is what's happening it just went by my text and how to reproduce it so I make that video I send it to you you watch it which already means a lot to me
Starting point is 00:59:15 and then you post it on Mastodon which I completely didn't expect this is why I owe you a hug and I wake up at like 6am this morning to an email from bugzilla of and i sent you a picture of it it was kind of truncated because it was my notifications but oh i i had it going through the screen reader and someone else reproduced the bug and and the issue got reopened and that's how i got reminded that i actually made
Starting point is 00:59:49 that bug report in the first place right and then i hop on a mastodon and i find out everybody's like yelling at you for posting the video to mastodon but not making a bug report to be fair gnome developers are yelling at me, now I have many opinions, this look, the person was angry at me because I posted a video about an issue instead of making a bug report about it I'm just gonna say it, I said it
Starting point is 01:00:17 on mastermind, I said it on twitter bugzilla sucks it is a terrible way to report bugs, please, for the love of god stop using bugzilla i get why users go to reddit to complain about something because it is so much easier to do that i don't want to make a bugzilla account i want to get an account on like your bugzilla and then someone else's bugzilla let why okay just one basic thing why can I not sign on with my GitHub account? Just a basic thing.
Starting point is 01:00:47 That'll make it a lot easier. I've set up GitHub OAuth for Trixle. It's like two minutes. That's one thing. Second thing, the interface is disgusting. And KDE's is especially bad because they have like 30 different categories for every single different product they have,
Starting point is 01:01:03 which makes it even worse. But I get why people just go to Reddit to complain about stuff because it's easier because reporting bugs to kde reporting bugs mozilla reporting bugs to red hat is disgusting i hate it and i don't like doing it i will do it because i know how to do it but if someone doesn't i get why they don't want to yeah and i even went through the trouble of creating the account and figuring out how to submit a bug. And it went nowhere until I made the video and you posted about it. Yeah. And I don't understand why people were giving you crap over it.
Starting point is 01:01:36 Because I made the video. Yeah, I don't know. You just posted it. I literally did. If anything directed at me, Tell me to link the bug reporter to make the bug report. Do you want to know the funniest thing about it? What? The KDE developers that follow me were like,
Starting point is 01:01:52 they liked and reshared it. The people I was trying to get the attention of, they were like, oh, okay, thank you for the bug report. It's the people that had nothing to do with it. They were the angry ones. So the KDE guys are like, oh, fuck, we might want to fix this. This is a pretty, it's subtle, but it's a bad accessibility bug.
Starting point is 01:02:11 But the GNOME devs are like, this is not the way to do it. Use the bug tracker. Yeah, pretty much. GNOME, I'm coming for you. You have your own bug. To be fair, they do use Git gitlab which is a lot nicer yeah but also i still remember the gnome one that i reported i have the bug on gnome gitlab i'll have to find a link to it where the one with the zoom kind of glitching out my graphics card it also went
Starting point is 01:02:39 nowhere i don't think anybody's looked at it other than to tell me, stop using Gnome 43 on Ubuntu. Has anyone actually had any discussion on this bug you sent me? Or is it just reopened at this point? Um, I, someone else obviously was able to reproduce it. They're the same person that told you on Mastodon that they did.
Starting point is 01:03:00 Um, and there was another post. I don't know if the post was like from the time that I posted the bug report or if it was recent but someone else actually went through and
Starting point is 01:03:14 said okay this is like kind of an unfortunate bug with how KDE works and how the Zoom plugin works and like here's how you work around it basically they said use proportional or centered mode or or move your mouse to the upper monitor that you can actually pan up on and then move it back but both things that i demonstrated why i don't want to do in the video by the way yeah okay so there are multiple ways okay actually explain how you use the zoom and then how the default works and why that's bad.
Starting point is 01:03:49 Okay, so the default with KDE is called proportional mouse movement. Basically what that means is as you zoom into the screen and move your mouse around, the zoom area follows the mouse cursor. So if the mouse is in the top left of the screen, the zoom area is in the top left of the screen. If the mouse moves one pixel down, the zoom area will move one pixel down. That's okay for navigating the desktop and getting to the setting to turn it off.
Starting point is 01:04:29 Because what I do is I set it into push mode, and this is how it works on Windows and macOS by default. Actually, macOS, I think it's also a setting you have to set. I think they do proportional by default. But anyway, it's still a setting on there. And it works so well in push mode that i don't even bother to care about it um but on windows is the default to be push mode and the way that works is when you move your mouse the zoom area does not move unless you're pushing up against the edge of one of your monitors and it will move in the direction you're pushing and this is a very natural way to do it, which is probably why it's the default
Starting point is 01:05:05 on Windows. Because if I want to move up, I just move my mouse up and keep going up until I've moved up enough. If I want to move down, I move my mouse down and keep going down until I've moved down enough.
Starting point is 01:05:21 It's really natural. And I've been using it that way for the better part of 15 years. I'm not hating my way of using Zoom. I'm not relearning it. And the reason that I prefer it to things like proportional or centered or any other kind of mouse tracking is
Starting point is 01:05:41 whenever I'm reading, a lot of times what I will do is I will pan the zoom area over to where I want to read. And then I will hover my mouse over it to give my eyes something to focus on. And then obviously the mouse cursor is now in the way of what I'm trying to read. So I need to move it away.
Starting point is 01:06:06 And off screen or, you know, into some area where it's not obstructing the text. Push mode, I can do that perfectly because as long as I don't touch the edge of the screen, it won't move. But in the other modes, obviously the moment I move the mouse, the zoom area is going to move. So if I try to move the mouse away from the text I'm trying to read, now the text is gone. Right. So it's kind of like... I guess a good way to picture it for someone who's just using a desktop normally would be
Starting point is 01:06:37 imagine you have a window... so proportionate was imagine you have a window that is glued to your mouse and whenever you move the mouse, the window going to move around whereas with uh whereas with the um push push mode it will move when you move the mouse to the top of that window or to the sides of the window i'm assuming centered is the same as proportional but keeps it centered on your mouse? Yeah. Yeah. It depends. There's two variants of centered mode. There's, like, hybrid proportional, which is where, in most cases, the mouse stays in the center of the screen. But when you get close enough to the edges of the workspace or the corners of the workspace, then it will go to proportional mode,
Starting point is 01:07:29 just to make sure that you don't end up seeing the black void that is the outside of your screens because on a lot of operating systems or graphics card drivers that just causes a lot of glitches because either there's a black void or particularly on windows um you will end up with just seeing garbage video memory or remnants of your desktop background from a previous frame and it's really trippy. The hybrid proportional mode is kind of designed to make centered mode work with that and work around that little issue
Starting point is 01:07:58 but then there's full centered mode where no matter where you move even if you've got most of the black void on your screen, your mouse cursor will be in the center of the screen. So help you God. I've not used any of these modes myself, but if I'm just, like, seeing how you use it here, I probably would use push mode. Push mode makes the most sense to me.
Starting point is 01:08:23 And, a thing about push mode but i don't know if this is possible but a part of me would want it to be possible to control it with like my uh my arrow keys just be able to like oh yeah that's that's that's totally possible on a lot of magnifiers even a windows i believe there's a setting for it where you hit like the windows key or some other key and then you hit the arrow keys and you can move in that direction i don't personally use that because i'm so used to having one hand on the mouse and one hand on the keyboard but it is possible and it's very natural i would imagine if you were like uh i i could see someone using that especially even if they don't need it for accessibility just they have a 4k display because 4k displays are just really stupid like they genuinely don't make any sense to use
Starting point is 01:09:06 unless you have like 200 zoom minimum yeah you either need 200 zoom and really good eyes 1500 zoom in my eyes or you need dpi scaling and realistically dpi scaling to this day is still very broken yeah i think mac os is the only os that does it well, specifically because they have such a limited range of DPIs they need to support natively. That and macOS is very big on you use our UI toolkit or you fuck off. Yeah, pretty much. Yeah, yeah. Or you make your toolkit look like ours. Like, just make it fit with what we're doing, otherwise we do not care at all. Go away. Yeah. Otherwise, we do not care at all.
Starting point is 01:09:45 Go away. Yeah. Okay, so, yeah. Go on. And then Windows, I was going to say, and then Windows is just a complete mess because they have, like, 15 different UI frameworks. So I had a look at this bug report here, and it seems like there's some discussion going on. It seems like someone might
Starting point is 01:10:06 possibly have a solution that might... What's the username of that someone? Is it the Plexger? Is that... That is me! Oh, well, yeah, okay. I did that right. Oh, you have a... Okay, you have another username. Okay, you
Starting point is 01:10:21 have a possible solution, assuming you know how the code base works yeah i i actually someone someone in your discord server actually looked through the kwin source code and found the part of the code that handles push movement in kwin and i looked at the code and you know i i obviously am a programmer and and that's probably C++ or C maybe? It's C++. But it's still, it's very close to what C-Harp looks like, because they're not using a whole lot of advanced C++ features. So I looked at that code in my head, and I'm like, this is C-Harp? Let's read it as if it's C-Harp.
Starting point is 01:11:02 There's the bug! harp let's read it as if it's the harp there's the bug and then i did that right up um of like how to possibly fix it and you know what's exactly wrong with the code so that was me the story behind that username is it's based on one of my emails i have like four different email addresses right well hopefully this problem actually gets dealt with then. Hopefully, because I really like KDE. I mean, the default KDE workflow is not for me because it's very Windows-y. And I don't want to use Linux to use Windows. The KDE devs are not... I've brought this up to them so many times. They do not like that comparison.
Starting point is 01:11:49 We're doing something completely different. this has nothing to do with windows windows is actually taking stuff from us like i'm sure they are i'm sure and i'm sorry kde but i i love you guys but kde5 kind of took the super bar idea from windows 7 we had it in 2009. I know they don't like that comparison, but just like Restitch being compared to LittleBigPlanet, there's no way around it. And I just don't like that workflow, not because it's a bad workflow.
Starting point is 01:12:19 A lot of people prefer Tylers. I get that. I understand how Tylers are useful to a lot of people prefer tilers. I get that. I understand how tilers are useful to a lot of people. But for me, I need a floating window manager, even if I use everything full screen. But what I don't like is I can't do a Windows-style super bar because it's all icon-based. And a lot of these icons, unless I zoom zoom really far in are complete blurs of color for me and i can't tell them easily apart um and that's even worse with minimal design i don't like minimal icons um and i don't like the newer windows 11 style icons either because they're a
Starting point is 01:12:57 lot of color um but what i'd like to have is I'd like to have my app launcher type thing on the meta key and then next to it I usually have a global menu and then I'd put my system tray next to that in place of where you would have
Starting point is 01:13:19 a taskbar. I know that's weird but the system tray is more useful for me than the taskbar. And then I'll just have a gap and then the date and time. That's what I want. And then I just switch my apps through either alt tab or run menu, like maybe Rofe or D menu or something like that, where I can type in the name of an app I want to go to and switch to it. And that's why I also really wish Gnome didn't have that bug. Because Gnome does that by default.
Starting point is 01:13:46 You don't have a taskbar by default. You have a dash. I mean, I do turn on dash to dock. But when I want to switch to a program, if I have a terminal open and I hit the super key and type terminal, it opens the existing terminal. Because most of the time, I only need one terminal. I don't need one terminal. I don't need 15 terminal windows open. And then with Windows and KDE right now,
Starting point is 01:14:11 that ends up happening. I will have, like, 5 to 10 instances of console open, and, like, 4 Chrome windows. And then it's this huge mess, because some programs like Discord are single instance, Rider is single instance, but Chrome isn't, console isn instance. But Chrome isn't. Console isn't. Dolphin isn't.
Starting point is 01:14:28 And I don't like that traditional Windows workflow of a taskbar. But also KDE is the most stable desktop environment on Linux when you're me. So I kind of have to use it. I'm told that Hyperland has a plugin that can do the whole zoom thing that I need. And Vapsery also told me that I can do a screen hitter to do the color inversion.
Starting point is 01:14:57 You can definitely do that, yes. So I'm sure I could make Hyperland work. But I'm still on NVIDIA and NVIDIA and Wayland. Just know. You mentioned a magnifier. I haven't.
Starting point is 01:15:17 I don't know where that is. I can't remember the name of the plugin. It was someone who told me about it. Right. But I know that it exists, I haven't looked too much into it. Because obviously, me looking into Wayland right now is completely pointless because half of the stuff that I use won't work. Wait, did he commit this to the main branch?
Starting point is 01:15:43 Wait, hold up. Hyperland cursor zoom. Is this just a feature that's in... Cursor... Underscore zoom. Oh, no, it's literally just a feature that exists in Hyperland. The fact that the zoom by around the cursor, aka magnifying glass... It doesn't zoom the entire screen, but you can have a section of the zoom by around the cursor aka magnifying glass
Starting point is 01:16:09 It doesn't zoom the entire screen, but you can have like a section of the screen zoomed So that that'd be kind of your older Windows style and that's great But for me that won't work. Right. I need the entire screen. Yeah, I You will there's a there is a look if you want to learn some C++ There is a plug-in framework and you can guarantee do it. I don't know if it exists though. I know C++, but I know enough of it to know that I don't want to use it. Um. Right. I- I used it for Unreal Engine way back in the day, and I- I'm dangerous for C++. You probably don't want me writing it.
Starting point is 01:16:45 Mm-hmm. And I'm sure crashing out of Hyperland is probably, uh, crashing out of Hyperland to a TTY is probably the best idea. Knowing me, what I'll end up doing is I'll try to do some hyper-optimized
Starting point is 01:17:00 thing with stack allocations and I'll accidentally buffer over from the stack and completely crash Hyperland and I actually did that in C-harp once it's not fun to debug There is a way okay with actually developing a hyperland plugin. There is a way to like have a Virtual hyperland instance that is separate from your main one, so you can, like, test the plugin in there, so if you do break something, it doesn't kill the entire desktop, which is nice, um, but, you know, it's still, it's still gonna be a bit of work. If anyone is bored and wants to
Starting point is 01:17:37 write a Hyperland extension, and that doesn't seem like a super difficult Hyperland plugin, And that doesn't seem like a super difficult hyperland plugin. Like, it would be being able to take a part of the screen, zoom in on it, and then have it move when you push your cursor against it. Obviously, you could do proportion with all that stuff as well, but just doing that. So, pushing against the side, maybe add some arrow movement, and then zooming in on the screen. It seems like a fairly easy problem. I don't write hyperland plugins, though, so I don't know.
Starting point is 01:18:08 It might actually be incredibly difficult, but someone let me know. Someone who's bored, let me know. I mean, the zoom itself is probably most likely just a shader and then the logic to track the mouse. And even KDE's implementation of it isn't perfect. It's a very naive algorithm. Mm-hmm. Um, but it's, like, not more than ten lines of code. Mm-hmm.
Starting point is 01:18:31 So, I wouldn't imagine it'd be too hard to implement into Hyperland, honestly. I do want to mess around with, uh, writing Hyperland plugins at some point. Maybe, I don't know, maybe I'll write it myself. We'll see. If a plugin shows up in six months, you'll know who did it. I will keep an eye out. Or an ear out. So is there a usability difference for you with X11 versus Wayland? I can't fairly answer that right now
Starting point is 01:19:07 because my only experience with Wayland is on an NVIDIA graphics card and the all of the tools that I use Discord, Chrome and the Unity editor
Starting point is 01:19:21 none of them work on Wayland on NVIDIA. Discord, you can get to work by disabling APU and doing software rendering. Chrome, you can get the UI to appear by disabling software rendering
Starting point is 01:19:41 or disabling APU rendering. But it will be all flickery and you will see your other applications popping in in the background and it's just a complete unusable mess Unity editor the game engine
Starting point is 01:19:59 they don't have Wayland support in 2021 LTS which is what Reestit uses and Unity is the type of thing where you don't update the latest version unless you have to and so we're on 2021
Starting point is 01:20:16 LTS which does not have any Wayland support whatsoever so it runs under X-Wayland and it has the same problem that discord with graphics acceleration has on x-wayland and nvidia it shows garbage memory all over the screen the only thing you can see is your window decorator and the menu bar everything else because it's rendered in-engine using IMGUI or whatever Unity uses, is garbage. And obviously, you cannot turn off APU acceleration to get around that, because it's a game engine.
Starting point is 01:20:53 It needs APU acceleration. It will not work without APU acceleration. So, I have not had a chance to give Wayland a fair go. To give Wayland a fair go. But. I do have an AMD. RX 7600 XT on the way. That I'm going to replace my. Nvidia cards with.
Starting point is 01:21:11 It's coming this Thursday. And. I'm told by some friends. Who actively use Unity Editor. And specifically 2021 LTS. On Wayland. On AMD. That it's. other than a little bit of window management or window placement bug when you have like drop downs and stuff like that they like to
Starting point is 01:21:33 appear in the top corner of the screen oh it's the top corner that's that's yeah mine like to appear off the screen yeah um there there is that bug with unity, but if you go into your window rules or something and disable some geometry setting, it works fine on AMD. So I'm hoping that that's also the case for me, but I don't know yet. I mean, as far as KDE in Wayland, the only issue, the only real issue other than that graphics card mess that I've noticed in terms of usability is the task manager, the taskbar at the bottom, tends to forget windows, in my experience. Some of them just don't show up. I don't know if that's been fixed, because the last time I tried that was last year and X-Wayland windows, a lot of them don't have icons, so there's that yellow circle
Starting point is 01:22:30 and it's really hard to tell them apart when you already have trouble telling icons apart Guess which yellow circle is the right program So that yellow circle is the Wayland logo and this you know what, here's another one for the...
Starting point is 01:22:46 I've talked about this. This is entirely related to this protocol right here. The most controversial protocol you will ever see. Add XDG top-level icon to allow Windows to set dedicated icons. This is a protocol solely based around letting Windows set an icon. That is all. And you know what? We need this, because guess what?
Starting point is 01:23:10 Games don't generally use desktop files. Obviously Steam might do some stuff in the background to make that work. Yeah. But game engines, they don't do that. I don't know if anyone brought up the accessibility point here. No, literally no one has mentioned accessibility. Well, there's another... I might have.
Starting point is 01:23:33 Yeah, get... I might have to figure out how to contribute to that then. It's just on GitLab, so you can just... Yeah, it'll be easy enough to work out. And you can sign up with... On the Freedest.one, I believe you can sign up with, on the free desktop one, I believe you can sign up with your GitHub account. You can, yes.
Starting point is 01:23:48 I don't know about free desktop. I haven't used it yet. But Gnome GitLab, I think when I tried to create my account, it was like, we actively don't let you sign in with other accounts to prevent spam. Right. Okay, that makes sense. So, yeah.
Starting point is 01:24:04 Maybe they changed it, because i know i had an account at one point they might have added that later on uh no they have it now so they might have changed it then yeah i they probably at least it's not bugzilla though yeah at least it's not bugzilla bugzilla um when i went to use it today to write that little write-up of how you could possibly fix the cave-in bug, I could not find the add comment box. You wanna know why? Why, what's going on? On every forum I have ever used, the add comment text field is below the comments.
Starting point is 01:24:42 Right. On Bugzilla, it's above, so you have to scroll up. And I don't know why. Look, it's Bugzilla. I can't give you an answer for anything on how Bugzilla is laid out. But yeah, with this, um, with this, this icon one, definitely if you can work out how to use their, their GitLab, um, just mention it, because I, I'm sure, because there are so many people in here that have mentioned, like, why this is difficult, why we don't want to do this, why it's a bad idea, all of these different things, but just chucking in, like, a bit of the accessibility argument, I think would at least push the discussion in a productive way.
Starting point is 01:25:30 Yeah. Because it seems like most people in here are interested in fixing accessibility problems. It's just a lot of people don't know about them. Yeah. That's totally understandable, because when you're an outsider looking in in it's a lot like watching someone use vim um vim is like very very complex i'm not gonna say complicated i'm gonna say complex because there's difference when you first learn it it's like completely overwhelming and a lot of people will end up giving up in 10 minutes when they can't figure out how to like get out of the mindset of arrow keys versus hjknl um or how to exit vim which is the meme um but you know also
Starting point is 01:26:13 watching someone who's very experienced in vim they're like warping around at like the speed of sound and it's like what the hell is going on how are they they so fast? It's the same thing with watching a blind person use a computer when they're used to it. At first, if you're not used to using a computer with accessibility tools, it is a pain. Even if they're rock solid. It's just not intuitive if you're used to using a computer regularly.
Starting point is 01:26:41 And at the same time, watching a blind person work, first of all, you're not always going to have that option because um i don't nobody has a camera in my bedroom watching me work well so there's so you know that i know i'm fairly certain um what's that red light over there uh anyway um you know obviously you're not always going to be able to watch a blind person work on a computer but when you do you're going to see them moving generally as fast as you would and you're not going to understand what the hell they're doing because it's a completely different paradigm. And trying to design accessibility tools around that, when you don't fully understand it,
Starting point is 01:27:30 it's going to be a challenge, because you're going to make kind of inferences. Obviously, it's pretty natural to assume that a blind person might need a larger font, so add a larger font. That's easy. You might need high contrast, so add high contrast. But understanding the nuances of how a screen magnifier should work or how a screen reader should interpret what's on the
Starting point is 01:27:51 actual screen and how it should navigate it basically takes being blind to understand how that should work and unfortunately with the in the open source world a lot of you say this a lot in your videos a lot of people designing these desktop environments are developers and there's not a lot of gooey designers and there's definitely not a lot of gooey designers that understand blindness or how to how to work around people with decreased mobility or people who are deaf. And it kind of takes this... It takes us having a voice to be able to say, these are the things that really aren't working
Starting point is 01:28:35 and these things need to be fixed. And I hope that I'm able to do that. Well, my understanding with accessibility on Linux is back in the early 2000s, a lot of companies like Sun, which is a name I've not mentioned in a long time, Sun Microsystems used to invest a lot of money into dealing with this problem
Starting point is 01:29:01 because that's back when their Unix was still a fairly big thing. So if they improved something on the GNOME desktop, it was going to be used on their stuff as well the problem is as funding dried up for x11 a lot of that funding dried up for the accessibility tooling as well and when the funding dries up for things like this you're generally going to focus on you know we're going to talk about like how important accessibility is but you're generally going to focus on you know, we can all talk about how important accessibility is, but you're generally going to focus on the larger user group. Make it so the keyboard
Starting point is 01:29:31 actually works before making it accessible. And I understand that. Even from a game dev perspective, that's how I program my games. Socially distant right now, you cannot play while blind. There's an accessibility settings menu and you can turn all the toggles on but they don't do anything.
Starting point is 01:29:48 But that's because the game is very early in development. I'm one person and I know the game well so I can work around the lack of accessibility features in it and I don't have time to worry about them yet. So I completely get it.
Starting point is 01:30:03 When there's a lack of manpower and a lack of of money it's not going to be the primary focus because the focus should be on getting things working before making them accessible however because if they're accessible and not working there's no point however there is no excuse for the very basic things being missing. Like, if you don't have an invert color button, like, that's a problem. If you don't have the ability to turn off a certain feature in the magnifier when you've spent the time to add a deconf entry for it and make code respond to it,
Starting point is 01:30:41 but you haven't actually put the little toggle, which is probably, i don't know how ptk works but in any game engine that would be three lines of code come on yeah yeah pretty much um so you we talked about the um the tts Windows, and you originally wrote the script that you have for use with eSpeak. Yeah. How do you feel about the voices that are available just out of the box on the Windows side versus Linux side? Windows, like I said, they used to be great.
Starting point is 01:31:19 Windows, if you're English-speaking, your options are Microsoft David Desktop or basically a female version of Microsoft David Desktop. And they have not updated them since in any meaningful or acceptable way since Windows 8. The only thing they've done is make them pronounce words differently. And incorrectly. So, I don't like the Windows text speech
Starting point is 01:31:47 voices. They're very inaccurate, and it feels almost intentional. Like, how do you mess up pronouncing conversion when it's been working for 10 years? Whereas Linux, there isn't a whole lot of options
Starting point is 01:32:06 With ESpeak by default Or Speech Dispatcher Speech Dispatcher is kind of like A system D service wrapper For ESpeak And these other speech engines So it's kind of It's kind of like the Wayland
Starting point is 01:32:21 Or the No, not Wayland The X11, or Xorg or pipe wire of speech synthesis it doesn't really do anything on its own it just acts as like this friendly common api to work with the speech engines behind the scenes right so it's a wrapper he speaks not the nicest command line from what i recall messing around with it yeah um e-speak is great for what i use it for because what it the command line you can either pass text in as an argument and it'll read it uh or you can pipe text into it and it'll read that i believe you can also uh in take in a file as input and it'll try to read that.
Starting point is 01:33:05 So it's really nice for having it read output from files or stuff like that. And it can also do things like output the actual speech to a WAV file or to an MP3. So that's really nice. But I've had it kind of freak out a little bit sometimes when interacting within the terminal but obviously you work around that and then speech dispatcher has its own command line interface
Starting point is 01:33:35 called spd-sa and it basically works the same you can pipe into it, you can pass arguments it's really nice and the only issue with e-speak in in particular is there's no variety in terms of voices you have the default voice and then just the default voice but for different languages so there, there's the English voice, which does
Starting point is 01:34:07 English voice things, and then there's the French voice that does French voice things, and that's you know, obviously you need that, because if you're a French person and you're blind, you probably want the voice speaking French to you. That makes sense. Um, but, at the same time,
Starting point is 01:34:24 maybe you don't understand the default eSpeak voice I don't know it's name because they don't name them like Microsoft does obviously Microsoft gives names to them like there's Microsoft David Desktop which sounds different from Microsoft Mark
Starting point is 01:34:39 who sounds different from Microsoft Mike and Sam and so on they're different people, basically. But eSpeak is named based on the language. E-N-1. So maybe you don't understand. Yeah. E-N-1, that's the name.
Starting point is 01:34:52 E-N-1, maybe. Something like that. Maybe you don't understand that voice. I'm lucky I do. But if you don't, I don't know where to get extra voices. I don't know how to do extra voices. Mm-hmm. I don't know how to do it. Do they even exist?
Starting point is 01:35:09 Extra? Let's find out. Someone asked on Stack Exchange nine years ago. It seems like some exist on random websites out there. Yeah, because I want to be downloading text-to-speech voices from random websites. There's one called Ambrola. That's the only one I can even find.
Starting point is 01:35:37 Um... I think that's just another speech engine, maybe? Because I've heard that name. Ambrola Project's collection of diphone voices for speech synthesis. The Umbrola voices are cost-free, but are not open source. They're available at the Umbrola
Starting point is 01:35:54 website. eSpeak can be used as a front-end for Umbrola. There we go. Oh, okay. So, eSpeak is, like, I don't know if it's a speech engine of its own, or if it's wrapping Umbrella. Maybe I'm actually using Umbrella, and I just don't know it. Maybe.
Starting point is 01:36:12 Yeah. I don't know. I don't know how this stack works. I know there's also... Me neither, honestly. I know there's also Festival. I don't know if you messed around with that. Festival, I've... It has the same default voice As eSpeak But it's
Starting point is 01:36:29 Kind of more Xorg-y In that it runs as a server And you have to start it No, I don't want to do that I'll start Speech Dispatcher So that Electron can communicate With my text-to-speech voice
Starting point is 01:36:43 But eSpeak is the program I run. It's not a server. I don't have to connect to eSpeak. I just give it a file or a string of text and it reads it. That's what I want. And much like the Windows text-to-speak, it will run on a Pentium just fine. Yeah. And it will run on an ARM chip just fine.
Starting point is 01:37:05 It will probably run on RISC-V. So, you heavily make use of Unity. What is... How does your workflow actually work in Unity? What do you... Just explain what you do.
Starting point is 01:37:22 So, we're socially distant. Fairly easy. A lot of what I do in Unity is through code. Like, I have my own kind of user interface system where I can declaratively put widgets on screen through code. And a lot of the game scripting I actually do through Bash, of all things, because I wrote a Bash interpreter for it. scripting I actually do through Bash of all things because I wrote a Bash
Starting point is 01:37:43 interpreter for it. So I don't spend a whole lot of time in the actual Unity editor. And my extent in the Unity editor is just using the hierarchy and dragging things around in a tree. And I name things
Starting point is 01:38:00 in such a way where they're small names and I can understand because I put the UI together myself. I know where everything is. With restitched, I generally try to avoid
Starting point is 01:38:15 doing anything in scene view. Scene view is like your 3D view into the world where you place things and you drag them around and you scale them and all that stuff. But using scene view with a magnifier will make you puke. Because you're fighting with a perspective camera while zoomed into the screen and your brain, at least my brain, does not handle it. I can't do it for more than 30 seconds
Starting point is 01:38:45 so when in with restitch whenever i i need to do something in scene view like i had a bug earlier that i had to track down the way something was rendering with one of our dev tools um all i did was i hopped on a screen share on discord and i had someone guide me around because everyone at trixel knows that i'm blind i am that is my thing there i'm the blind lead programmer who has a vision for the game um so people are very helpful there with helping me get around the ui and stuff like that and um but most of what i do in restitched i try to stay outside of the Unity editor as much as possible. Obviously, sometimes I'm going to have issues in the game where there's an error that maybe someone else on the team messed up a little bit with our API or didn't read the docs, which admittedly there isn't much. I'm trying to work on that.
Starting point is 01:39:43 And you end up with like an assertion in the console and the game breaks. In that case, I have to copy the text out of the Unity console and into a Discord chat and read it through Discord. That is how I do it. Because Unity does not have
Starting point is 01:40:00 screen reader support. Or maybe it does. I just don't know how to turn it on or what happens with does i just don't know how to turn it on or what happens with it i just i don't know here's because their user interface is rendered in engine just like unreal here's a question for you i don't know if this is something you've considered or not um i know there's a fairly easy way to do this on linux i don't know about the windows side but could you copy the text and have a script that would just read out whatever's in the clipboard?
Starting point is 01:40:29 Just like hotkey it or something. I have done that in GNOME with the X.org selection clipboard because I don't know how Wayland does it, but with X.11 whenever you highlight text on
Starting point is 01:40:43 screen, there's a separate clipboard that that text goes into. Yeah, you have the main clip, I think it's on prime, I don't know what they're called. There's the copy clipboard, the highlight clipboard, and the, it exists, but we don't actually use a clipboard. Yeah. So with the highlight clipboard,
Starting point is 01:41:00 you can use Xclip to get that out of Xorg and into a terminal or you know whatever you're doing so what i did is i wrote a script that uses xclip to read the selection clipboard and just pipe it to espeak like it's a pretty much a one-liner and then I wired up to a custom hotkey in GNOME, and it worked! But not in Unity! Because their selection is
Starting point is 01:41:34 rendered in-engine, and it doesn't go through X.org. So, yeah. Wait, so, like, if you actually, like, copied it to your actual clipboard, like, the copy clip like, if you actually copied it to your actual clipboard, like the copy clipboard, could you do it then? Um, yes. I could do it if I copied
Starting point is 01:41:52 to the clipboard. The problem with that is a lot of what I'm doing, I'm copying code between different files and discords. Sometimes I like to take a piece of code out of Restitch and pop it in our programming chat and go, who wrote this and why?
Starting point is 01:42:08 I'm very Linus Torvalds about it sometimes. Almost to a detriment. I've been yelled at by Halston a few times for it. I don't mean to be very stern or rude about it, but the way I type sometimes is very factual and to the point. or rude about it but like the way i type sometimes it's very factual and to the point um and a lot of times i have like huge swaths of code in my clipboard that are sitting there in transit going to where i need to go and sometimes i need to screen read something while that code is in transit and obviously if i copy something that I want to screen read into the clipboard, whatever I was just holding on to is now gone.
Starting point is 01:42:47 Right, right. And so it gets, I could use a clipboard manager to keep track of it. But the big thing with restitch and security for me is I don't want what I'm working on to be saved outside of the context of our repository. Because I'm under Nnda i'm very particular about where the code goes on my computer it does not go out of a trusted zone and i don't i don't want a clipboard manager storing that history um on windows for example at one point i actually had a few screenshots of the game sync to my personal OneDrive, and I'm like, why are you doing this, Microsoft?
Starting point is 01:43:29 Why are you syncing private NDA stuff to my OneDrive where someone could reasonably hack into it? I don't want that. So I try not to let anything leak too far out of where i want it to actually go so i don't know i i'm very i'm very untrusting of a lot of things no that's that's that's completely understandable i don't know why unity behaves that way with selections that's odd um um it's it's because their user interface isn't rendered with a traditional toolkit like obviously the menu bar and the context menus are done to the
Starting point is 01:44:10 native toolkit i think it's gtk on linux but the the rest of the editor ui is um it's their own custom thing i think it's based off like i amGUI. And I can understand why they do it. It makes it a lot easier to render the scene view and stuff like that inside the UI in a little dockable window. I've tried to program game engine editors before and trying to get, like, an ATK widget to give me an OpenAL or Vulkan renderer inside it. It's just a complete nightmare having the widget respond to the viewport size and whatnot. No, I can completely understand why Unity does
Starting point is 01:44:51 their own UI. But obviously it means that their selection system is going to be their selection system. And it's going to work in the context of their engine and their display system. And it's not going to go to the OS. Right, right.
Starting point is 01:45:05 Because the selection clipboard is a very XORed thing. It's not a thing on Windows, as far as I'm aware of. Or Mac OS, maybe I'm wrong. But it's a very XORed thing. I'm pretty sure you're right. I know it exists on Wayland. You can do it on Wayland. I don't know what...
Starting point is 01:45:19 Actually, I don't know if you can do it on GNOME and KDE. I know you can do it on WL Roots. I haven't know if you can do it on GNOME and KDE. I know you can do it on WL Roots. I haven't checked. They probably replicate the behavior, considering how many Linux applications expect it to be like that. But, yeah, I'm not 100% certain there. Either way, Unity does their own thing anyway, so that wouldn't even deal with the problem.
Starting point is 01:45:42 Yeah. Yeah. I don't know if there's another way you could do it. Um, that would work for like other things though, so if you're in uh, a web browser or something and for some reason the plugin died, you could have it work like that, uh, but- Honestly it dies often. Like it doesn't die Like, my internet's pretty solid. I have Gigabit, and it just never goes down unless someone, like, trips on an Ethernet cable, because I'm not on Wi-Fi.
Starting point is 01:46:11 But the extension itself uses Google's Cloud TextSpeed, at least on Linux. On Windows, now it uses Narrator, so it just goes through David Desktop desktop but it also tries to detect the language
Starting point is 01:46:28 that the text is written in using Google Cloud and if it just can't there's a pre-recorded audio file of it saying sorry I can't read this paragraph so stupid just
Starting point is 01:46:44 enunciate each letter. Like, that's a much better option. Enunciate each letter or try to pronounce it as English. Because if you fail miserably at pronouncing, like, I don't know, Exweyland, I can at least understand that you're trying to say Exweyland. Right. But if you try to pronounce it in Japanese or Russian, I don't know what you're trying to say X-Wayland. Right. But if you try to pronounce it in Papanese or Russian, I don't know what you're trying to say.
Starting point is 01:47:10 I don't know. Stop. So, with all of the tooling that exists right now, is there anything that you would like... I know it's hard to imagine something that doesn't already exist, but is there something that... Or some I know it's hard to imagine something that doesn't already exist but is there something that or some edge case some use case you have that is just not being addressed at all that you would like to see something
Starting point is 01:47:32 be made for I would I've actually had a discussion in your discord server with someone who's writing a Wayland compositor I don't remember their name and they're writing like a Wayland compositor. I don't remember their name. And they're writing, like, a Wayland compositor or a display manager or something in
Starting point is 01:47:47 PHP, so... Oh, the No, I know who you're talking about. It's the psycho writing an Xlog server in PHP. Well, anyway, that he, they they had this idea of adding multiple
Starting point is 01:48:03 mouse cursor support to their display manager. So you plug in a second mouse and you get a second mouse cursor. Kind of like the Wii remotes on the Wii, where if you have two remotes plugged in or whatever, you have two cursors that you move around and they're numbered and they represent different players. that genuinely would save so many accessibility issues for me when playing games specifically because a lot of
Starting point is 01:48:32 games that I play are 3D games. I like my open worlds, I like driving around and stuff like that I like my Grand Theft Auto and I like my Cyberpunk but because they are shooters and 3D
Starting point is 01:48:48 games, they lock the mouse cursor to the center of the screen. Because the expectation is you don't have a cursor. You're aiming a gun or a camera. And the problem is a lot of those game engines are custom and they're made
Starting point is 01:49:04 for the game specifically and the ui systems generally have custom cursors i don't know about grand theft auto 5 because i honestly i honestly play it on console but cyberpunk 2077 the red engine has a custom cursor um and they even when you're navigating the menu um which you're doing a lot in cyberpunk because you're navigating the menu which you're doing a lot in Cyberpunk because you're managing your inventory you're crafting things, you're reading data shards that you stole off people you're hacking
Starting point is 01:49:31 there's a lot of reading in that and I need to be able to zoom in but because their custom cursor is done in engine they still lock the OS mouse cursor to the center of the screen right even in the ui so when i try to zoom into cyberpunk my compositor thinks my mouse cursor is in the center of the screen and that means that i cannot pan it at all so being able to have
Starting point is 01:50:02 some kind of system where instead of alt tabbingabbing out of the game, because maybe I want to zoom in while playing the game. Like, maybe I want to look at the minimap or the HUD elements to read some mission objective or something. Instead of alt-tabbing out of the game, which would lose keyboard focus and I wouldn't be able to play, I would want to be able to have a button on my mouse that switches between one cursor that's locked to the game and then a second cursor that I can interact with my desktop with.
Starting point is 01:50:35 And maybe the two cursors don't render on screen at the same time unless you want them to, but just having the ability to switch between those two cursor modes where one of them is locked in the game engine never leaves the game engine and then the other is just interacting with your desktop so i can pan around the zoom area and stuff like that that would be lovely that does sound yeah that is a really cool idea isn't it huh
Starting point is 01:51:00 actually what is the um what is the experience like for you playing these games because i look i'm a bad enough driver and i can see um i'm bad enough i'm shooting and i can see but what's it like for you well i'm about to send you a screenshot um i have to find it it won't take me too long but if you scroll up in a chat. Of me playing Grand Theft Auto San Andreas. Just found it. Just copying the image. That's a good choice of game, by the way. I was playing it on PS5, and this is a screenshot of when I was running Windows. Screenshot of both my monitors.
Starting point is 01:51:41 screenshot of both my monitors. And what I have set up here is the right monitor, which is more vibrant and more colorful to me, is the game. That's an OBS capture of my PS5. And I'm playing the game through that, so I can zoom into the PS5 and stuff like that. Okay.
Starting point is 01:52:00 I was confused when you said you were using the PS5, because there'd be no way to zoom that that makes sense the left monitor is the minimap a giant zoomed in view of the minimap so what that lets me do
Starting point is 01:52:17 is when I'm driving around like I'm a hit driver no matter what because I'm not going to see the other NPCs coming i'm going to crash anyway and i've kind of embraced that um so whenever i'm playing the game and driving around to a mission um a lot of games now they have a pps route that shows up on the map and i can follow that granddad daughter's standing race obviously too old doesn't have that right but i can at least i can at least see on the 2D map generally where I need to go.
Starting point is 01:52:46 And I can look at my left monitor and just pay attention to that. Occasionally I'll look to the right to make sure that I'm not running into someone's car or running people over and stuff like that and killing my car. But most of the time I'm looking at that left monitor and that's how i find my way around the city and i've been doing that a lot with cyberpunk um because it's a lot of driving around to missions yeah yeah and it's been really helpful and cyberpunk is really nice about it because um it's one of the only games i know of that actually has pedestrian pps so when you're on foot instead of it just drawing a straight line to wherever you need to go it actually figures out the sidewalks and the staircases and everything that you need to walk
Starting point is 01:53:31 through to get to where you're going and i can follow that so i can actually walk through night city without ever looking at the game maybe i put a few dozen people around in the process and get people mad at me but i still get to where I'm going. I'm sure the missions that are, hey, get this vehicle to this location without it being destroyed always need a couple of retries. Um,
Starting point is 01:53:56 yeah, Saints Row 4 is really bad for that. They have their vehicle physics in general are very bad and I don't know if it's like the whole narrative of the game being in a simulation
Starting point is 01:54:13 and things kind of being corrupted but vehicle engine sounds are very important to pay attention to when you're blind and Saints Row 4 half the time doesn't play them. They don't sync up with what the car is doing.
Starting point is 01:54:29 I will be braking at a full stop and the end will be revving. And that's something that Cyberpunk 2077 2.0 is really nice about is they have DualSense support on PC now. So when I'm driving around,
Starting point is 01:54:48 not only can I hear the sound of maybe I've gone off-road by accident, I'll hear the grinding and stuff of the dirt or whatever, but I'll feel it on the actual trigger. I will feel the resistance, and it makes it so much easier to moderate how fast I'm driving and keep myself going, staying on the road and in the right lane. It's amazing. I had never thought of that as an accessibility feature. Yeah. Because I find it really annoying, but that, huh.
Starting point is 01:55:21 I find it really annoying, but that... Huh. Well, I mean, when you think about it, when you don't have the... It's the same reason that I like my keyboard being hairy MX blue. A lot of times when I'm typing, I don't have
Starting point is 01:55:38 the feedback to tell me that I pressed a key. A lot of fonts are very wonky with how they display while zoomed in. And with how far I zoom in, I maybe can fit three or four words on screen before I have to pan the screen around.
Starting point is 01:55:55 So making typos is the thing I do often. And so whenever I'm on a linear switch or an older rubber dome switch, sometimes I will press the key, but I'm not confident it actually pressed in. Or maybe I'll press two keys at once, and I don't have that visual feedback. Whereas with a Cherry Blue, not only do I actually feel the click of the switch activating, it's very tactile, but I can hear it. And even on Windows,
Starting point is 01:56:32 I have a HyperX Cloud Alpha wireless headset, and one of the features it has, a lot of the gaming headsets have this now, is microphone side tone, where it will take the microphone output and with absolutely no latency play it through the idle headset and that allows me to kind of hear my keyboard and everything
Starting point is 01:56:52 even when i'm listening to music and that is really helpful for me can't do that on window or on linux right now unfortunately i've tried it with pipewire but there's there's latency because being done in software. Yeah. Yeah. Um... Maybe you could do some funky stuff with Jack? Maybe. Maybe? Jack's a lot lower latency.
Starting point is 01:57:16 Maybe possible. I don't know if it's gonna be low enough that it's viable, though. I know I was able... I was playing around with it earlier with doing the pulse audio loopback module, which works in Pipewire. But I had the latency set to one millisecond,
Starting point is 01:57:35 but it was still enough to speak to me. So I, like, tried it for five minutes and then turned it off. I just got a stupid overkill solution that'll do it. It's a hardware solution so what you do is you get a uh like a mixer uh what do you like a an audio interface like a you like plug a microphone into and you get one that allows you to monitor the um the the microphone and then you just point a microphone at the keyboard.
Starting point is 01:58:07 Yeah. That would work. It's just expensive. Yeah. That's the problem. And speaking of keyboard, my keyboard tray is very old and broken and almost fell off my desk. That was almost a very loud noise.
Starting point is 01:58:23 One moment. It's all good, it's all good. Alright, we're good. I have a Keychron Q3 TKL, so it's like a solid block of aluminum. If that falls, you're gonna hear it. Ah, yeah. Yeah, I don't use a keyboard
Starting point is 01:58:38 tray. I'm not a fan of them, personally. I only do out of necessity. I don't have the room to put the keyboard on the desk Fair enough That's understandable I had one when I was a lot younger And I didn't have the space
Starting point is 01:58:51 But now I just have everything on my desk And it's nicer To be fair my desk is covered in junk But It was mine I have like 17 different things on it right now It's a mess. So I think we've
Starting point is 01:59:08 covered pretty much everything I want to cover. Maybe there's something I missed that I'll remember afterwards, but I think it was a good episode. I enjoyed this. I did too. So, let people know, I guess,
Starting point is 01:59:29 where they can find the games, where they can... Send people places. Okay. I'm going to plug my Patreon. Okay. Because that's where the Socially Distant devlogs go every month. Is that linked on the Socially Distant website? It's my personal Patreon. I would have to update the actual website.
Starting point is 01:59:50 I will probably do that after the stream. After the podcast, sorry. But patreon.com. It actually is linked under the devlog section. Oh, okay. So I did actually do it. Okay. WordPress is kind of annoying to use, so I kind of forget.
Starting point is 02:00:08 And I actually have a devlog that's just coming out of early access, I think, tomorrow night. Okay. For last, or for January 2024. And that kind of shows a giant user interface overhaul that I've done. That kind of shows a giant user interface overhaul that I've done, and a lot of the work that I've done with the bash interpreter and making game scripts actually a thing that I can do, so I can do narrative scripting now. It's a huge update, and I'm really excited about that.
Starting point is 02:00:36 But that's been in early access, so... I have one Patreon right now. Or, one patron right now. They are the only ones who can see it. When you said you implemented a terminal in the game, I didn't think you actually, like... I ported the Suckless terminal to Unity. That's what I did.
Starting point is 02:00:58 Okay, that's awesome. Yeah. I actually packed in some useful stuff that I needed for the game. Like, obviously I need scrollback because people expect scrollback to be there. I need text selection because people expect text selection to be there. You need copy-paste. Uh-huh. Yes, I do.
Starting point is 02:01:15 So I packed that stuff in, and then I understand enough C from learning it in college that I was able to completely reverse-engineer how the Suckless terminal works and how all the x11 APIs work and I just ported them to Unity. And it works great! There were a few performance issues at the start of it, but um I've ironed them out. I get like a consistent 250 FPS even when I'm running commands, which before commands would completely drop to single digits because of how C-sharp memory management works and
Starting point is 02:01:53 text manipulation, but it's all been fixed. That's so stupid. I love it. That's awesome. I hope the suckless guys don't mind, by the way. I forgot to check the license. Yeah, maybe you should do that.
Starting point is 02:02:11 Yeah, maybe. But I do plan. Right now it's proprietary because it's required to be because of some assets that I have in the Unity project that I have them licensed, but I'm not allowed to redistribute them as raw audio files. But I do plan on splitting the code of the terminal out into its
Starting point is 02:02:30 own packet that you can slot into Unity and then have a terminal emulator that supports full VT1 upgrade and all the ANSI codes you could possibly need. My god. That's awesome. I love that. Okay, so we have the
Starting point is 02:02:47 Patreon. Anything else you want to mention? Obviously give Trixel Creative some love. I'm the lead programmer there. I've been lead programmer for almost two years. Support them on Patreon, because honestly the money doesn't go to me, it goes to them. But that allows Trixel to get Unity assets and stuff like that that make the game easier for us to make.
Starting point is 02:03:13 So if you like Restitched, go and support Trixel Plus, because just like my personal Patreon, you get devlogs a week early for Restitched. It's called Restitched Recapped, and there's also Dev Diaries and stuff like that. I think there's one that I wrote a year ago that kind of goes over my blindness and how I do Restitched with it, so that might be an interesting read.
Starting point is 02:03:38 And then, you know, I'm going to stop plugging Patreons now, because that's the only two. No, go ahead, plug whatever you want to plug Um My Discord server, TheAestheticLighthouse It's linked on my personal website Um, if you want to get in touch with me
Starting point is 02:03:53 Whether it be about KDE The bug Or GNOME bugs, or Linux Or you want to talk about accessibility Or you want to keep up with Socially Distant I'll give you a hint. Sometimes I violate my own Patreon and leak stuff from it in the Discord server
Starting point is 02:04:09 because I'm nice. Head over there because that is the most accessible spot for me to hang out. I'm always on Discord. So then there's I'm inclined to share my YouTube panel because that's where the katie
Starting point is 02:04:29 ebug drama started but i don't make videos often it's very difficult for me i i can't do video editing um uh at least not without a video editor that i learned years ago that no longer exists. So, um, and obviously I can't do teleprompters and stuff like that. So I don't do scripted content. A lot of my videos are just either hit posts. Honestly, like I had,
Starting point is 02:04:54 I've made a, Oh, Canada obscure a while ago. And then I made a PS3 startup sound, but it's the T8X deep note. And that got like a hundred, 200,000 views. Don't know why.
Starting point is 02:05:06 But a lot of my other stuff is just me trying to program something or trying to do something on my computer and showing how to do it. And so, Acidic Light on YouTube. I don't make videos often, but sometimes I do. And you might enjoy them. Or might not. Who knows?
Starting point is 02:05:25 Sure. Is that all you want to mention? Um, the last thing I want to mention is obviously Mastodon. Okay. Acidic Light on Mastodon, because I've been active on there a lot more. Obviously I follow you, I follow Vaxxery. I follow even the Gnome dev that was kind of giving you crap earlier because I managed to get him to stop giving you crap
Starting point is 02:05:49 and then start giving me crap and then stop giving me crap. And we were able to get to a civil discussion there. And Mastodon is also another really accessible place for me. I really like it. I used to be on twitter but twitter became not twitter and now they like basically treat you like a bot until you're not and i don't like it except they're masterminds so that's that's the problem yeah yeah i stopped i stopped using i stopped using twitter when the when you could no longer post links to public posts and have them embed.
Starting point is 02:06:31 Because it just needed to be logged into Twitter. And that's not social media. Social media is to be able to have a voice and share it with the world. And not everyone's going to have an account. So you need public posts. posts and mastodon is very nice about that obviously they're very decentralized i'm on mastodon at social i don't think they'll ever go rogue or anything like like twitter did but if they do you know what i have the power to start my own instance and move there or move to another instance
Starting point is 02:07:01 and i like that one uh One trend I saw recently on Twitter is there's a lot of AI content now. And sometimes you'll see, as the AI language model, I'm not able to respond to this question. In a reply on a tweet? Yes. I'm glad I left Twitter.
Starting point is 02:07:24 And then you have bots under that replying to that as if it's an actual post. It's a mess of a platform. I love it. I enjoy watching the dumpster fire. So, if that's all you want to mention, then I'll do my
Starting point is 02:07:39 outro. Alright. Yeah. Awesome. So, if you like this stuff and you want to see something actually more planned out, check out my main channel. That is Brody Robinson. I do Linux videos there six-ish days a week. I have my gaming channel over there. I am probably still playing through Neptunia and the world end, near the world ends with
Starting point is 02:07:59 you. I don't know if I'm done with that. If I am, I'll be playing something else. Check it out. There'll be something fun there if you're listening to the audio version of this you can find the video version on youtube at tech over t if you want to find the audio version there is an rss feed it's going to be on every podcast platform search tech of t and you'll probably find it so uh how do you want to end it give me your outro say something um i can't use my regular outro um and you know what i'm gonna i i'll be honest i'm gonna steal uh the private
Starting point is 02:08:34 outro the name is the rich man sure you know what that works that works see you guys later

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.