Home Page
This is a collection on essays on open source, programming languages, and software engineering.
See also /all for content sorted by update time, or try /random.
programming languages
It's not sufficient to learn the basics of a PL to analyse it. You should be Grokking​ALanguage.
Once you do, you can answer quesetions like Why​Python, Why​Ocaml, Why​Lisp, Why​Javascript, Why​Rust or even Why​Emacs.
Structured programming remains much underrated, and Cons​Is​Basically​Goto.
When it comes to PL implementation, AOTWill​Win. PLWork​Is​Mostly​Error​Handling. Usability​Research, Measuring​Productivity. Good​Package​System
I even have some discussion of static vs dynamic typing in Dynamic​Types​Have​Advantages and Aha​Moments​From​Types.
open source
Why do software communities succeed with a whole range of licenses? It turns out that Licenses​Dont​Matter.
software engineering
Do programmer automate as much as they should? The Importance​Of​Automation discusses how we often miss opportunities.
Have you ever tried Knuth's cweb or docco for literate programming? You probably haven't, because Literate​Programming​Solves​The​Wrong​Problem. There's value in Learning​From​Old​Tech though.
Should you use markdown on your next site? You probably should, even though Markdown​Isnt​Perfect.
Should you use a monorepo? It depends on your scale: Monorepos​Arent​Perfect.
If you've ever worked with a large dataset, you've probably noticed a big difference between individual items and aggregate statistics. This is the problem of the Vanishing​Middle.
What happens when you've been working in software development for a long time? You'll notice the Long​Term​Effects​Of​Programming.
what is this site?
This is an open-source blog/wiki hybrid with an intentional Technology​Aesthetic. See About​This​Site and About​Me.
You will encounter content that is still a Work​In​Progress.