Hacker News new | ask | show | jobs
by Epiphany21 1521 days ago
The characters we use to interact with our computers were mostly designed to be hand-written and minimize the amount of movement your hand has to make going from one letter to the next. I theorize that they don't translate all that well to existing display technologies. Not so much because of the shape of the fonts, but because format isn't conducive to sharing or receiving information as quickly as our machines and our wetware could allow.

If you think about this a little more, programming is actually a way to overcome the limitations of spoken/written languages to an extent, since the machine can parse the text faster than you, and it can read other forms of data that are even more efficient. In my view a monitor displaying human-readable text is similar to a legacy ABI that's kept around because of the technical momentum and mindshare it has, not because it's particularly good.

2 comments

> The characters we use to interact with our computers were mostly designed to be hand-written and minimize the amount of movement your hand has to make going from one letter to the next.

That is an interesting theory. Do you remember a source for it?

Taking that idea to an extreme (and not suggesting the theory requires such an extreme), imagine optimizing characters only for that specification. I imagine much more prominence for simple, single, mostly horizontal lines, moving left-right and ending rightward.

  / \ - ~ _ , . ` ' ^ n u v w m 2 z ...
The punctuation performs much better. You could imagine 'dot on bottom', 'dot in middle', 'dot on top', 'two dots on bottom' ... 'line on bottom' ... 'tilde on bottom' ... 'slash top to bottom', 'slash middle to bottom' ... etc.
That's one way to do it but it helps to think in terms of cursive, or people's sloppy handwriting where the letters are often connected by at least one stroke so that the tip of the pen doesn't need to be lifted from the paper.

There are also multiple ways to write a given character. For example, some people put a line through the number 7 for easier readability, and so it isn't confused with 1. Something similar can be done with 0 so it isn't mistaken for a 6 or capital O.

The real interesting characters are ones like number 4, where it can be square or triangular. However, to write the square version quickly you have to lift the pen. To write the triangular version you only need to put the pen to paper once.

These are just some common examples I see in use day to day. I'm sure there are many more optimizations being employed, especially in languages other than English where the characters can be much more complex.

Designing a set of glyphs for an alphabet is a multidimensional optimization problem:

- economical for writing - minimize changes in direction, minimizing movement, etc.

- clarity between glyphs (0 vs. O, + vs ×)

- robust to noise, 3rd graders and doctors

- insensitive to medium (pencil/paper, stick/clay, brush/papyrus)

- legible at small sizes, low contrast, noise in the display (coffee stains, inkjet cartridge low, etc.)

- context - if two glyphs rarely co-occur, it's okay if they look similar (0 and O, I and 1)

I wonder how the modern English alphabet was developed. I assume it evolved, but perhaps it is partly or largely the product a few influential design decisions.

Also, while I agree those are important measures of performance, I wonder how much the development of the alphabet was influenced by them.

> economical for writing

Another interesting thought experiment would be designing an alphabet for typing, that ignored writing optimization.

>since the machine can parse the text faster than you

You had me up until there; the machine doesn't know jack about text. It knows arrays and sequences of numbers according to the rules we've defined them by, for it.

Yuo cna reda tihs raedliy btu teh copmtuer cna't. Your brain is trained by billions of years of evolution for symbolic parsing and pattern pairing, and language is just one flex of that muscle.

Where computers thrive is where we've done the hard work to break down the syllabic system that is inherent to our biology into mathematical abstractions that can be computed by addition. Computers are great at solving problems we've already done, and repeating the steps, nothing more.

Our machines are beautiful, well designed levers. But they don't move anything, they leverage our movement.

>Yuo cna reda tihs raedliy btu teh copmtuer cna't.

Why can't it? Isn't that basically what current AI research is doing? Using massively parallel systems to make quick inferences based on existing data sets?

>the machine doesn't know jack about text. It knows arrays and sequences of numbers according to the rules we've defined them by, for it.

If you want to be pedantic and define a computer as the hardware only, sure. The operating system (which contains tools that can in fact parse text) is an essential component in the vast majority of computers in existence. So when I'm discussing computers as a complete, usable unit, then yes, they parse text.

>Our machines are beautiful, well designed levers. But they don't move anything, they leverage our movement.

Well said.

>Yuo cna reda tihs raedliy btu teh copmtuer cna't.

It would be interesting to see what GPT3 would do with this statement.

Edit; just tried it. GPT-3 chatbot understood it instantly.

Cutting edge language processing algorithms trained by professionals in a herding manner for years ought to produce something that solves what is basically a parlor trick of language. It might even be a cheat-around on encoded rules but I don't have the paper.

Still I'm willing to go out on an increasingly thin limb and say GPT3 is still playing a really big game of mad libs, and its 'understanding' of the language is more akin to the extremely rudimentary mathematical factoring of sentence structure and grammatical rules. That is, it could be trained to recycle on what others have done for poetry, and spit out something that sounds like what we've read that we call poetry, but it isn't putting poetry out, because it doesn't know what that means...not in like a conscientious way, but a literal, it has no "idea" which to express through a medium, it's just transcribing according to rules, not from say, first principles which then are interpreted through rules.

Again, too much to demand of a really fast adding machine anyway.

Your view of computers seems overly simplistic. The "adding machine" is just one component in a larger series of abstractions that enable functionality the adding machine is normally too inflexible to perform.

This is because math is a man-made thinking tool, similar to language. It works because we all agree to follow the rules of it, not because those rules are set in stone. The universe operates on its own time, by its own rules. Our constructs are also bound by those rules. You are alive because your entirety is worth more than the sum of your parts, and computers operate on a similar principle. When you shove a wooden board under a rock to pry it loose from the soil, you're leveraging the same forces that allowed you to even wake up that morning, and so does your computer when you jiggle the mouse to wake it.

In my opinion the miracle of consciousness is not the material it gets scribbled onto, but instead the fact it can exist at all.