Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,834 posts.
The compiler was supposed to end programming too
In 1954, IBM said FORTRAN would virtually eliminate coding and debugging. What the numbers say about AI and software work in 2026, and my guess at a developer's Tuesday in 2031.
LLMs can't do probability
I've seen a couple of recent posts where the writer mentioned asking LLMs to do something with a certain probability or a certain percentage of the time. There is a particular example that stuck in my mind which I've since lost the link to (If you're the author, please get in touch so I can link through to you): The…
Don't use functions as callbacks unless they're designed for it
…same goes for option objects.
A years-long Turkish alphabet bug in the Kotlin compiler
Logic vs language: how a Turkish alphabet bug played a years-long game of hide-and-seek inside the Kotlin compiler
Claude Is Not a Compiler
Or: the difference between vibe-coding and vibe-engineering.
Can functional programming be liberated from the von Neumann paradigm? (2010)
Inspirations & experiments, mainly about denotative/functional programming in Haskell
Fun with Go Iterators
Go 1.23 added Iterators, so lets build a js like streaming api
Don't Roll Your Own
This is going to be a rant about modern web design practices. But before I get to that, let me begin with a familiar principle from the world of cryptography. Among software developers, and especially among those who work on security-sensitive systems, there is a well-known maxim: Don't roll your own crypto. This does…
Yocto, RockPi and SBOMs: Building modern embedded Linux images
TLDR: I wanted to generate an up-to-date disk image for a Rock Pi 4 using Yocto that included CUPS and Docker to both get a better understanding of Yocto …
Purposes, Concepts, Misfits, and a Redesign of Git
PerezDeRosso2016 Santiago Perez De Rosso and Daniel Jackson: " Purposes, concepts, misfits, and a redesign of git ". Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications , 10.1145/2983990.2984018 .
Bytecode VMs in surprising places (2024)
In response to a question on Twitter 1 , Richard Hipp wrote about why SQLite uses a bytecode VM for executing SQL statements.
Too Many Knobs
Xu2015 Tianyin Xu, Long Jin, Xuepeng Fan, Yuanyuan Zhou, Shankar Pasupathy, and Rukma Talwadker: " Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software ". Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering …
SBCL: the ultimate assembly code breadboard (2014)
Paul Khuong's personal blog. Some Lisp, some optimisation, mathematical or computer.
Julia's multiple dispatch explained with Pokemons
T hese days, I find myself evangelizing for Julia quite a bit. It’s a good language, especially for scientific computing, but I believe its focus on performance also makes it a good general language as well. At some level, programmers who know multiple languages have an abstract understanding of the constructs used…
CSS: The bad bits and how to avoid them
The more I use CSS, the more I think it’s an absolute wild wild west. It’s mature, ubiquitous, yet lacks basic, common-sense features that come as a given in other similar tools
Emacs GUI Library
Lately, my Magit buffer broke once again because of something weird going on with major mode, and I couldn’t stash or commit hunks unless the point was at the beginning of the line. That once again reminded me that Emacs UI is not really a UI, all of it is mere text with a bunch of properties slapped on top.
Generalizing 'jq' and Traversal Systems using optics and standard monads
The Personal blog and musings of Chris Penner, a designer, developer and future opsimath.
Building a MongoDB Clone in Postgres
I had a crazy thought. Don't all good ideas start with that phrase? Well, this one was suitably crazy: why not build my own version of MongoDB right on top of Postgres? It sounds a little far-fetched, but in all honesty it's pretty simple.
Why isn't memset() async-signal-safe?
Really, POSIX? Really? memset() isn't async-signal-safe? How is it not safe? … oh … that's why
Implementing system-versioned tables in Postgres
There's no official support for system-versioned tables in Postgres yet, and the temporal extensions aren't supported on Azure/AWS/GCP. Let's implement it ourselves with 3 triggers and an index.
Dagger Python SDK: Develop Your CI/CD Pipelines as Code
Build powerful software environments and containerized operations from modular components and simple functions. Perfect for complex software delivery and AI agents. Built by the creators of Docker.