A Time to be Alive

A few positive things for a change

In the past, I've mostly written articles about problems with operating systems, products, services, and general technology. But, in this article, I want to shed a little light on what good things are going on. This doesn't really negate all the bad, but it helps to think about the good things that are going on more than just the bad.

Google

Lately, Google has been putting a lot more effort into Android accessibility than in previous years. A few years ago, Google added commands to TalkBack that could use more than one finger. This means that complex two-part commands, like swiping up then right, or right then down, which are more like commands you'd perform on a video game joystick than a phone, don't have to be used. Instead, one can use two, three, or four finger taps or swipes instead. These are also pretty customizable.

Then, in Android 12, Google brought those commands, which were previously only for Pixel and Samsung devices, out of (beta I guess) exclusivity, and onto every Android device. Oh and in Android 11 or so they added an onscreen braille keyboard, which I now can't live without, and previously couldn't on iOS either. That's the one thing that gave me a good enough excuse to jump to Android.

Now, they're adding Braille display support, so if a blind person owns a refreshable Braille display, they can connect it through Bluetooth to Android. This will be coming out in Android 13 later this year. And if Samsung doesn't hurry it up, I won't be very happy if I have to wait until next year to get 13. Ah well, Dolby Atmos is pretty worth it.

I hope they keep improving their AI stuff. Right now, they can detect text in images, but I'd love to be able to go through my photo library and hear descriptions of images, like I can on iOS. No, having to send the image to another app isn't the same thing. But they're getting closer!

Apple

Apple still leads the way on adding new features to their accessibility settings, at least on mobile. Okay, text checking on Mac is pretty cool. Anyway, this year was really interesting, as they've added lots of new voices (basically fonts for blind people), except they're all monochrome and sometimes look awful depending on who's listening.) Other than that, they added support for door detection and ... I can't really think of much else. The really big thing is voices, since they've added one that the blind community has been using for about 25 years, Eloquence, which I'm sure they had to do a lot of engineering, compatibility with 32-bit libraries, and spaghetti code to get working with Apple silicon. Still, there's nothing that makes basically the whole blind community want to beta test like some new voices!

Microsoft

So, modernizing a whole OS is probably really hard. They still want to be backward compatible, but they also want to move things forward. So, they're still trying to push towards using UI Automation Even though File Explorer can be really sluggish, even on this new PC, and screen readers don't really have anything like the VoiceOver rotor which is invisible and instantly available. Windows is still the OS of choice for blind people. Microsoft has outlived the Mac hype, and still chugs along even with phones taking over the computing world.

Lately, they kind of seem to repeat themselves a lot. They continually talk about their new voices, only available to Narrator and no other screen reader cause Narrator has to be the premier screen reader experience. But, from a positive point of view, it could just mean they're planning something really nice for the next Windows release. I'd love to see offline image recognition that all screen readers could tap into, like the already-included text recognition.

ChromeOS

Crostini is really great. It lets me use Linux command line apps, through TDSR, or even GUI apps, through Orca, but with a nice window manager, notification system, and ChromeOS provides the web support and Android apps. And Emacspeak isn't sluggish as crap like it is in WSL2.

Linux

At least a lot of blind Linux users like either Mint or Arch. And there's Emacspeak. And GPodder, and Thunderbird is kinda nice when it wants to be, and LSHW gives loads of info on hardware, and Bash is far, far better than PowerShell. Like, “stop computer”? Who wants to type all that?

Braille

I've recently started reading, thanks to my Humanware NLS EReader, and I'm really starting to enjoy it. Thanks to, I think, my vitamins, and practice, I'm finding that I'm able to think ahead of the current reading point, to predict the rest of the sentence, and if the prediction is right, skim passed that. It's kinda cool. I'm not sure if I was able to do that before, but I'm definitely noticing it now.

Conclusion

In this blog post, I talked about how stuff still mainly works, Google's starting to give a crap, Apple still blazes ahead in some areas, and Microsoft still talks a lot. Oh and ChromeBook is still a nice Linux system lol, and Braille is good.

Discuss...

You can always subscribe to my posts through Email or Mastodon. Have a great day, and thanks for reading!

Published:

Debug

Site Properties

		&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Devin Prater's blog", RSSLink:"https://devinprater.micro.blog/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/devinprater/avatar.jpg", "name":"Devin Prater", "username":"devinprater"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc000701110)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc000157d90), s:(*hugolib.Site)(0xc000698fc0), language:(*langs.Language)(0xc000701110), defaultContentLanguageInSubdir:false, sectionPagesMenu:""} 

		

site.Params Properties

		maps.Params{"description":"Follow <a href=\"https://micro.blog/devinprater\">@devinprater on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/devinprater/bookmarks/.json"}, "github_username":"", "include_conversation":false, "instagram_username":"", "itunes_author":"Devin Prater", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/devinprater/podcast.png", "itunes_description":"I am a blind person that is driven by accessibility and good design of accessible systems. I blog about my experiences with operating systems and platforms, screen readers and programs, ideas and implementations of accessibility.", "itunes_email":"", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"2022"}, "mainsections":[]string{"2022"}, "paginate_categories":false, "paginate_home":true, "paginate_replies":false, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{"lite-youtube.html"}, "plugins_js":[]interface {}{}, "post_append_class":"post-content", "post_class":"post-content", "reply_by_email_address":"r.d.t.prater@gmail.com", "reply_by_email_link_text":"✍️ Reply by email", "reply_by_email_show_plain":true, "reply_by_email_show_title":true, "reply_by_email_subject_prefix":"Re: ", "site_id":"94785", "theme_seconds":"1701011762", "twitter_username":""}
		

Permalink

		"https://devinprater.micro.blog/2022/06/10/a-time-to.html" 

		

Params

		map[date:2022-06-10 17:48:01 -0600 -0600 draft:%!s(bool=false) guid:http://devinprater.micro.blog/2022/06/10/a-time-to.html iscjklanguage:%!s(bool=false) lastmod:2022-06-10 17:48:01 -0600 -0600 layout:post microblog:%!s(bool=false) post_id:%!s(int=1756065) publishdate:2022-06-10 17:48:01 -0600 -0600 title:A Time to be Alive type:post url:/2022/06/10/a-time-to.html]
		

All variables scoped to the current context

		&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc000b83c20), (*hugolib.pageOutput)(0xc000b83d40), (*hugolib.pageOutput)(0xc000b83e60), (*hugolib.pageOutput)(0xc000b94000), (*hugolib.pageOutput)(0xc000b94120), (*hugolib.pageOutput)(0xc000b94240), (*hugolib.pageOutput)(0xc000b94360), (*hugolib.pageOutput)(0xc000b94480)}, pageOutput:(*hugolib.pageOutput)(0xc000b83c20), pageCommon:(*hugolib.pageCommon)(0xc0003faa00)}	
		

Why Accessibility in Open Source is Important

It's not just for people who are disabled

Introduction

While reading This article on how much Windows phones home to Microsoft, I thought about just how much we don't really have control over our data when running Windows. Who knows what all is being sent over all those network transmissions. I mean, when your cryptographic services contact other services over the Internet, like, why? On the Hacker News posting about this, a commenter asked why, after all this, someone would still use Windows. I responded with the usual “because accessibility, unfortunately.”

So, in this article, I'll talk about why accessibility should be the first thing every contributor to free and open source software thinks about. People with disabilities are some of the most disadvantaged, unvalued, discarded, and underrepresented people on Earth. Abled people don't want to think about us, because they don't want to imagine what it'd be like to be one of us. They fear going blind, deaf, or losing mental faculties, even though they know it'll happen eventually. So, supporting us is the right thing to do, provides an alternative to a disadvantaged population, and supports yourself when you need it most.

Got morals?

If you practice any kind of moral system, you probably know that you should help the poor. Some moral systems include people with disabilities, as we're often some of the most poor, especially in non-western countries. If you practice religion, you may or may not have seen a verse insisting that you not put a stumbling block in front of the blind, or other such admonitions. This should be the case in software as well.

We're all human, except for the bots crawling through this for keywords for search engines and such. We all are born with different traits. Some of us were smaller babies. Some of us were smarter babies. And some of us were disabled babies, or born prematurely, or survived even though the hope for such was low. So, shouldn't we account for these things? Shouldn't we prepare, in advance, for, say, a deaf person to use your chat program, or a blind person to try your audio editor?

Supporting people with disabilities is the right thing to do. It's the human thing to do. You don't want to look like those soulless corporations, do you? And even the corporations make an effort to support disabled people, even if to prop up their image. Can the open source community not do better than an uncaring, unfeeling money-printing machine? Surely, humans are better than the corporate machine!

And yet, in open source communities, people with disabilities are often ignored, or told they'll have to be a developer to make things better, or told to “be the change you want to see,” which is just plain demoralizing to a non-developer. Developers, and communities in general, must learn to empathize with all users, before they themselves become the ones needing empathy.

We are Everywhere

Have you ever called a bank, a hospital, a non-profit organization, the Internal Revenue Service, or your phone company? Yes? Then chances are, you could have been speaking with a person with disabilities. Blind people work in many call centers, and at many phone network providers, like Verizon, AT&T, and others. Do you know what operating system they're more than likely using? That's right, Windows. Why? Because accessibility on Windows, using Windows screen readers, and Chrome or Edge, is top-notch. Now, they may not be using the latest version of Windows, and hopefully it's all patched up, but we don't know that. The only company that does is Microsoft, and it sure isn't going to talk about its weaknesses.

So, how about the developers of free and open source desktop environments, web browsers, and operating systems be the stronger party and ensure that no one has to ever run Windows? After all, it's your data that's being stored on Windows computers, in Windows servers, spoken by, more than likely, $1099 closed source screen readers that could be doing anything with your data. If it sounds like I'm trying to scare you, you're right. We have asked nicely for the last decade to be taken seriously. All we've gotten is a shrug, a few nice words, and a “don't bother me I'm engineering,” kind of vibe after that. Well, you might as well start engineering for us before it's too late for you.

Where do you want to be in forty years?

It's no secret that we're all getting older. We age every second of every day. And, as we age, our bodies and minds start to fail.

Our eyes grow dim, our ears don't hear the birds outside anymore, and our minds tick slower and slower. But our hobbies, or our jobs, never quite leave us. Some developers can just climb the chain until they're high enough to not need to code anymore, thus bypassing the need to confront their failing eyesight, on the job at least. Some developers just retire and quit coding, choosing to give the wheel to younger, and hopefully brighter, generations. But why? You know so much! You still have those ideas! You still want to see freedom win!

Let's try another problem, those who become disabled younger in life. There are many genetic issues, diseases (like COVID-19), and so on that may cause even a younger person to become disabled. You may lose your vision, have a car accident, lose some hearing from listening to loud music, or maybe you just don't have the energy that you used to have. But you still want to code! You still want to create! And you have unfinished projects that need fixing!

In both cases, helping people that are disabled will help you when you need it most. We, people who are disabled, simply came with what you'll be getting in the future. So why not start now? Help make desktop environments a joy to use for blind people, so when your eyes start to hurt after a while of using them, you can just close them, turn on accessibility features, and continue working with your eyes closed! Or, if you make things easy for people with mobility issues, you can work one-handed when the other cramps up. Or, if you work on spell checking, autocorrection, and word suggestions, you can take advantage of that when a word just won't come to you, or when you forget how to spell a word.

So how can I help?

We need people, not companies. Companies, like Canonical, will sit there and work on their installer accessibility, while the real issue is the desktop environment. The System 76 folks only need accessibility help when they get to the GUI of the desktop environment that they're building. The Gnome folks say that they need coders, not users. So I have little faith in corporate-backed open source. They're just another machine.

So, community support is where it's at, I think. But it can't just be one person. It has to be everyone. Everyone should be invested in how they're going to use computers in the future. Everyone should care about themselves enough to consider what they'll do when, not if, they go blind, lose hearing, lose energy, lose memory, lose mental sharpness. Everyone should be into this, for their own sake.

There are many Linux desktop environments besides Gnome. KDE is what I'd be using if I could see. There's also Mate, Cinnamon, LXDE, XFCE, and others. Why mainstream distributions of Linux choose to stick with Gnome is beyond me. Below are some ideas to get the community started.

  • Use Linux with a screen reader. If you don't like it, we probably won't either.
  • Add Accessibility labels to whatever you're making.
  • Look at the Code of the Orca screen reader
  • Gather people with disabilities to get feedback on your desktop environment or distribution.
  • Have either your entire team focus on accessibility, or, if you must, make an accessibility team.
  • Spread the word about your accessibility fixes, put them front and center!
  • See how much your image improves, and how loyal disabled people are!

Yeah, it looks a bit selfish. But I've grown to expect people to be selfish, and care about how they're seen, and getting more users and such. That's just how we disabled people have to be most of the time. So, prove us wrong. Show us that the world of communities, democracies, people of high ideals, care about the disadvantaged, about their own security and the security of others, and themselves in the future. Let's make open source really open to everyone. Let's make freedom free for everyone. Why not?

Discuss...

You can always subscribe to my posts through Email or Mastodon. Have a great day, and thanks for reading!

Published:

Debug

Site Properties

		&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Devin Prater's blog", RSSLink:"https://devinprater.micro.blog/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/devinprater/avatar.jpg", "name":"Devin Prater", "username":"devinprater"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc000701110)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc000157d90), s:(*hugolib.Site)(0xc000698fc0), language:(*langs.Language)(0xc000701110), defaultContentLanguageInSubdir:false, sectionPagesMenu:""} 

		

site.Params Properties

		maps.Params{"description":"Follow <a href=\"https://micro.blog/devinprater\">@devinprater on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/devinprater/bookmarks/.json"}, "github_username":"", "include_conversation":false, "instagram_username":"", "itunes_author":"Devin Prater", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/devinprater/podcast.png", "itunes_description":"I am a blind person that is driven by accessibility and good design of accessible systems. I blog about my experiences with operating systems and platforms, screen readers and programs, ideas and implementations of accessibility.", "itunes_email":"", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"2022"}, "mainsections":[]string{"2022"}, "paginate_categories":false, "paginate_home":true, "paginate_replies":false, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{"lite-youtube.html"}, "plugins_js":[]interface {}{}, "post_append_class":"post-content", "post_class":"post-content", "reply_by_email_address":"r.d.t.prater@gmail.com", "reply_by_email_link_text":"✍️ Reply by email", "reply_by_email_show_plain":true, "reply_by_email_show_title":true, "reply_by_email_subject_prefix":"Re: ", "site_id":"94785", "theme_seconds":"1701011762", "twitter_username":""}
		

Permalink

		"https://devinprater.micro.blog/2022/05/29/why-accessibility-in.html" 

		

Params

		map[date:2022-05-29 06:05:58 -0600 -0600 draft:%!s(bool=false) guid:http://devinprater.micro.blog/2022/05/29/why-accessibility-in.html iscjklanguage:%!s(bool=false) lastmod:2022-05-29 06:05:58 -0600 -0600 layout:post microblog:%!s(bool=false) post_id:%!s(int=1756064) publishdate:2022-05-29 06:05:58 -0600 -0600 title:Why Accessibility in Open Source is Important type:post url:/2022/05/29/why-accessibility-in.html]
		

All variables scoped to the current context

		&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc000b83320), (*hugolib.pageOutput)(0xc000b83440), (*hugolib.pageOutput)(0xc000b83560), (*hugolib.pageOutput)(0xc000b83680), (*hugolib.pageOutput)(0xc000b837a0), (*hugolib.pageOutput)(0xc000b838c0), (*hugolib.pageOutput)(0xc000b839e0), (*hugolib.pageOutput)(0xc000b83b00)}, pageOutput:(*hugolib.pageOutput)(0xc000b83320), pageCommon:(*hugolib.pageCommon)(0xc0003fa500)}	
		

The User Rings

Imagine, for a moment, that there is a ring. It's dim and gray, lifeless. There are many rings encircling it, but these are darker, more foreboding than the central ring. You hold in your hand a light, which can only shine inward. How will you proceed?

Let's try putting the light in the central ring, and see what happens. You place the light on the rim of the ring, and step back, watching the light fill the central ring with vibrant, lively color.

Despair

Darkness is all I know. I stand in the center of my ring, one of the outermost rings in the system. It's cold here, dark, no one wants to come near us, for fear of catching our Darkness. I don't blame them. We fight so much. Just thinking of battle makes me feel… better. Like I have something to blame. Someone to hate.

I sigh, looking up. Up at the Light ring. The central ring. No one wants us anywhere near there.

But I wanted it. Or to bring them out. Yes, I would destroy their Light, make them feel our anguish, our despair, our hate. I tell my tired and beaten-down body to move. To Climb the rings, to seek that Light, and snuff it out. I would find whoever put that light there, and make them feel my pain, my agony.


Well that wasn't such a good story, now was it? Let's hope that guy doesn't find you, right? Here, let's reset and try again. This time, let's put the Light on the outermost ring, and see what happens.

Peace

Light reassures me as I stand on the rim of my ring. I feel it's heat, and people from other rings say it allows them to sense things from a distance, to know what's around without them making sounds. That's alright. We have machines that use the light, like Investiture or a power source, to tell us what's around. In my free time, I enjoy exploring the rings, helping people, and anything else I can do for our system. I look to the next ring, where some of my family live. I jump there, and spend a while searching for things new in the ring. I scan the describer device upward, to further rings, and to the central ring, which, I'm told, glows with the casted light of all other rings. I lift my face, and feel the warmth of the Light.

That night, I dream of another world, where the Light has chosen to selfishly glow only on the central ring. I woke up sobbing at the idea. Seeing the people, filled with fear and hurt and pain, just barely surviving, and beg Elyon to have mercy on those people, if they do exist.


Ah, that's better. Since the central ring already has some light, putting the big Light on the outer ring allows the light to move inward, giving all rings light, not just one. Yet, software and web developers selfishly think of the central ring, which stands for “the 99%” or “majority” of people, and disregard those who need their services the most. Thus, people with disabilities, neurodivergent people, people who don't speak English, people who have trouble reading, people who have trouble processing images, Autistic people, and so many others live in a world that slaps them in the face every moment of every day.

Technology doesn't care. Bits and bytes can be used to help people with disabilities in so many ways. Yet, they are used, in so many ways, by the ignorant abled people, to bar access to so many things, from playing video games to COVID tests. And we can't even move towards the Light, as it were. With Linux, the free and Open Source system, made by abled people, almost every desktop environment has huge accessibility issues. In fact, even if you find a good one, you still have to enable Assistive Technology Support. And now, the Mate desktop, which has been the most accessible we have, only because it's based on Gnome 2 from 10+ years ago, and is starting to show its age. Chrome-based apps, like VS Code and Google Chrome, crash out of nowhere. Pidgin crashes while writing a long message. And if a Chrome-based app crashes, Orca is lost, and one has to immediately set focus to the desktop or it'll be totally lost until it sees a dialog it creates.

So, that means we can't even get into a great position to learn to make our own stuff, from some of the best courses like the Odin project, which requires you either use Linux, MacOS, or the Linux system on Chromeos. Windows, the most accessible system, which is supported by a large community of blind developers, and is created by a company which, in recent times, is getting more into accessibility, isn't allowed.

So think on this, when inspiration strikes for a new site, a new app, a new package. If you help the least of us, you'll help the best of us too!

You can always subscribe to my posts through Email or Mastodon. Have a great day, and thanks for reading!

Published:

Debug

Site Properties

		&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Devin Prater's blog", RSSLink:"https://devinprater.micro.blog/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/devinprater/avatar.jpg", "name":"Devin Prater", "username":"devinprater"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc000701110)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc000157d90), s:(*hugolib.Site)(0xc000698fc0), language:(*langs.Language)(0xc000701110), defaultContentLanguageInSubdir:false, sectionPagesMenu:""} 

		

site.Params Properties

		maps.Params{"description":"Follow <a href=\"https://micro.blog/devinprater\">@devinprater on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/devinprater/bookmarks/.json"}, "github_username":"", "include_conversation":false, "instagram_username":"", "itunes_author":"Devin Prater", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/devinprater/podcast.png", "itunes_description":"I am a blind person that is driven by accessibility and good design of accessible systems. I blog about my experiences with operating systems and platforms, screen readers and programs, ideas and implementations of accessibility.", "itunes_email":"", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"2022"}, "mainsections":[]string{"2022"}, "paginate_categories":false, "paginate_home":true, "paginate_replies":false, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{"lite-youtube.html"}, "plugins_js":[]interface {}{}, "post_append_class":"post-content", "post_class":"post-content", "reply_by_email_address":"r.d.t.prater@gmail.com", "reply_by_email_link_text":"✍️ Reply by email", "reply_by_email_show_plain":true, "reply_by_email_show_title":true, "reply_by_email_subject_prefix":"Re: ", "site_id":"94785", "theme_seconds":"1701011762", "twitter_username":""}
		

Permalink

		"https://devinprater.micro.blog/2022/04/06/the-user-rings.html" 

		

Params

		map[date:2022-04-06 05:45:30 -0600 -0600 draft:%!s(bool=false) guid:http://devinprater.micro.blog/2022/04/06/the-user-rings.html iscjklanguage:%!s(bool=false) lastmod:2022-12-16 09:28:07 -0600 -0600 layout:post microblog:%!s(bool=false) post_id:%!s(int=1756063) publishdate:2022-04-06 05:45:30 -0600 -0600 title:The User Rings type:post url:/2022/04/06/the-user-rings.html]
		

All variables scoped to the current context

		&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc000b82a20), (*hugolib.pageOutput)(0xc000b82b40), (*hugolib.pageOutput)(0xc000b82c60), (*hugolib.pageOutput)(0xc000b82d80), (*hugolib.pageOutput)(0xc000b82ea0), (*hugolib.pageOutput)(0xc000b82fc0), (*hugolib.pageOutput)(0xc000b830e0), (*hugolib.pageOutput)(0xc000b83200)}, pageOutput:(*hugolib.pageOutput)(0xc000b82a20), pageCommon:(*hugolib.pageCommon)(0xc0004a7900)}	
		

Fedora, trying again

About a week ago, I got a new laptop. It's an HP, with an AMD 5500 processor. With 8 gigs of RAM, 512 GB SSD storage, and a modern processor, I think it'll last a good while. I do hope I can swap out the RAM for two 8 GB sticks instead of 4 GB sticks.

After using Windows 11 for a while, I got the Linux itch again. Windows was... slower than I expected. Along with some games being more frustrating than fun, I decided to just do it.

So I installed Fedora. I chose the Fedora 35 Mate spin for this. Well, first I tried the regular Gnome version but Orca couldn't read the installer so that's great. After getting it installed, turning on Orca at the login screen, and the desktop, setting Orca to start after login always, and turning on assistive technology support, I was ready to go. Except...

Bumps in the Road

I mainly use Google Chrome for browsing. After getting that installed, I opened it, prepared to sync my stuff and get to browsing. But upon its opening, there was nothing there. Orca read absolutely nothing. Baffled, I installed VS Code. Still the same, nothing.

So, I hunted down the accessibility cheat codes I used to magically make things work:

export ACCESSIBILITY_ENABLED=1
export GTK_MODULES=gail:atk-bridge
export GNOME_ACCESSIBILITY=1
export QT_ACCESSIBILITY=1
export QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1

Successes

After restarting the computer, things worked. I could use Chrome and VS Code. Then, I set up Emacs with Emacspeak. After a lot of looking around, I discovered I need lots of ALSA stuff, like alsa-utils, and mplayer, sox, and all that sound stuff. Oh and replace serve-auditory-icons with play-auditory-icons so all icons play.

It was during my setup of Emacs that I found one of the joys of Linux, dotfiles. I copied the .emacs files from my ChromeBook to the new Linux PC, and it was like I'd just simply opened the Emacs on my ChromeBook. Everything was there. My plugins, settings, even my open files were there.

Linux is really snappy. Like, I can open the run dialog, type google for google-chrome, press Enter, and there's Chrome, ready almost before I am. Pressing keys yields instant results, even faster than Windows.

Nothing's Perfect

Even with all this: fast computing, Emacs, updated system, freedom to learn about computing, there are some rough edges. If you close a Chrome-based app, like VS Code and such, you have to move to the desktop immediately, or Orca will get stuck on nothing. If that happens, you have to press Insert + h for help, then F2 to bring up any kind of dialog for Orca to get onto. Seems Mate's Window manager doesn't put focus on the next window. Also the top panel on Mate has lots of unlabeled items. And there are very few accessible games natively for Linux, but with Audiogame Manager, there are plenty of Windows games I can play.

You can always subscribe to my posts through Email or Mastodon. Have a great day, and thanks for reading!

Published:

Debug

Site Properties

		&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Devin Prater's blog", RSSLink:"https://devinprater.micro.blog/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/devinprater/avatar.jpg", "name":"Devin Prater", "username":"devinprater"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc000701110)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc000157d90), s:(*hugolib.Site)(0xc000698fc0), language:(*langs.Language)(0xc000701110), defaultContentLanguageInSubdir:false, sectionPagesMenu:""} 

		

site.Params Properties

		maps.Params{"description":"Follow <a href=\"https://micro.blog/devinprater\">@devinprater on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/devinprater/bookmarks/.json"}, "github_username":"", "include_conversation":false, "instagram_username":"", "itunes_author":"Devin Prater", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/devinprater/podcast.png", "itunes_description":"I am a blind person that is driven by accessibility and good design of accessible systems. I blog about my experiences with operating systems and platforms, screen readers and programs, ideas and implementations of accessibility.", "itunes_email":"", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"2022"}, "mainsections":[]string{"2022"}, "paginate_categories":false, "paginate_home":true, "paginate_replies":false, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{"lite-youtube.html"}, "plugins_js":[]interface {}{}, "post_append_class":"post-content", "post_class":"post-content", "reply_by_email_address":"r.d.t.prater@gmail.com", "reply_by_email_link_text":"✍️ Reply by email", "reply_by_email_show_plain":true, "reply_by_email_show_title":true, "reply_by_email_subject_prefix":"Re: ", "site_id":"94785", "theme_seconds":"1701011762", "twitter_username":""}
		

Permalink

		"https://devinprater.micro.blog/2022/04/03/fedora-trying-again.html" 

		

Params

		map[date:2022-04-03 08:15:21 -0600 -0600 draft:%!s(bool=false) guid:http://devinprater.micro.blog/2022/04/03/fedora-trying-again.html iscjklanguage:%!s(bool=false) lastmod:2022-12-16 09:26:38 -0600 -0600 layout:post microblog:%!s(bool=false) post_id:%!s(int=1756062) publishdate:2022-04-03 08:15:21 -0600 -0600 title:Fedora, trying again type:post url:/2022/04/03/fedora-trying-again.html]
		

All variables scoped to the current context

		&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc000b82120), (*hugolib.pageOutput)(0xc000b82240), (*hugolib.pageOutput)(0xc000b82360), (*hugolib.pageOutput)(0xc000b82480), (*hugolib.pageOutput)(0xc000b825a0), (*hugolib.pageOutput)(0xc000b826c0), (*hugolib.pageOutput)(0xc000b827e0), (*hugolib.pageOutput)(0xc000b82900)}, pageOutput:(*hugolib.pageOutput)(0xc000b82120), pageCommon:(*hugolib.pageCommon)(0xc000875900)}	
		
Home Page Debug Information &hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc000c32d80), (*hugolib.pageOutput)(0xc000c32ea0), (*hugolib.pageOutput)(0xc000c32fc0), (*hugolib.pageOutput)(0xc000c330e0), (*hugolib.pageOutput)(0xc000c33200), (*hugolib.pageOutput)(0xc000c33320), (*hugolib.pageOutput)(0xc000c33440), (*hugolib.pageOutput)(0xc000c33560)}, pageOutput:(*hugolib.pageOutput)(0xc000c32d80), pageCommon:(*hugolib.pageCommon)(0xc00093ef00)} &hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc000c3a900), (*hugolib.pageOutput)(0xc000c3aa20), (*hugolib.pageOutput)(0xc000c3ab40), (*hugolib.pageOutput)(0xc000c3ac60), (*hugolib.pageOutput)(0xc000c3ad80), (*hugolib.pageOutput)(0xc000c3aea0), (*hugolib.pageOutput)(0xc0009da000), (*hugolib.pageOutput)(0xc0009da120)}, pageOutput:(*hugolib.pageOutput)(0xc000c3a900), pageCommon:(*hugolib.pageCommon)(0xc000875400)} &hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc000c3a000), (*hugolib.pageOutput)(0xc000c3a120), (*hugolib.pageOutput)(0xc000c3a240), (*hugolib.pageOutput)(0xc000c3a360), (*hugolib.pageOutput)(0xc000c3a480), (*hugolib.pageOutput)(0xc000c3a5a0), (*hugolib.pageOutput)(0xc000c3a6c0), (*hugolib.pageOutput)(0xc000c3a7e0)}, pageOutput:(*hugolib.pageOutput)(0xc000c3a000), pageCommon:(*hugolib.pageCommon)(0xc000874f00)} &hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc000c21200), (*hugolib.pageOutput)(0xc000c21320), (*hugolib.pageOutput)(0xc000c21440), (*hugolib.pageOutput)(0xc000c21560), (*hugolib.pageOutput)(0xc000c21680), (*hugolib.pageOutput)(0xc000c217a0), (*hugolib.pageOutput)(0xc000c218c0), (*hugolib.pageOutput)(0xc000c219e0)}, pageOutput:(*hugolib.pageOutput)(0xc000c21200), pageCommon:(*hugolib.pageCommon)(0xc00093e000)} &hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc000c21b00), (*hugolib.pageOutput)(0xc000c21c20), (*hugolib.pageOutput)(0xc000c21d40), (*hugolib.pageOutput)(0xc000c21e60), (*hugolib.pageOutput)(0xc000c32000), (*hugolib.pageOutput)(0xc000c32120), (*hugolib.pageOutput)(0xc000c32240), (*hugolib.pageOutput)(0xc000c32360)}, pageOutput:(*hugolib.pageOutput)(0xc000c21b00), pageCommon:(*hugolib.pageCommon)(0xc00093e500)} &hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc000c32480), (*hugolib.pageOutput)(0xc000c325a0), (*hugolib.pageOutput)(0xc000c326c0), (*hugolib.pageOutput)(0xc000c327e0), (*hugolib.pageOutput)(0xc000c32900), (*hugolib.pageOutput)(0xc000c32a20), (*hugolib.pageOutput)(0xc000c32b40), (*hugolib.pageOutput)(0xc000c32c60)}, pageOutput:(*hugolib.pageOutput)(0xc000c32480), pageCommon:(*hugolib.pageCommon)(0xc00093ea00)}

All variables scoped to the current context

    &hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc000c33680), (*hugolib.pageOutput)(0xc000c337a0), (*hugolib.pageOutput)(0xc000c338c0), (*hugolib.pageOutput)(0xc000c339e0), (*hugolib.pageOutput)(0xc000c33b00), (*hugolib.pageOutput)(0xc000c33c20), (*hugolib.pageOutput)(0xc000c33d40), (*hugolib.pageOutput)(0xc000c33e60)}, pageOutput:(*hugolib.pageOutput)(0xc000c33680), pageCommon:(*hugolib.pageCommon)(0xc000874a00)}