Latin1 was the early default character set for encoding documents delivered via HTTP for MIME types beginning with /text . Today, only around only 1.1% of websites on the internet use the encoding, along with some older appplications. However, it is still the most popular single-byte character encoding scheme in use today. A funny thing about Latin1 encoding is that it maps every byte from 0 to 255 to a valid character. This means that literally any sequence of bytes can be interpreted as a valid string. The main drawback is that it only supports characters from Western European languages. The same is not true for UTF8. Unlike Latin1, UTF8 supports a vastly broader range of characters from different languages and scripts. But as a consequence, not every byte sequence is valid. This fact is due to UTF8's added complexity, using multi-byte sequences for characters beyond the general ASCII range. This is also why you can't just throw any sequence of bytes at it and e...
Lately I've been thinking about the differences in people growing up today versus the lives of past generations. When I recall my own childhood, I think about how different the world seemed back then. By the time I was seven, my father had taught me how to use a telescope, ride a bicycle, build ramps, play baseball, rollerblade, play hockey, and how to play the guitar, as well as how to build instruments. My father would also read me history—though, at the time, I wasn't as enthusiastic about that as I was about riding bicycles or playing sports. I remember zooming around the neighborhood with friends as the sun fell beneath the horizon and orange streetlights lit up—just as my mother would holler that dinner was ready. My mother would work during the day, and my father at night. And they both provided me with knowledge and resources for survival, instilling in me many good traits—and a moral compass. However, when I was younger and more naive, I thought my parents—especial...