Four Column ASCII (2017)

garbagecollected.org

189 points by tempodox 2 days ago


fix4fun - 5 hours ago

For me was interesting that all digits in ASCII starts with 0x3, eg. 0x30 - 0, 0x31 - 1, ..., 0x39 - 9. I thought it was accidental, but in real it was intended. This was giving possibility to build simple counting/accounting machines with minimal circuit logic with BCD (Binary Coded Decimals). That was wow for me ;)

kazinator - 5 hours ago

This is by design, so that case conversion and folding is just a bit operation.

The idea that SOH/1 is "Ctrl-A" or ESC/27 is "Ctrl-[" is not part of ASCII; that idea comes from they way terminals provided access to the control characters, by a Ctrl key that just masked out a few bits.

taejavu - 5 hours ago

For whatever reason, there are extraordinarily few references that I come back to over and over, across the years and decades. This is one of them.

pixelbeat__ - 4 hours ago

Some of this elegance discussed from a programmatic point of view

https://www.pixelbeat.org/docs/utf8_programming.html

renox - 4 hours ago

I still find weird that they didn't make A,B... just after the digits, that would make binary to hexadecimal conversion more efficient..

unnah - 4 hours ago

If Ctrl sets bit 6 to 0, and Shift sets bit 5 to 1, the logical extension is to use Ctrl and Shift together to set the top bits to 01. Surely there must be a system somewhere that maps Ctrl-Shift-A to !, Ctrl-Shift-B to " etc.

dveeden2 - 5 hours ago

Also easy to see why Ctrl-D works for exiting sessions.

rbanffy - 2 days ago

This is also why the Teletype layout has parentheses on 8 and 9 unlike modem keyboards that have them on 9 and 0 (a layout popularised by the IBM Selectric). The original Apple IIs had this same layout, with a “bell” on top of the G.

dang - 5 hours ago

Related. Others?

Four Column ASCII (2017) - https://news.ycombinator.com/item?id=21073463 - Sept 2019 (40 comments)

Four Column ASCII - https://news.ycombinator.com/item?id=13539552 - Feb 2017 (68 comments)

- a day ago
[deleted]
timonoko - 5 hours ago

where does this character set come from? It looks different on xterm.

for x in range(0x0,0x20): print(chr(x),end=" ")

                    

msarnoff - 4 hours ago

On early bit-paired keyboards with parallel 7-bit outputs, possibly going back to mechanical teletypes, I think holding Control literally tied the upper two bits to zero. (citation needed)

Also explains why there is no difference between Ctrl-x and Ctrl-Shift-x.

- 4 hours ago
[deleted]
- 2 hours ago
[deleted]