top | item 8965153

(no title)

Lrigikithumer | 11 years ago

Holy shit, I admire that guy so much. Being able to program whilst lacking sight astounds me. I wonder how he got into it.

Becoming blind is one of my biggest fears and I consider programming to be one of my favourite activities on the planet, I'm happy that if the worst were to ever happen to me, I wouldn't be completely screwed. However I gotta wonder how well he's able to hold all his code in his head just off hearing it, whenever I program I often go back and read and re-read parts I've already written, I imagine having to hear it over just glancing over it would slow the whole process down a lot. I know he mentioned that he's gotten very good at mentally conceptualising his code which no doubt takes a lot of training but damn, a really large codebase would throw me for a tizz.

discuss

order

jalanb|11 years ago

> I wonder how he got into it.

I'm a programmer by profession, but at one stage there were no such jobs available, so I went back to teaching. Teaching office computer skills (typing, Microsoft Office, drawing apps, ...) to kids who were "*-challenged", i.e. blind, deaf, mentally impaired and disturbed, and others.

The most exhausting, and rewarding, job I've ever had.

Vincent (one of the blind guys) ran into trouble with Word. Can't remember what the problem was, but I solved it with a simple Word macro. His flabber was gasted - not only did he then grok the fact that all the programs had code behind them, but the code was all plain text, hence was often easier to comprehend in a screen reader than what he heard from most programs. Even text in Word can be a pain to hear when every font change is also announced.

Of course the text might be easier to hear, but the logic behind can also tougher to grasp. But Vincent loved it and wanted to learn, and I much preferred teaching VB than teaching Word, so we soon had a programming class going within the office skills class. Some found it interesting, but Vincent found it easy and got a City & Guilds 425 Application Programming cert from the course. Went on to get a job programming before I did.

So I'd say he got into it the same way as me - one day I sat down in front of a terminal and wrote some code, which eventually worked, and I was hooked!

It was just easier for me because the terminal was more accessible and no-one thought it was "obvious" that I wouldn't be able to use it.

Rapzid|11 years ago

I imagine to some extent, due to the speed of his reader, he can audibly browse his code. This is just a guess.. My mind is actually getting all sorts of accessibility ideas for coders. If you could have hot keys to call out the function your in, call out all the methods in the current file(structure/class view etc). Jump to files. I have no idea what the current state of the art is, but I bet it could be streamlined a ton.

LISP's might make an interesting language of choice to due to the simplicity of their syntax and the ease of navigation through forms. Hmmmm.

zersiax|11 years ago

Audibly browsing through lines of code is something I do all the time, yep :) Also checking it using braille helps, its a bit more ...hmm ...direct in some ways. As for calling out functions and such, a lot of IDE's can already do that. Have a look at the outline view in Eclipse, as well as the annotations you can skip between using hotkeys which is useful for finding errors in your code

kuschku|11 years ago

There was another post about this months ago, and the blind poster said that while C is usable (thanks to brackets), python is completely unusable or unreadable to them.

zersiax|11 years ago

A large codebase is a pain if its not organized properly ...I like MVC a lot for that reason :) if people adhere to the conventions, its easy to find what's what

happimess|11 years ago

To be fair, I think a lot of sighted people would agree with you on both points.

ghurtado|11 years ago

Thank you so much for writing this amazingly inspirational article. You have so much to offer to sighted coders. Reading about your experience almost makes me wonder how much better all software would be if by some fluke of history we would have never invented visual representations of code, and we were all required to write code just like you do. It seems to me that like all the important abstractions of software engineering take on a much higher priority when you can't rely on your sight to make sense of the mess. "Less is more" indeed!

Please keep sharing your experience with the community, I think your input can bring about more benefits to sighted developers than you may have realized.

jon-wood|11 years ago

A blind friend of mine is a programmer, and honestly can hold the structure of his code in his head far better than I can. The same is true of just about anything else - he's quite capable of holding the state of an entire game of Scrabble in his head while still playing better than I can.

dsuth|11 years ago

This brings up a really interesting point - how do blind people visualise code, conceptually? When people talk about stacks, heaps, lists etc, there's generally a visual representation that goes along with it. I wonder what kind of abstractions blind people use.

ndarilek|11 years ago

Being blind doesn't mean you don't conceptualize things visually, or at least spatially.

When I was younger and being taught how to get around a new area, I had a hell of a time trying to get my instructors to draw me a map. Not sure if I wasn't explaining myself well or if those instructors just decided to play stupid, but I had to fight to get even a simple drawn tactile map, and once I had one everything more or less clicked into place. Now that we have accessible touchscreens on just about every modern mainstream OS, I'd love a shared whiteboard app that could accessibly render UML diagrams or whatever else drawn on one tablet to a roomful of connected phones, laptops and tablets. You couldn't necessarily convey shapes and such exactly, but if you could position a shape meaningfully and add some sort of access hint metadata (I.e. "downward-pointing arrow") I could spatially explore a UI or system diagram and everyone else can have their pretty pictures.

qznc|11 years ago

Are there any blind compiler/interpreter hackers? A programming language optimized for the blind would make an interesting esolang [0]. I guess a REPL works great. Does Forth or Lisp read better to the blind? Can you do syntax "coloring" in sound? Are static types helpful or is type inference prefered? Would they like an editor like ed?

So many questions ...

[0] http://esolangs.org/

zersiax|11 years ago

To be very honest with you, I never really think about the stack and the heap. I know the concepts, but I tend to zoom into my code far closer. I work with the current function only, its inputs and outputs. Someone on Twitter recommended TDD to me, which indeed is only a small logical step from what I am already mentally conceptualizing

thret|11 years ago

Me too! I've always thought losing my legs would be nothing compared to losing my eyesight. Good to know even that doesn't prevent you coding.