Tech Over Tea - Legally Blind Game Developer | Ritchie
Episode Date: February 23, 2024Today 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)
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.
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.
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
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
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
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.
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
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
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
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
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.
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
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.
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
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...
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
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,
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
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.
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,
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
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
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
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
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.
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
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.
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.
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.
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
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
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
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.
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
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
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
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.
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
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.
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
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.
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
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
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.
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.
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
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
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
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
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?
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
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,
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
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
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
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
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,
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
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,
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
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
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.
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
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?
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.
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.
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
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.
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
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
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
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,
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.
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
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?
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
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
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.
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
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.
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
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
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.
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.
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.
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
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.
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?
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
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
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.
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.
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,
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
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.
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
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?
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
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.
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.
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
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.
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.
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,
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
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,
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
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.
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.
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.
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
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
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.
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.
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.
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
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.
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.
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
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.
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.
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
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
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
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.
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,
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.
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,
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.
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
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.
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
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.
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.
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
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.
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
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.
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
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,
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
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.
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
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.
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
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
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.
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.
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.
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
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
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.
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,
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.
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.
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.
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?
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
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.
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
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
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.
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.
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
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
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
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
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
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.
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.
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
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
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...
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?
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.
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.
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.
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.
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.
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
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.
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,
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
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
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
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
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.
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.
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,
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.
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
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
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
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.
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
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
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,
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
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.
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?
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.
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
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.
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
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
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.
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.
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
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
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
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
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.
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
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?
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
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,
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
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
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?
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.
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?
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
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
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.
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...
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.
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.
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
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
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.
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
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
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
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
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
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
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
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
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.
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
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.
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.
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
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.
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
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,
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
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.
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,
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.
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
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.
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,
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
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.
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,
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.
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.
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
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
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
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,
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.
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.
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.
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.
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.
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
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.
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
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
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.
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.
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
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
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
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,
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.
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?
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
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.
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
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.
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
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
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
outro the name is the rich man sure you know what that works that works see you guys later