
How a Blind Person Programs - am391
http://blog.freecodecamp.com/2015/01/a-vision-of-coding-without-opening-your-eyes.html
======
lovelearning
Starting today, every time I feel like ignoring accessibility in my
applications because "no blind person is likely to use them", I'll remember
this blog and punch myself in the face.

~~~
ianlevesque
Or the eyes

------
Lrigikithumer
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.

~~~
dsuth
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.

~~~
qznc
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/](http://esolangs.org/)

~~~
ndarilek
Check out Emacspeak[0] for one of the best audio coding environments I've
worked with. Not a big fan of Raman's "ignore decades of accessibility work
and run Emacs apps for everything!" approach, but based on my recollections of
15 years or so ago, it was one of the best coding environments I've worked
with. It did a sort of audio syntax highlighting with different voices for
different tokens, and more or less nailed auditory bracket/paren matching.

I can't for the life of me code in any Lisp-like language. Too much nesting,
and whereas speech synthesis inserts pauses at commas and other punctuation
marks, Lisp's lack of them makes it hard to parse a heavily-nested function
call by ear. This is true to a lesser extent with Haskell and its emphasis on
., $ and other operators that change how a function call is structured.

As always, opinions expressed are my own, and shouldn't be taken as a
statement of how collective blind people do X. I'm one of many, so please
don't walk away from this thinking Lisps are hard for blind folks. They're
tough for me, and above are _my_ particular reasons why.

0: [https://emacspeak.sf.net](https://emacspeak.sf.net)

------
yaddayadda
>Fortunately, some fellow campers at the Free Code Camp were sympathetic
towards my plight and volunteered to transcribe all these slides for me. This
offer left me 'flabbergasted', as our dear western neighbors across the sea
would say.

Many ions ago, I volunteered for an organization called "Recordings for the
Blind and Dyslexic" (now known as Learning Ally -
[http://www.learningally.org/](http://www.learningally.org/)). Groups of
individuals (mostly retired professors and other students) would record
textbooks for college students. It was all volunteer and donation based. It
would typically take days to weeks from starting a book until the recording
was ready.

I loved almost all of it. The one thing I didn't like was that we would read a
book in shifts and you wouldn't always be working on the same book from shift
to shift, so you might read scene three of a play one shift, then the next day
read chapter seven of a calculus 2 textbook. Regardless, it was always
interesting and we always knew that there were students benefiting from our
effort. As an extremely nearsighted child, one of my fears growing up was that
I would grow to be so nearsighted I would be functionally blind, so it was a
little personal for me.

Since then, I've been in charge of 508 conformance on many different websights
[1]. I have always appreciated the sensory-challenged sharing how they are, or
are not, able to use websites. I never cease to be amazed at the human ability
to adapt and overcome such challenges!

[1] Freudian slip that I noticed but decided was worth sharing ;-)

~~~
steveax
Also, Bookshare [1] has 300k+ accessible titles.

[1] [https://www.bookshare.org/](https://www.bookshare.org/)

------
cturner
I'd like to know: what is the most comfortable posture for coding once you no
longer have to look at a screen? I've wondered whether a syntax-sparse
language like iolanguage might allow you to code entirely by voice and ear,
with no need for keyboard. For those of us with vision, imagine having a
lounge with a large screen on the wall. You can talk into your headset as you
pace around, or lie on the couch.

~~~
zersiax
Technically I can already sort of do that in any language. Do keep in mind
that all I need to interact with a computer is a keyboard and some way to hear
audio ...so I can in fact lay back on the couch with a keyboard on my lap and
code away. In fact ... I do that all the time ;) I can't check my work using
braille that way though, which is kind of essential with very complex code

~~~
yaddayadda
@zersiax

\- Thank you so much for sharing!

\- You mention,

>Premier tools that coders use every day, like the IntelliJ editor, as well as
all its offshoots (PHPStorm, WebStorm, PyCharm), are completely inaccessible,
due simply to the fact that the developers of these programs have not adhered
to the accessibility guidelines. They've failed to give screen readers textual
labels or accessibility descriptions to work with. The same goes for
applications like SourceTree, which is slowly getting better, but is still a
pain to use.

Have you tried VIM, eMacs, Sublime or Brackets; if so, how would you rate
them?

What is your experience with HN's interface? I know I frequently wish there
were more visual indicators of new/unread responses, but I can at least scan
the beginning of messages and skip ones that I've previously read; do you have
a corresponding way to skip responses?

~~~
zersiax
No, I have to read through all the comments over and over and quickly arrow
along when I notice its a comment I've already seen. As for your editor
questions: Brackets is sort of usable, but too much of a pain to actually be
useful. Vim ...I really have no idea how to use it, and I think thats not a
'being blind' thing :P I should look into it more Sublime is, like the
IntelliJ, completely inaccessible Emacs works well regarding you can get your
braille display hooked up to Linux, which is a little tricky for me in my
current configuration. Also, there's Emacspeak which I am having a hard time
getting to run because I don't speak Lisp :)

~~~
jcr
Do you have trouble with voting up either comments or stories on HN?

If you check out the HN page source you'll notice the HTML anchors for voting
are essentially empty save for an empty HTML DIV element with it's background
image set to the arrow icon. Needless to say, the way it's designed is dead
wrong and highly problematic for systems like terminal text browsers.

~~~
zersiax
Oddly enough no, I can read the vote up buttons just fine and should in fact
use them more :) maybe some JS behind the scenes that is taking care of it

------
madethemcry
That blog post is very interesting. I really enjoyed the reading and must
admit that I should spend more time on accessibility.

The speed of the screen reader Zersiax uses is unbelievable fast. I can't
understand a single word:

[https://soundcloud.com/freecodecamp/zersiaxs-screen-
reader](https://soundcloud.com/freecodecamp/zersiaxs-screen-reader)

~~~
sergiosgc
Wow! Just, wow! I had skipped hearing the screen reader on my first pass on
the article. It is amazing how human audition can parse that speech rate.

If that rate were the norm, I'd be classified as hearing impaired. I can't
identify a single word.

~~~
hueving
Not hearing impaired, just mentally disabled. :)

------
nothrabannosir
Hey guys a note from the author on Twitter:

Florian ‏@zersiax 2 hours ago

mate, could you comment on there that I created a channel on freenode called
#zersiax if peeps have questions?

Florian ‏@zersiax 2 hours ago

seems I posted too many comments on HN , its blocking me from sending more :)
and I do want to reply o all these

[https://twitter.com/zersiax/status/560810466789044224](https://twitter.com/zersiax/status/560810466789044224)
[https://twitter.com/zersiax/status/560810548263407617](https://twitter.com/zersiax/status/560810548263407617)

\---

There's something beautiful about a typo from a visually impaired person :)

------
mickeyp
A friend of mine, a programmer, lost his sight. He was an Emacs user and could
more or less continue programming thanks to Emacspeak, a package for Emacs
that alters the voice depending on the syntactic construct of the word it is
reading. It goes without saying that without Emacs and Emacspeak he would have
had an uphill struggle returning to his job.

------
zersiax
Wow ...so many questions ...I'm not sure where to begin answering all of these
:) HN is throttling me, so please come find me on #zersiax on freenode to
discuss this if you have more questions :) I hope this goes through ...

~~~
Raphmedia
As a web developper, I would LOVE if you could compile a list of things I
should do to make your life easier. I have read the best practices. However, I
would love to have a list that comes from you. What are some websites that are
doing it well?

~~~
zersiax
Please come find me on IRC or twitter for this :) any list I could draw up
will leave you with a lot of questions, and asking those would just get
frustrating in a medium like this. If you rather use another form of
communication, please let me know and I'll see what I can do

------
krick
I never had a chance to talk to somebody who was blind all his life and I've
always been curious about that. It seems pretty obvious, that blind person can
be dreaming, because hearing or smell are senses as much as eyesight is. I
cannot comprehend the opposite: does person, blind all his life actually
understand what "seeing" means? Of course he knows from the communicating with
the others, that he lacks some ability, which most people have, but does he
"feel" it somehow? Especially it is interesting with well-read people: writers
often spend quite a large portion of the book describing how something
_looks_. So, literate blind person must be well aware of words like "color",
"beauty" (addressing the look of something), "bright", "dark", "dull",
"picture" and such. But if he never ever _saw_ — do all these words mean
anything to him? Does he have idea of what it is like "to see"?

~~~
jareds
I have been almost totally blind all my life. I have some light perception and
from talking to people the nearest I can come up with for colors is that black
is when it is totally dark, gray is a normal room with lights turned on, and
white is looking directly at the son. I associate colors with objects such as
grass being green, brown being dirt, blue being the ocean etc but this isn't
actually useful information.

~~~
krick
Thank you for the response. I don't know if having some light perception can
be called "totally blind", because the sense of seeing isn't totally
unfamiliar to you, probably it's more like "very-very bad eyesight", am I
right?

But still, as I understand you somewhat have a grasp of what color actually
is, it isn't just "some word other people use", is it?

But what of notion of visual beauty? Does it mean something to you, when
somebody says that this picture, or woman, or sculpture is beautiful? Can you
tell if sculpture is "beautiful" or not after touching it with your fingers?
If so, would it be meaningful to discuss something like that with your seeing
friends or you would be more likely addressing something completely different
from what they do?

And a couple more questions, if you don't mind. Are you completely functional
in well-known environment? For example, how hard cooking in your own kitchen
is for you? And how much of a problem it is if somebody was working in the
kitchen before you and left some items, like knife, in the wrong places? How
hard it is to you to move in completely unfamiliar environment? Like, say, can
you travel to some distant new location completely on your own, without a dog
or another human? How long would it take to being accustomed to the new
environment, like when being guests at somebody's place? Could you take a walk
in the forest or a big park on your own? Would you feel insecure being there
for the first time?

I'm sorry if I'm bothering you, it's just I really, really wanted to ask all
these questions and more for quite a long time.

~~~
zersiax
Number of questions :) I'll see if I can answer them, at least how I think
about it. :) For me, color is abstract enough for me to be unable to imagine
it. Asociating colors with objects is something a lot of blind people do, but
it turns into parameters on an object that way. Color = blue; there's no
description ... blue = null pointer exception; As for visual beauty, this is
incredibly difficult at least for me to fully comprehend, because you sighties
have the annoying habit of changing what you think is beautiful every so many
years :P Beauty might be the smoothness of the sculpture, its simetry, its
proportions being exactly right. That is the only, somewhat clinical,
description of beauty I can think of, at least visual beauty. I must say that
when it comes to beauty in humans I tend to disregard it completely. People
look like what they look like and that is subject to change anyway as time
goes on, no use worrying about it if I can't see it myself anyway. I myself
live on my own, therefore I am forced to cook, clean, do my own laundry etc.
if I like it or not. This, like a lot of other things, is something you learn
to live with. I can safely say that yes, I am fully functional in my own home
:) Changes in the kitchen area can be a little annoying, but would never
severely throw me off. There's only a finite amount of place the knives
could've gone, to use your example. I tend to lay out everything I need before
starting to cook though, to avoid ...less than ideal situations when such a
thing happens. Unfamiliar environments are a bit of a tricky thing. You are
right in assuming a dog is an incredible help in such situations,I am
hopefully receiving my first dog some time this year but I see time and time
again how this affects the confidence and independence of blind people I know.
To answer your question though, it really depends on the person. Some people
have a very good sense of direction and wouldn't have a problem in a forest or
would get used to another's house quickly enough. I myself have a bit more
trouble with that, but I do hop onto a train to an unfamiliar city if I know
someone will be at the final station to pick me up and take me where I need to
go, thats not something every blind person would do. It depends on a huge
number of factors.

------
fiatjaf
This audio is the most unintelligible block of sound I've ever heard, but it
made my day much happier to know you can understand it and use it nicely.

I will try to use the HTML5 accessibility tags and attributes whenever I can
from now on (I currently don't even know what is there about accessibility to
be implemented).

------
simi_
What a nice chap. I like and adhere to the opinion prevalent in this thread
that we should pay more attention to Accessibility. I personally find I'm
conditioned to ignore people with different needs than me when I design
products, and this is an eye-opening example.

 _apologies for the horrible pun_

------
jrochkind1
> I therefore have to keep looking for tutorials, programs and tools that are
> accessible, and cannot simply pick up any off-the-shelf IDE.

Another advantage of the ruby community's general commitment to produce a
language that _can_ be written in any old text editor. I think Java long past
that point, you really _need_ an effective IDE with certain features that it
knows about Java to be effective in Java.

Making sure things are still doable with a plain text editor gives developers
a lot more options (including for developing new editing environment
improvements), instead of locking them in to certain IDEs. A lot more options
for accessibility reasons or any reasons.

------
dugmartin
I helped rewrite Narrator, the Windows built in screen reader, for Vista.
After we had a basic version working I tried turning off my monitor and using
it to write code. I gave up quickly.

------
neverartful
Several years back I worked with a team that had a blind developer. The team
was transitioning to Java. The blind developer told me in a meeting that she
was having trouble doing something in Eclipse. I told her that I would go with
her to her desk to help diagnose the problem. Watching a blind person use
Eclipse with a screen reader was simultaneously awe-inspiring (the screen
reader part) and horrifying (the Eclipse part). Needless to say, Eclipse was
not well suited for the blind.

~~~
zersiax
Please, elaborate on this. I tend to use Eclipse as my primary IDE and am
wondering what the blind person had trouble with, what screenreader they were
using and how long ago this happened.

~~~
neverartful
This occurred in 2009 and unfortunately I don't recall any of the details. I
only remember that it was running on Windows. I was blown away watching her
use a screen reader for doing all sorts of things. I know that some of the
developers on the team had originally worked with COBOL on mainframe or AS400.
I don't know how well (if at all) 3270 or 5250 terminal emulators work with
screen readers, but I strongly suspect that COBOL source code was easier to
manage than Java in Eclipse.

------
js2
I turned on OS X's built-in screen reader, then set the rate to 100 (the
fastest it goes). It's still not as fast NVDA.

It's interesting that he's using Windows 8 and I'd have liked if he'd talked
about that briefly. I'd always thought that Apple was way ahead of the other
vendors on this accessibility, but perhaps with third-party software available
on the desktop for screen reading that's not the case.

~~~
zersiax
Even though the built-in screenreader mac OS X uses blows Narrator out of the
water currently, it has a long way to go to compete with 3rd-party
screenreaders on the Windows platform, especially when it comes to
productivity and actually getting work done. The advantage of VoiceOver is
that it is baked into the OS and therefore also the recovery media, making it
far easier to reinstall the entire OS from scratch. Thiscan be done in Windows
as well, but only recently were the tools created to actually allow this semi-
reliably. On the mobile front, Apple does outperform the competition by a
rather broad margin.

------
chinpokomon
A decade ago, I got to visit one of the accessibility labs at Microsoft. I'm
not terribly surprised that Visual Studio works well as there are ocularly
impaired developers at the company. I had the opportunity to speak with those
who ran the lab and observe how someone used these screen readers first hand.

------
SwellJoe
A friend of mine is a blind developer. He built his own screenreader for
Android (
[https://play.google.com/store/apps/details?id=info.spielproj...](https://play.google.com/store/apps/details?id=info.spielproject.spiel)
), because he was unhappy with the existing options. I haven't yet gotten over
being amazed, but I always knew he was really bright, so I should just get
over assuming not having sight would prevent him from being an effective
developer.

He has ambitions to do hardware hacking, but has been thwarted by difficulties
with identifying parts (i.e. resistors are color-coded), among other things.
I've been meaning to sit down with him sometime and work on _something_.

------
V-2
Nice one! I can recommend this thread on StackOverflow as well:
[http://stackoverflow.com/questions/118984/how-can-you-
progra...](http://stackoverflow.com/questions/118984/how-can-you-program-if-
youre-blind)

------
bellacodes
The absolute limit of comprehension for sighted people is 10 syllables per
second. Blind people, however, can comprehend speech sped up to 25 syllables
per second.

This sample is playing at 16 syllables per second and it already sounds like
COMPLETE gibberish to me:
[https://rdouglasfields.files.wordpress.com/2010/12/speech16-...](https://rdouglasfields.files.wordpress.com/2010/12/speech16-syllables-
a-sec.wav)

([http://www.scientificamerican.com/article/why-can-some-
blind...](http://www.scientificamerican.com/article/why-can-some-blind-people-
process/))

Makes you wonder who the "impaired" ones are.

------
queryly
Thank you so much for your insightful post and prospective.

I have a question on how you imagine/think. People with eye sigh often think
with pictures. Even thinking about abstract things like programming. I often
visualize how a data structure looks and how it interacts with other code. I
have found it tremendous useful as I can replay/test such scenario in my head.

Do you have similar experience when you think? Do you construct mental picture
(such as circle, a binary tree) in your head? What is it like?

~~~
zersiax
that question is both very easy and incredibly difficult to answer. Yes, I
visualize code the way you guys do, but not with pictures. Let us take a
2-dimentional array as an example. I tend to visualize this as a table. A
table, for me, is a construct with columns and rows. Naturally, I do not have
a spacial picture of this, the closest I can get is a tactile representation
of either a chess board or a scrabble board. In both cases, a single array
index becomes a tile, which makes me able to visualize it. But just like
dreams, I would not use a visual frame of reference here because that simply
isn't an option, it is a tactile representation that I somehow translate into
a mental ...'picture' for lack of a better word. If you think that is tough,
think of how incredibly tough it is for me to visualize CSS ;)

~~~
queryly
Thank you for answering my question. I think I now get a sense of thinking
using tactile representation. I can imagine it is incredible hard to work on
things that don't have 1-to-1 mapping between visual and tactile.

It is a fascinating topic. I hope to have a chance to understand how brain
really works in my lifetime.

Thank again!

------
4ad
Related: 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. She finds VAXen much easier to deal with than PCs, and CLIs much
more accessible than GUI screen readers.

[http://bsdtalk.blogspot.co.at/2008/03/bsdtalk143-bsd-
hobbies...](http://bsdtalk.blogspot.co.at/2008/03/bsdtalk143-bsd-hobbiest-
deborah-norling.html)

~~~
LeonM
That download link seems to be broken, can anyone upload that cast somewhere?

~~~
4ad
Mirror:
[https://archive.org/details/bsdtalk143](https://archive.org/details/bsdtalk143)

------
waynecochran
A blind student took my programming tools course last spring and together we
wrote an accessible sudoku app for the Mac:

[https://github.com/wcochran/accessiblesudoku](https://github.com/wcochran/accessiblesudoku)

Apple usually has fantastic documentation, but we had to experiment a lot to
figure out the accessibility API.

------
blackRust
I imagine a purely text-based terminal set up running on a specially crafted
host OS/VM that does the text-to-speech would be a fantastic solution. You can
browse the web, email, twitter! I'm not sure how CLI browsers handle JS?

If this existed would there any good reason to be using a GUI at all (for a
Visually Impaired Person)?

~~~
jareds
I think Emacspeak is close to what your talking about.
[http://emacspeak.sourceforge.net/](http://emacspeak.sourceforge.net/) The
reason I don't use it is because I could never get it to work quite right so
just continued using Windows. It's a lot easier to use Windows, Eclipse,
Outlook, Office, etc even if it is somewhat less productive then Emacspeak
would be. The amount of time I'd have to spend working around how to integrate
with my co-workers Windows based setups if I used Linux with no GUI makes it a
non-starter.

------
ckuttruff
Really curious about how a linux environment compares in terms of usability
for the blind. zersiax, are you using windows primarily because of the
toolchain you need for work / school, or did you find linux lacking in terms
of its support for your needs?

------
20kleagues
Are there frameworks to automatically analyse html for accessibility and
perhaps provide a certain rating based on set guidelines? I think that might
be a very interesting project to work on if such a thing does not exist.

~~~
steveax
There are automated tools, but in my experience they mostly pick up the easy
things (missing alt attributes, etc.) The harder bits are focus and
notification in SPAs. Read the WCAG docs [1] and the and WAI ARIA docs [2]
stick to them. Then test with a screenreader.

[1] [http://www.w3.org/TR/WCAG20/](http://www.w3.org/TR/WCAG20/)

[2]
[http://www.w3.org/WAI/intro/aria.php](http://www.w3.org/WAI/intro/aria.php)

------
r00nk
I actually had an idea for this. What if blind users could wear little braille
terminals? Like, braile is constructed of a series of dots, so why not have
like a bracer that has a array of dots that poke the skin?

~~~
zersiax
it might work, but the nerves found in the fingertips are far more sensitive
than anywhere else on the body. This might be trainable though, I don't know

~~~
FreeFull
The tongue is incredibly sensitive, I've seen some work on giving blind people
the ability to have low-resolution vision by having an array of electrodes on
the tongue (before the tongue, they used the back, but that's not anywhere
near as sensitive) and a webcam.

------
darkFunction
Wow, the audio example... It's like a solid wall of pure data.

~~~
elzr
Yes! I guess I'm experiencing an _awe_ at symbolic prowess comparable to that
of only-functionally-literate people staring for the first time at the syntax-
colored/indented walls of text used by programmers.

I had to download the audio example and lower the playback speed to a third of
what it was before it started making sense! It is a reading of an earlier
_draft_ of the first bit of the post, btw, so there are several divergences
which make it even harder to try to match text to speech.

------
k__
I knew a blind programmer back in the days.

We always joked he did our UI.

~~~
Sanddancer
A housemate of mine works with a blind web dev. The only real problem she has
with is making sure certain css divs appear correctly on the screen, which she
overcomes by asking friends, etc if it looks correct.

------
fiatjaf
Log of the Q&A session at #zersiax channel:
[http://pastebin.com/FUQUnXVR](http://pastebin.com/FUQUnXVR)

------
Throwaway1224
I was in an ACM programming competition in 2004(?) where one of the
competitors was blind. It was hosted by LSU.

I always wondered what happened to that dude.

------
bobosha
Thanks for sharing, learned something valuable today

------
gcb0
> If left paren x equals five

you have a bug there :)

also, why not use different sounds for ( [ { etc?

would a different beep for each instead of "left paren" make life easier?

~~~
zersiax
It might. You are putting your finger on a rather experimental way of browsing
through code, something which Emacspeak currently does reliably as the only
editor I am aware of. Rather than using sound fx, it uses difference in the
TTSvoice to denote different syntax properties, kind of like audible syntax
highlighting

------
lohengramm
Really interesting, specially the audio. I can't understand a single word. In
fact, im far from it!

------
lsiebert
Yeah, I will definitely try to do more to implement screen reader
accessibility in web apps I build.

------
mattmurdog
Really cool. Thank you for sharing.

------
ruben94
wow, respect.

------
Kenji
Wow! Those screen readers are fast (his example
[https://soundcloud.com/freecodecamp](https://soundcloud.com/freecodecamp))! I
barely understood a word. I didn't know that.

It's a shame that so many programs don't follow the accessibility guidelines,
but it's just too damn easy to forget about the disabled if you aren't. But
this article was an eye-opener for me (no pun intended).

~~~
superobserver
Since he has a whole occipital lobe to devote to parsing that, I don't feel so
bad that my auditory processing isn't quite up to snuff. Reminds me of speed
reading, though. What is the wpm on that? Maybe I'll ask him on freenode.

~~~
malnourish
Is there evidence to suggest that a brain is that plastic? Genuinely curious.
I feel like the "blind people have super-powered other senses" is an urban
legend, like the 10% of your brain misconception.

~~~
DennisP
The brain seems to be pretty darn plastic. There have been experiments with
giving people whole new sensory inputs, and finding that the brain adapted to
them quite well. Two examples:

\- A grid of electrodes on the tongue, activating with a pattern fed from a
camera. After a while, blind experimental subjects reported actually seeing
what the grid displayed.

\- A belt of buzzers hooked to a compass. The buzzer closest to magnetic north
was always active. After a couple months, subjects weren't really conscious of
the buzzing, but got a really good mental map of their environment and their
position in it. They could navigate unfamiliar environments much better than
before...and then much worse, when the experiment ended.

There are also some well-known cases of blind people using echolocation pretty
effectively, without any special hardware.

Don't have links handy, unfortunately.

~~~
tormeh
This. Make any prediction of how advanced the brain is, then double that, at
the very very least. It is barely short of magical. Even single neurons can do
processing way more advanced than the artificial ones we use in machine
learning. The rest of the body is honestly quite disappointing in comparison.
Even the immune system and DNA/RNA mechanisms seem trivial and those are
pretty dope compared to most other things.

~~~
sfilipov
_Even single neurons can do processing way more advanced than the artificial
ones we use in machine learning._

How does that work? A single neuron is a single neuron. My understanding is
that the brain has _lots_ of neurons and also they are assembled in certain
"NN architectures" that are far more advanced than what we currently have. But
I think that if you go the the single neuron level then they are pretty
similar in terms of problem solving capabilities.

~~~
tormeh
Well, a neuron can either fire or not fire; 0 or 1. For a neuron to fire,
enough of its' synapses need to fire. How likely a single neuron is to do so
based on an incoming action potential varies over time according to Hebbian
learning. Once x synapses fire, the input is linearly summed to determine if
the neuron as a whole fires. That's a neat abstraction and it is pretty
descriptive. But it's also a little too neat to be true. The summation is, of
course, not linear and neurons react to incoming signals even if they don't
fire. How likely a neuron is to fire also depends on how much it has fired
recently, as the synapses "get tired" (the concentration of certain molecules
are temporarily exhausted), but for some neurons, likelihood increases as a
result of previous firings before it decreases. Hebbian learning increases the
strength of the connection to neurons that participates in successfully firing
the neuron, but connections under a certain strength threshold decay with
time, while those over it are stable (inability to create these stable
connections is connected to alzheimers).

That's what I remember and I just took some neuroscience courses. There are
multiple books out there attempting only to describe behaviour mathematically,
let alone describing the underlying mechanisms, which is true "here be
dragons" territory.

