Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,541 posts.
Why train when you can optimize?
Multi-variable optimization is an incredibly useful tool for writing software. It allows you to specify a desired result and delegate finding the solution to a reliable algorithm. If you know what you want but not how to get it, optimization can probably help. Problems with many interacting variables that are…
HAproxy in the era of Microservices
Tales of a Software Craftsman
A Magnetized Needle and a Steady Hand
Now they’ve gone an done it. An unidentified agency has spread a potent computer virus across all the world’s computers and deleted the binaries for every copy of every software development tool. Even the offline copies — it’s that potent.
A New R6RS Scheme Compiler
Some readers already know this and a few have suspected. I’ve been working on a new R6RS Scheme compiler for a while. Now I have released it as free software. Read on to learn the many wonderful drawbacks of this niche compiler.
A Simple Rust GUI with QML
You may have heard of Rust by now. The new programming language that “pursuis the trifecta: safety, concurrency, and speed”. You have to admit, even if you don’t know what trifecta means, it sounds exciting.
10 REM"_(C2SLFF4
That is the first line of the 80s microcomputer BASIC game The Wizard's Castle initially written for the Exidy Sorcerer platform.
FaaS in Go with WASM, WASI and Rust
This post is best described as a technology demonstration; it melds together web servers, plugins, WebAssembly, Go, Rust and ABIs. Here's what it shows:
Implementing Stripe-Like Idempotency Keys in Postgres
Building resilient services by identifying foreign state mutations and grouping local changes into restartable atomic phases so that every request can be driven to completion.
Rye: A Vision Continued
A progress update on where my Rye Project is today.
CUDA grep
CUDA grep : Manish and Brandon's 15418 final project
Generating the Alphabet
My current generative artwork-in-progress includes text, but I don’t want to use a font. In browser based art work, using a “web safe” font could produce inconsistent results, while including a font file would mean a large file size. Additionally, I don’t want a visual element of the project to be s
Twitter's Vine source code dump
urandom talks
Building a startup in public: from first line of code to frontpage of Reddit
I show how I built a mini startup called Hoodmaps in public from the first line of code to a functioning web app that I got to the frontpage of Reddit with ove…
Remembering Conway
Gosper's Glider Gun in Conway's Game of Life I'd known of Conway since my early teens. I remember reading about his Game of Life in an old Scientific American someone gave me. The article (a quick search tells me) was published in October 1970, so I'm guessing I saw it in the early 70s, perhaps 1972. I was hooked.
An Elm compiler for the Erlang Virtual Machine
I’ve been exploring the idea of an Elm compiler that produces assembly for the Erlang Virtual Machine. You can find the code for this project on GitHub . This essay documents some interesting parts of the project.
A practitioner’s guide to reading programming languages papers
Last week I jokingly said that POPL papers must pass an ‘intellectual intimidation’ threshold in order to be accepted. That’s not true of course, but it is the case that programming languages paper…
AWS Graviton vs. M1 vs. M1 Pro Node.js Benchmarks
I am lucky in that I have a few side projects which have grown up to become full fledged companies. One of them builds little tools to detect different types of financial crime.
How to test without mocking
Mocking creates false security by testing isolation, not real behavior. Separate business logic from IO, use in-memory DBs, write server-side E2E tests instead.
The Lava Layer Anti-Pattern
TL:DR Successive, well intentioned, changes to architecture and technology throughout the lifetime of an application can lead to a fragmente...
SPAs are harder and always will be (2013)
There's quite a lot of talk these days about Single Page Applications (SPAs) and the terrific user experience they deliver. This is great, and the SPA architecture is probably a good fit for many apps, but I want to point out two reasons why SPAs are harder to develop and maintain than tr
SQLite Doesn't Use Git
Instead, it uses Fossil as a version control system. Some thoughts.
Down the Golang Nil Rabbit Hole
Edit 2021-03-30: Jeremy Mikkola wrote about some closely related topics back in 2017. Edit 2021-03-31: Chris Siebenmann wrote a response to this post that explains exactly how interface values that are nil are typed. It’s more complicated than I thought! I’m not sure I have another Rust & Postgres blog post in me…
Htmx and the Rule of Least Power
less is more
Python datetime pitfalls, and what libraries are (not) doing about it
It’s no secret that the Python datetime library has its quirks. Not only are there probably more than you think; third-party libraries don’t address most of them! I created a new library to explore what a better datetime library could look like.
The illegible nature of software development talent
Here’s another blog post on gathering some common threads from reading recent posts. Today’s topic is about the unassuming nature of talented software engineers. The first thread was a …