- How Google ruined the internet 🙂
- On malleable programming environments
- ACM made a bunch of good stuff free for a while
- Inspiring story on how the Crafting interpreters book was completed
- On “the power of Prolog”
- On the understandability of computer systems
- An interesting (and old) paper on “Common Lisp, typing, and mathematics”
- On ZIO
- (on that note …) on “the death of Scala”
- A sort of cross-post, for fans of Zizek: A pervert’s guide to programming languages
- Comparing Linux and FreeBSD
- On overcoming the grip of Von Neumann Architecture
- Advocating for Emacs (yes!)
- Using “boring technology” to good effect
- A fun song by Peter Norvig
Tag: Curated
Monthly Curations: April 2020
- On the differences in dynamic linking between Swift and Rust
- Fascinating account on what it took for the PS2 (yes, for old-timers) to have the backward compatibility that made it popular
- Another historical interest piece: the Taos Operating System
- Fun talk about Perl 6
- An even older article, Ted Nelson introducing “Hypermedia” in … (yes, I was a toddler then) … 1988
- One of those things where I’m just gonna leave the headline here: “Finding Mona Lisa in the Game of Life”
- Many “April 1st”s ago: an RFC for TCP Packet Mood
- Remembering a 1980 article about Lisp as it was then.
- A rant about web browsers
- On the mathematical underpinnings and interconnectedness, of nature and computation
- I remember coming across Matt Might’s blog a decade ago and … then I saw this talk that was really moving and inspiring
Monthly Curations: February 2020
- Datomic overview
- An attempt at Typed lisp
- Another look at Guix
- “Programming like Kent Beck”
- Report on the 20th anniversary of SBCL
- On tests as code
- A humorous look at how programming has changed in 20 years
- Size comparison of various
hello world
programs - A database with branches, like
git
(!) - A comparison of JVM and the BEAM
- (since I was reading up on Elixir during the holidays …) a look at how Discord used Elixir successfully
- A paper titled A scalable pipeline for designing reconfigurable organisms
- A short story John McCarthy wrote long ago, titled The robot and the baby …
- On the pains of transitioning to Python 3
- On why SQLite should be thought of as “serverless”
- Somethings about Self: an old paper and an old video
- Something about FreeBSD
Monthly Curations: January 2020
- A mix of parody and seriousness, on Haskell and Ocaml: take 1 & take 2
- What’s new in Scala 3
- A look at Raku (and some myths)
- On Paradise Lost
- On math vs simulation
- I might have posted this already, but: a shot of Emacs in Tron Legacy …
- On web pages that are … built to last
- Crux, an open-source bitemporal graph database backed by Kafka (and featuring a testimonial for Confluent Cloud)
Monthly Curations: December 2019
- The title says it all: Running a bakery on Emacs and Postgresql (!!)
- If anyone remembers Terry Davis, a BBC episode of The Digital Human about him, his life, his work (it’s one of those truly bizarre achievements)
- Cheering Drew DeVault for an insipiring side-project taken to Alpha and beyond
- On really teaching computational thinking
- Carl Hewitt (of Actors) on Reusable Scalable Intelligent Systems
- Extremely comprehensive set of musings on text editors
- Looking back at twenty years of Erlang
- Bit of absolutely hilarious satire (or at least that’s what I thought it was)
Note: Many parts of this post are true or at least plausible, but I did not actually install Emacs in my car. Neither should you.
- Ways in different programming languages, of achieving fearless concurrency, another comparison of “actor frameworks” across languages
- A video about live-coding … from a decade ago
- An interview of Arthur Whitney (of K and Kdb) by Bryan Cantrill
- Speaking of which … he’s part of an interesting new company now.
- An interesting comparison of Swift and Rust
- On switching to Plan 9
- A “real-life example” of using Datomic
- An adventure with the JVM, from one of the folks behind JRuby
- Another deep-dive into an example of JVM bytecode
- A “FUD FAQ” for Scala
- On the weird orbital movements of Neptune’s moons
- File this under “weird things parasites make their hosts do”
- An interesting interview on “the aesthetics of programming tools”
- Couple of examples of applying modern perf tools in Linux
- Command-line tools in Clojure!! Which work fast thanks to GraalVM!!
- Updates on Project Valhalla for the JVM (Part 1, Part 2)
- Interesting take on database indices vs hash tables
- Putting too cool things together: Smalltalk and Graal_ (one very old, and the other very new)_
- A look at new Garbage Collectors for the JVM (and a brief look at the equivalent in Go)
Monthly Curations: November 2019

- Applying the lessons of the Golang scheduler to the Tokio scheduler in Rust
- Speeding up Nixpkgs by avoiding subshells
- Pessimism about engineering software
- The Racket programming language is heading in a new direction
- Ben Lynn’s “most functional compiler”
- Someone tries TLA+ and comes away impressed
- Something recommended by a co-worker: CMU 15-721, a course on Advanced Database Systems
- Matt Godbolt (of Compiler Explorer) on “why C++ isn’t dead”)
- Urbit is here
- Comparing APL and C (!)
- Remembering the era of Flash
- Clojure at “the immutable bank”
- Zen and the art of software maintenance
- Shareware and floppy disks …
- Reminiscing about different versions of Microsoft
- I recently discovered all the different “server-less options in GCP”
- Looking back at the first version of Redis, written in … wait for it … in Tcl !!
- A periodic reminder about microkernels
- Why text editing is so hard to implement
- (Re-)Assembling the Apollo Guidance Computer (!)
Monthly Curations: October 2019
- Leo talking about making games in Common Lisp
- Moving log data at massive (10x LHC) scale
- Habits of good software design(ers)
- An OS being built for … after the apocalypse
- Quirky selection of nerdy books
- A new software forge
- A fully distributed software team
Monthly Curations: August 2019
- Wondering whether Perk 6 should be named as a totally different language
- A look at “typed Lisp”
- Bob Martin on “why Clojure”
- Rakuten And Egison
- In defense of stable platforms
- And now, a quote, something about languages both natural and artificial, spoken and digital:
It makes perfect sense to say that the target demographic of English is English speakers—or more precisely, the target demographic of Modern English is Middle English speakers who wanted a few simpler rules, some continental vocabulary, following other contemporaneous European languages in not having þ and distinguishing i and j, etc. It was a relatively small change and very intentionally served a community of people who already spoke Middle English well. It was the Python 2-to-3 of English.
The target demographic of Esperanto, meanwhile, was the whole world: people who already had a language, people who already had a workable lingua franca in international contexts (French, later English), and in particular people who weren’t familiar with the European language patterns that Esperanto was largely based on. So it had limited success. A Japanese or Indonesian or Persian or Swahili diplomat not familiar with any European language would be better served learning French or English than Esperanto, because those languages are roughly equally foreign, there are many more resources for learning French or English, there is a larger community and more people to speak to, there is a larger corpus of works, etc. And an Anglophone or Francophone diplomat has very little incentive to learn Esperanto, either.
Modern Hebrew, on the other hand, had a well-identified target demographic: Jews from around the world migrating to the reestablished state of Israel who lacked a shared everyday language. Some liturgical Hebrew was already familiar to most of this population, and there was a strong cultural willingness to see a reestablished Hebrew language. So while it is in many senses a conlang, it was far more successful than Esperanto and now has a large community of native speakers.
So the question of whether a programming language—especially one that is so much like a conlang, not an incremental evolution based on use in practice (like the C standards committee accepting compiler-specific dialectal changes)—has a target demographic is a fair one.
Monthly Curations – July 2019
(yep, not a lot this month …)
- On MonoRepos
- On the purpose of programming
- Remembering the fifth generation computing project
The shrew-like networked GUI equipped microcomputers of Apple were released as products only two years after this central planning dinosaur was postulated. Eventually, decades later, someone built a mechanical golem made of microcomputers which achieves a lot of the goals of fifth generation computing, with independent GUI front ends. I’m sure the Japanese researchers of the time would have been shocked to know it came from ordinary commodity microcomputers running C and using sorts and hash tables rather than non-Von-Neumann Prolog supercomputers. That’s how most progress in engineering happens though: incrementally. Leave the moon shots to actual scientists (as opposed to “computer scientists”) who know what they’re talking about.
Monthly Curations – Jun 2019
- Compiler comparisons: C2 vs Clang (JIT vs AOT), then C2 vs GraalVM (two JITters)
- Somewhat funny: The evolution of a Scala programmer
- Transitioning from “Next” to “Swift” for Apple
- Nice survey of IDEs and other tools, and their tradeoffs, and when complexity might be warranted (and somewhat more specifically, a look at Neovim)
- A rant of sorts on how machine-learning systems are stuck today
- “Interesting ideas in Datasette”
- Things you take for granted and never quite thought about: _level design in 2d games_
- Dug up an old article that should quiet people complaining about the lack of hash-table literals in Common Lisp
- Wonderful website: Apollo 11 in real-time (!)
- A look at Tesla’s new self-driving computer
- Using Pharo (smalltalk) for modeling, (specifically) Bioinformatics
- A look at Self
- Chuck Moore on 50 years of Forth (!)