Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How do blind people code and work with terminals?
52 points by CptCodeMonkey on March 10, 2013 | hide | past | favorite | 21 comments
In the space of half a day, vision in my right eye deteriorated to the point that I can't even see an eye exam chart with it. I've already gone to the hospital and going back tomorrow for another round of tests. It's not a tumor, no signs of MS, no signs of infection.<p>I know they're are people considered legally blind that still write code, so how do they do it? Is there an OS that's better geared for accessibility, and are there any tools that can help make life easier?



I used to set-up, deliver, & train blind users on Windows machines. Windows is the most popular since it has the most user-friendly accessibility solutions. My dad started the business I worked for, & he's been totally blind since birth. If you want, I'd be more than happy to put you in touch with him, feel free to contact me at dave [at] sweetmansystems [dot] com.

The favorite screen-reader for Windows is Jaws, but Window-Eyes is also good. OSX is great because it comes with a full-featured built-in screen-reader for free, whereas Jaws can run you $900 -- but the OSX screen-reader (called VoiceOver) is generally much more difficult to get started with, as they key combinations are complicated and difficult to remember. If you have enough useful vision, you could also use a program like ZoomText (on Windows), which combines screen magnification with voice output.

I've been looking into screen-readers for Linux & especially the command line, but haven't had enough experience with anything to make a recommendation -- though my dad knows a guy who uses linux & runs servers, if you end up talking to him ask for contact info for a guy named louis, if you can get a hold of him he'd be able to steer you in the right direction.

If you're in the US and in California (I think other countries and states have similar programs), you may want to get in touch with the Department of Rehabilitation, as they can provide a lot of help and information & will also purchase training, accessibility equipment, computers & software in order to get people with visual impairments proficient enough to compete in the classroom & in the job market.

The thing to be prepared for is that it's a major life adjustment. It's a totally different way of interacting with the computer, and it will usually come with a pretty steep learning curve, but it's definitely doable, especially I think with the hacker mindset.

All of these programs have demo versions from their websites: Jaws for Windows: http://www.freedomscientific.com/products/fs/jaws-product-pa... Window-Eyes: http://www.gwmicro.com/Window-Eyes/ ZoomText: http://www.aisquared.com/zoomtext/

Info about Apple's VoiceOver: http://www.apple.com/accessibility/voiceover/ (oh, the other good news is that VoiceOver is also included on all iPhones & iPads!)


I've been a jaws user for around 15 ears, and have very limited experience with VoiceOver on the mac. The advantage VoiceOver has over Jaws is the fact that VoiceOver has a comprehensive tutorial that can be brought up with one keystroke. If you are trying to teach your self how to use a screen reader the built in tutorial makes VoiceOver a lot easier to learn then Jaws.


Old thread on this topic: http://news.ycombinator.com/item?id=4058761

SO discussion (linked in thread above as well): http://stackoverflow.com/questions/118984/how-can-you-progra...

In my experience, programming, in general, has nothing to do with sight – its more about how you load the entire application (architecture/design/flow – whatever you may call it) in your head. Great description by PG on this particular phenomenon [0].

As far as accessibility goes, there are blind developers for all the 3 major OS – Mac/Linux/Windows. Basically you use a screen reading application to get speech output and rely on keyboard shortcuts heavily (in GUI environments).

[0]: http://paulgraham.com/head.html

Edit: Ok, let me give you a more realistic picture: yes, every other day could prove to be a challenge especially if you are programming in a gui environment – UIs are designed primarily for visual and pointer interaction; however, being a programmer, you have more tools and techniques at your disposal to find alternative ways of doing things than a basic blind computer user. You should always be exploring and shouldn't give up. That's my learning after having been working as a developer in .NET (web/windows) for 5 years and you know, with every new major release/product, Visual Studio and Windows constantly change and break accessibility support in one way or the other.


I've been blind since birth and have been programming for the last 12 years, with the last three being professional programming. I use Windows with Jaws as my screen reading software. I've found Linux accessibility to be a hassle to get set up and the web browsing experience on Linux as a blind individual was very poor the last time I checked. Instead of dealing with Linux I use Cygwin for most of my terminal work. While it's not perfect it does at least 90% of what I want. If you have any questions feel free to email me at stofflet (at) gmail dot com


Most people use screen readers because it is much much faster than braille displays. Especially since most blind users speed up the screen reader speech rate very high.

If you are an emacs user check out emacspeak: http://emacspeak.sourceforge.net/

Windows there are many options.

NVDA is the most used free one: http://www.nvda-project.org/

JAWS is highly used but expensive: http://www.freedomscientific.com/products/fs/jaws-product-pa...

For mac there is voiceover (included in OSX): http://www.apple.com/accessibility/voiceover/

Chrome and ChromeOS have chromvox: http://www.chromevox.com/ but that is more for web.

Linux the most popular is orca for gnome desktop: http://projects.gnome.org/orca/


Sorry to be "off topic" but if your problem is a retinal detachment (since its happening so fast) you have to not move around (seriously!) and get it checked by an good eye specialist immediately!! Once it's completely detached you are unfortunately out of options! All the best of luck and wishes to you!


The two most common methods are "Screen Readers" (audio) [1] and "Braille Displays" (touch) [2]. Depending on the exact vision impairment, other alternatives also exist (magnifiers, customized color/brightness, and so forth).

[1] http://en.wikipedia.org/wiki/Screen_reader

[2] http://en.wikipedia.org/wiki/Refreshable_braille_display

Good Luck with your situation!


I know a blind programmer who uses an 80 column braille display. He also uses a lot of Linux command line tools with it that he has made himself afaik, for example for email. He can program incredibly fast with it, he uses an editor in text mode (he has no graphical desktop), but I'm not sure if it's emacs or vim or something else. The command line seems well suited for this braille display for him, but I think all of this requires a huge learning time starting from childhood.


BSDTalk episode with a blind BSD user[1]. It's about many things, not how blind people deal with computers, but it offers some great insights nevertheless.

[1] http://bsdtalk.blogspot.co.at/2008/03/bsdtalk143-bsd-hobbies...


Through the use of screen readers and braille displays.

In terms of OS's: OSX has a built in screen reader - Press Command-F5 to activate it, and follow the tutorial for more details.

Chrome has a screen reader called ChromeVox (http://www.chromevox.com)

Windows users have access to NVDA (free), JAWS (paid) or WindowEyes (paid).

EmacSpeak is available for emacs users.

However you'll find that each of these screen readers have a slightly different model that you'll have to learn.

What OS are you currently using? Being able to apply your existing mental model of how the OS works will reduce your learning time exponentially.


Previous discussion & link to an excellent StackOverflow article. - http://news.ycombinator.com/item?id=5210648


There was a very interesting article last week about Josh Miele in the New York Times: http://www.nytimes.com/2013/03/03/nyregion/40-years-after-an...

Someone threw acid on his face as a child, and the story narrates how he eventually overcame these challenges to go on to do great things, like work on NASA software for Mars Observer.


Klaus Knopper, the maintainer of the Knoppix distribution has a blind wife. She uses Knoppix with some extra modules and it works very well. A synthetic speaker reads everything whats important on the screen. You should definitely checkout http://www.knoppix.org/


The project for blind people is called ADRIANE - Audio Desktop Reference Implementation and Networking Environment http://www.knopper.net/knoppix-adriane/index-en.html


Hi, when i was in training some time ago, my IT manager was totally blind and use a braille tablet to read its screen. Characters was translated into braille and 'printed' to it's tablet. He has no need for a screen and use a regular keyboard. He also use a screen reader app for emails, internet and documents.


Sorry to hear about your sudden disability. I hope it yields to treatment, and that you'll bring us up to date when you've learned more. I have poor eyesight and have thought a lot about blindness since childhood, but have never had to deal with such a fast and drastic change. Best of luck.


I'm one of those people. I code with 3/60 vision. Here's what I do.

I use an articulated arm for my monitor which holds it much closer to my face than any stand could while not forcing me to hunch over my desk to see.

I use larger font sizes, and spend a lot of time selecting the most comfortable available font, size, and syntax highlighting options possible. Personally, I have a lot of difficulty with contrast, so standard 'high contrast' schemes make me stabby. I tend toward darkish backgrounds with just off primary colours. This may not work for you. Be prepared to spend a lot of time experimenting. This can be frustrating, and you have my sympathy.

I use a backlit keyboard.

I probably format my code a bit differently to most people, I like to leave a lot of whitespace. Between lines, on the inside of brackets, between operators and operands, etc.

I generally have my monitor brightness set a bit lower than most people, and I also bias light.

For web browsing, I use browser plugins that allow me to zoom the text, currently zooWheel in Chrome since Firefox's kamikaze update schedule continually breaks my accessibility plugins. I used to use an FF plugin called greasemonkey to reformat frequently visited sites with custom CSS, but this turned out to be more trouble than it was worth.

I work with OS X a lot, but find it to be the most hostile environment for low - as opposed to zero - vision due to the complete lack of ability to change the colors of UI elements. There are third party hacks, but they are patchy and irritating. Apple's solution is to allow you to invert the color pallete. As the saying goes, now you have two problems. Also their cursor tends to get lost against dark backgrounds. I'm sporadically working on a software solution for this.

Linux obviously offers the ultimate in customisation, but will suck massive amounts of time if you allow it to.

You may have noticed that these are all pretty much the same kinds of things you'd do (or should do) and consider when setting up your working environment.

This is good news. As a coder, you are going to find that a lt of stuff that's severely challenging to many people with low vision is simply not a big obstacle for you. You are already well equipped to modify your tools and environment around your needs.

Hold on to that thought, because the most important thing is that much of the advice that anyone gives you, quite possibly including most of the above, simply won't be right for you. As an articulate, technically aware individual, you are in a position to try out solutions and decide what works for you. Reject anything which doesn't. Go custom where there are gaps.

Most importantly, be stubborn. You have some scary shit happening and it's going to present you with new challenges. Own them. Some days are going to be really frustrating, and you'll feel like you're losing. Go get some rest, come back, and just own the ass off them.


> I work with OS X a lot, but find it to be the most hostile environment for low - as opposed to zero - vision due to the complete lack of ability to change the colors of UI elements. There are third party hacks, but they are patchy and irritating. Apple's solution is to allow you to invert the color pallete. As the saying goes, now you have two problems. Also their cursor tends to get lost against dark backgrounds. I'm sporadically working on a software solution for this.

It must be easier to change the mouse pointer sprite to be higher contrast with inverted colors.


good luck. i can imagine how you are feeling - hopefully it's something simple / physical, but if it is ms and you want a programmer to talk to, feel free to contact me (andrew@acooke.org). although i have ok vision so won't be much help with this particular issue (when first diagnosed, i did try to get emacs working with audio output, terrified i would be blind in days, but ms isn't necessarily that bad, and the attempt fizzled with it only half-working...) (there is a linux distro for blind people - i didn't install it, but my impression was it was pretty out-of-date and it would be better to try get emacs-speak working on what i already had).


Theres a stackoverflow discussion regarding that. http://stackoverflow.com/questions/118984/how-can-you-progra...


I know this is not about programming, but from what I know the same principal could be applied. http://www.youtube.com/watch?v=tVuLGrab9JA




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: