15 ms·
How can you program if you're blind?
- gaius 16y agoI've sailed the open oceans with a blind man at the helm. Which sounds like a line from PoTC but really: he used an audio compass that played a tone at different points of the compass, higher or lower so he knew how to correct. The rest was done by feeling the way the boat handled through the deck and the wheel.
- binarymax 16y agoThe compass tones are ingenius, but aside from that I'm not surprised he was able to do this as sailing is one of those things where feeling plays a much larger role than one would expect. There are many forces at play that have nothing to do with sight. Having helmed in night storms of 20 foot seas where I could basically see nothing, the motion of the vessel and feedback force exerted on the wheel, I quickly got a sense of how the boat was moving. In fact in those situations I probably would have been much better off with your friends compass than the soaked one at the wheel. And dont even get me started on trying to read the windex in such conditions! Coding blind would be much different. The input is physical but there is nothing tangible coming back. It is more or less all visual. Come to think of it, if I ever lost my vision I would probably become a full time sailor :)
- Retric 16y agoI went to school with a blind CS student. He had no problem using a computer by himself but the normal classroom setting was vary difficult for him. Based on how he operated meetings would be far more difficult than actually writing code. PS: Ok, his is not going to be building a GUI but text to speech works well. And a keyboard only interface works fine for both VI and visual studio.
- pavel_lishin 16y agoWhy were meetings more difficult than writing code?
- Retric 16y agoThe tendency of people explaining their ideas to draw diagrams on paper / a white board. Once a diagram was on a computer there are tools to help him understand it, but it took a while. So, the only way for him to keep up with a free flowing discussion is to follow what people said.
- gcheong 16y agoI remember looking into whiteboard systems that automatically digitize what people write as a way to conveniently record what was written but the implication that this tech could also be used to help a blind person during a meeting is interesting.
- masklinn 16y ago> The input is physical but there is nothing tangible coming back. It is more or less all visual. Not really. At the end of the day it's just data, text, how you encode it is not very important as long as it can be understood. Because humans very strongly rely on sight, it makes sense that the default serialization format for text output be print/visual, but there are a number of non-visual interfaces to text. And if none fits, build a new paradigm. I think samlittlewood below makes a good point: even with a fairly slow (e.g. braille) output, it's at worst similar to coding using a line-oriented editor (e.g. ed). Except you're used to it because you see pretty much everything via a line-editor so you're probably proficient at it.
- eney 16y agoI'm a blind programmer. I use a 80-character braille display which shows one line of text at a time. My preferred language is Python although some blind programmers dislike it for its syntactic use of indentation. I find that scrolling with the braille display and feeling for the indentations on left gives me a good feel for the shape of a program. I know another programmer who prefers Perl because of its rich use of sigils, although he uses speech synthesis. I prefer to use vim for all types of editing (I hate IDEs although many blind programmers like Eclipse or Visual Studio). Why do you reckon the feedback blind programmers use as non-tangible BTW?
- gaius 16y agoWhat do you think about languages like J or APL or even Haskell, where you can do an awful lot in very few characters?
- eney 16y agoI don't know APL and I'm not currently smart enough for Haskell. My current infatuation for learning is with Scala. When I first started programming in the mid-80's, I was hacking on a COBOL stock-control system on VMS; the braille display I was using at the time didn't do terminal emulation, and this software built screens by outputting VT52 escape sequences. Although I learnt to decode them so that I could check my screens for alignment and spacing etc. I discovered that I could log an interactive session using SET HOST/LOG; I wrote a TECO program to translate these sessions back into a 2-dimensional layout that was much easier to read on my braille display. So, yes I generally like dense languages.
- viraptor 16y ago> "I learnt to decode them so that I could check my screens for alignment and spacing etc." That's just amazing, but I guess it makes a lot of sense... since your display is not 2d-based in the same way as standard screens are and you can read the code itself (i.e. the display is consistent). I'd upvote you a thousand times just for how cool it is to workaround difficulties in so leet way :) Of course it also reminds me of... I don't see code, just blondes, brunettes, redheads...
- jkent 16y agoHow did he handle other users of the ocean?
- gaius 16y agoNo worse than any other helmsman :-) Which is to say with the boat heeled over or the jib up, the helm is reliant on the bowman and the rest of the crew keeping watch anyway, you can't see much forward.
- jms 16y agoIt's interesting how quickly the text to speech setup can be made to run. My dad's computer talks so quickly I can't understand without slowing it down.
- samlittlewood 16y agoHow similar is this to using a line editor (ed/edlin/edit/teco) on a slow terminal? You have a model in your head, code in a buffer, and you use the edit commands to update both - with occasional listing sanity checks to check you are keeping the two in sync, or move to a new region. I hear some guys wrote a pretty cool operating system like that!
- Someone 16y agoIt is somewhat similar, but to get the real 'feel', you should also limit your line width to one to two characters. Braille reading typically is done with both hands (with one looking ahead, and one doing the actual reading), so it does 'show' slightly more than that, but you will still be faster at reading those characters than a blind person would be. Also, you would have to give up syntax coloring and style and font variations. Finally, chances are that some characters (braces, asterisk, plus sign) from your programming language take up more than one braille character. Real nerds would hack their character-to-braille pattern translator to optimize that translation table, but the price you pay for that is that you will have to cope with multiple mappings. Actually, you would have to do that anyways, as there is disagreement about the encoding to use, even for digits, and because the U.S. frequently uses a contracted braille system (where, for example, the single-letter word 't' must be read as 'the' where appropriate; that 'where appropriate' is for the reader to guess at)
- Avshalom 16y agoAlso, you would have to give up syntax coloring and style and font variations. I'm pretty sure ed was dead by the time those were invented, the wiki claims the "one of the first" syntax highlighting editors was in 85.
- dingle_thunk 16y agoI think the biggest thing for me would be living without intellisense/autosuggest - I mean it'd be OK to code ifs and fors and whatnots without them, but I can't imagine how I'd quickly navigate the large, enterprise software libraries I deal with regularly...
- silentbicycle 16y agoThere's a guy on the Lua mailing list who has mentioned (e.g. http://lua-users.org/lists/lua-l/2008-09/msg00513.html http://lua-users.org/lists/lua-l/2008-09/msg00513.html) that he appreciates how its relatively small and keyword based syntax (http://www.lua.org/manual/5.1/manual.html#8 http://www.lua.org/manual/5.1/manual.html#8), makes it easy to program in with a screen reader. There's also Emacspeak (http://emacspeak.sourceforge.net/ http://emacspeak.sourceforge.net/). I haven't used it, but there's a chapter about it in _Beautiful Code_.
- lancebailey 16y agowith so much crappy apps out there I figured blind people where already programing. :)
- arnemart 16y agoAmazing. It's really hard to imagine programming blind and jumping between methods/files/debuggers/browsers effectively, but it seems some people do pull it off. I was struggling with tendonitis in my right arm a year back and had to do all my coding left-handed, and that made me feel crippled and annoyingly slow. It's really impressive what people can overcome.
- smackfu 16y agoThe answers seem to reflect the technical "how", but I still don't get how you can efficiently program if it takes minutes to read a page of existing code.
- rosejn 16y agoWe had a blind classmate all through my undergraduate program in CS, and he was a very capable hacker. He lived inside emacs using emacspeak with a high speed synthesized reader voice, and you could often hear his terminal talking to him in the front row if you listened carefully during class. Blind people develop good memories because they are constantly building detailed mental models of spaces they need to navigate, and I think this might give them a leg up programming because they are used to working with mental models rather than referring to maps, diagrams and documentation. Their are obvious drawbacks, but I think programming is probably a pretty good choice of profession for blind people.
- balding_n_tired 16y agoI worked with a programmer who was legally blind. He used speech-recognition software plus some sort of display software that blew each character up to about 10" x 6".
- dugmartin 16y agoThe key is to use a good screenreader like JAWS. As I posted here its next to impossible using Window's built in screenreader, Narrator. http://news.ycombinator.com/item?id=1799588 http://news.ycombinator.com/item?id=1799588
- lukev 16y agoThere's a lot of talk about line editors in this thread. From a quick scan of Wikipedia, it seems that 40 cells is about the biggest braille display you can buy. WTF? Why has nobody invented a full-screen braille display? Is there some reason it's massively more complicated than it seems?
- eney 16y agoI'd love to have a 80x25 braille display. I believe they've been made in the labs. The blocker is the expense.
- lukev 16y agoHm. I smell a really good startup opportunity, if one could build a reproducible design. I know there's a ton of blind people out there... do most of them know or rely upon braille, and would be interested in such a product?
- eney 16y agoMost blind people use speech output. If braille displays were more affordable perhaps more people would use them. But with the cost of 80-cel displays being roughly double 40-cell displays, how could make an affordable multiline display?
- lukev 16y agoI think you'd need a different paradigm. Right now each cell (if I understand the design) is a relatively complex mechanical entity. Scaling a display means scaling the number of cells linearly, which gets expensive fast. But if you rethought the problem and built a sort of generic pixel-field display, only with each pixel being a pin, and a consistent way of activating them (perhaps something like e-ink), you could manufacture arbitrarily large screens with sub-linear cost.
- eney 16y ago
- staktrace 16y agoHas anybody out there who's not blind tried doing a "blind for a day" thing? Just wear a blindfold for 24 hours and see how much of your life it affects. I haven't tried it but after reading all this I kind of want to.
- kellishaver 16y agoI'm legally blind and have been since birth. I only have vision on my right eye. My visual acuity is low (around 20/180) and my field of vision very narrow (less than 20deg). Still, it doesn't really stop me from doing much. I program-and I also design. A couple of years ago I developed narrow-angle glaucoma, in addition to my other problems. After several laser surgeries failed to resolve the problem, I had a more invasive surgical procedure done. Afterwards, I was completely blind for 48hrs. Aside from the fact that it was terrifying, because at that point we didn't know how much of my vision would come back, I found that I was able to adjust fairly quickly. In just a few hours, I was able to get around the house, get dressed, shower, brush teeth, etc. unassisted. Eating was a little more difficult. It's hard to fork food you can't see. I stuck to sandwiches. I didn't attempt reading (I don't know Braille) or using the computer. I'm sure this was made easier by the fact that I'm very familiar with my house and by the fact that my vision was already poor, so I'm more used to doing more things by feel/sound/memory, especially at night. Which, I guess, answers your question, but to finish off the story: After a couple of days, my vision started to slowly come back, though it was very blurry for a long time. I was able to start using the computer, via a combination of the screen reader, enlarging, and inverting the colors on the display. All I could see at that point were shapes, and, after about a week, in order to read text, it had to be about 128pt and high contrast. Fortunately, most of my vision returned. The first couple of months were slow going, but after that, it got to the point where I could pretty much function as I did before. It took around 6 months to recover completely, though. I did end up losing some contrast sensitivity and as a result, I can no longer read printed text. There's just not enough contrast. I mean, I can see the words, reading for more than just a few minutes gives me a headache. So now I read books on an iPad and with the backlit screen (a backlit display helps a ton) and zoom capabilities, I can read without headaches.
- pavel_lishin 16y ago
- deleted 16y ago[deleted]
- cbo 16y agoA better question would be how can you program graphics if you're blind? That's something I would love to find out and/or solve.
- eney 16y agoI've used Graphviz to make relationship diagrams to aid my communication with sighted people. There's an interesting Google Developer Podcast with T.V. Raman where he mentions programming directly in Postscript while he worked at Adobe. I've used LaTeX for my personal documents (CV etc.) and sighted people have asked me how on earth I managed to produce such a nice document. I wonder how feasible it would be to use Metafont for more intense graphical expressions.
- kyleslattery 16y agoA group of students from Southern Illinois University Edwardsville and Washington State University is working on a programming language for the blind: http://www.youtube.com/watch?v=lC1mOSdmzFc http://www.youtube.com/watch?v=lC1mOSdmzFc
- skbohra123 16y agoI know a blind python programmer Krishna kant Mane[0], who works with pylon, is a FOSS evangelist, leads a foss project GNU Khata[1] and an awesome speaker[2]. I loved the way he uses all free and open source tools to work on his laptop, program and deliver. Hats off. [0]http://www.blogger.com/profile/07891377863557367515 http://www.blogger.com/profile/07891377863557367515 [1]http://gnukhata.gnulinux.in http://gnukhata.gnulinux.in [2]http://gnunify.in/speaker/profile/108 http://gnunify.in/speaker/profile/108
- raquo 16y agoI wonder how useful would be a VoiceOver-optimized editor for iPad.
- jim_h 16y agoThere are plenty of 'impossible' things you can do blind. For example, there are blind golf players. They have their own golf associations and tournaments. One of my old co-workers used to assist blind golfers by describing the location, distance, etc. The golfer does the rest.
- learner4life 16y agoOne of the lead programmers of JAWS is Glen Gordon. He is blind is one of the smartest programmers I have known. http://en.wikipedia.org/wiki/JAWS_%28screen_reader%29 http://en.wikipedia.org/wiki/JAWS_%28screen_reader%29 http://www.afb.org/afbpress/pub.asp?DocID=aw070204 http://www.afb.org/afbpress/pub.asp?DocID=aw070204
- bch 16y agoI read this headline as if Agent Smith were asking Mr. Anderson...
- jbronn 16y agoI suggest the person asking this question to watch "Sneakers."
- dekayed 16y agoAre there any other HNers out there with other disabilities that cause you to modify how you interact with your computer or how you program?
- Dramatize 16y agoI always wanted to learn braille as a kid so I could read in the dark.
- signa11 16y agohttp://emacspeak.sourceforge.net/raman/resume.html http://emacspeak.sourceforge.net/raman/resume.html