3 ms·
I'm impressed. Easily readable and understandable, short and as far as I can tell no factual inaccuracies and wrong information (unlike many other Unicode intro
by ygra 13y ago
I'm impressed. Easily readable and understandable, short and as far as I can tell no factual inaccuracies and wrong information (unlike many other Unicode introductions and tutorials).
- rjh29 13y agoWhat do you think about http://richardharr.is/unicode-in-five-minutes.html http://richardharr.is/unicode-in-five-minutes.html ?
- aidos 13y agoI think this is great explanation for anyone who's approaching the subject for the first time. It gives a good introduction as to why you're staring at broken data coming from a db and just how royally screwed your afternoon is going to be getting back into shape :)
- gnosis 13y agoI liked the explanation at the beginning of the Strings chapter in the Dive Into Python 3 tutorial: http://getpython3.com/diveintopython3/strings.html http://getpython3.com/diveintopython3/strings.html
- qznc 13y agoYou want some criticism, because we have too little of that here on HN? I'll bite. ;) "A byte is a set of 8 bits. Computers typically move data around a byte at a time." A byte being 8 bits is ok. Historically, a byte might have a different number of bits, but all modern architectures use 8 bits. Since this is an introductory article, this is fine. (more details: http://en.wikipedia.org/wiki/Byte http://en.wikipedia.org/wiki/Byte) Computers do not typically move data in byte chunks. You could say "a byte is the smallest unit of data a CPU can load or store". If you talk about moving data, the question is between what. Probably memory. However, there are caches nowadays, since bandwidth is cheap and latency is expensive. Data is moved in cache line chunks, which means 4-64 byte chunks depending on architecture and cache level. Bigger chunks in upcoming architectures.
- chiph 13y agoIIRC, the IBM System 360 is the machine that really set the 8 bits == 1 byte convention in stone. Before that you had CDC machines with 6-bit bytes (or Nybbles if you owned an Apple ][ with a floppy disk)
- mjn 13y agoThere's some subjectivity in where you consider it standardized, but I would put it later than that. Throughout the period when IBM's System/360 was popular, DEC's PDP series was also popular, which used 36-bit words and a somewhat varying definition of what constituted a byte. If I had to pick a date, I'd pick 1977 as when it solidified. A few elements: ARPAnet standardized on octet-based protocols in the early 1970s, and was getting widespread by the mid 1970s; three popular microcomputers based on 8-bit architectures were introduced in 1977 (the Apple II, TRS-80, and Commodore PET); and DEC introduced the 32-bit VAX in 1977.
- kalleboo 13y agoAnd thanks to good old SMTP originally not being specified as 8-bit, we get freakshows like UTF-7 http://en.wikipedia.org/wiki/UTF-7 http://en.wikipedia.org/wiki/UTF-7
- npongratz 13y agoI knew bytes were ambiguously sized, but I had thought a nibble/nybble was (A) always half an octet, and (B) a fun Apple coders magazine [0]. But sure enough, I was very wrong on (A): Apple II disk writes were done in "sets of 5-bit or, later, 6-bit nibbles" [1]. Thank you, chiph! [0] http://www.nibblemagazine.com/ http://www.nibblemagazine.com/ [1] https://en.wikipedia.org/wiki/Nibble#History https://en.wikipedia.org/wiki/Nibble#History
- chiph 13y agoThere's probably some variation in the terminology, but I always used these terms: bit nibble (4 bits) nybble (6 bits) byte (8 bits) word (16 bits) :
- 13y ago