Exemplary software designs
β’ 333 words β’ ~2 min read β²
The Pew research center recently published an estimation that 38% of webpages from 2013 are no longer accessible. And, as if to underline the point, a few days ago the Internet Archive was hit by a DDoS attack. Preserving the web continues to be an open problem, and this is a reminder to archive things you care about locally, where it is possible. Given that state of affairs, here's a few articles I found interesting, which against the odds are still online. They share a common thread: all of them are about exemplary software design ideas.
Asher Olsen lays out the internals of the First Lisp Compiler. What I find fascinating is how many high-level features could be realized by ingeniously mapping some syntactical sugar over lambda calculus to the instruction set of a computer from the mid-1950s. However, I've to admit that the details still go over my head, but what else is to be expected by the language from which the gods wrought the universe (at least ostensibly so, as xkcd reminds us)?
So let's come back to a lisp more suitable for mere mortals: Javascript. A few month before Musk decided to cure my addiction to the bird site (and contributing a bit to the 38% of URLs that have vanished), Frank Force tweeted a program, fitting in 256 bytes of JS and HTML, which renders a city landscape using ray casting. Daniel Darabos shortly afterwards reverse-engineered and dissected its inner workings in Decoding A City In A Bottle. Frank recently also wrote a break down of his code.
Last, but not least: Greg Wilson has made his book Software Design by Example - a tool-based introduction with JavaScript freely available only. I've still got to work through some of the chapters, but it is the kind of book that would be on my shortlist for a Great books of software engineering curriculum. If you're into making software, you might also want to checkout the rest of Gregs impressive bibliography.