Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,843 posts.
Git Worktrees and GitButler
How do git worktrees help you work on more than one branch at the same time, and how does that differ from virtual branches in GitButler?
A Primer Through Golem
A primer and very high-level overview on what Golem Network is and what it can do.
Prompting LLMs is not engineering
prompt engineering is nothing but an attempt to reverse-engineer a non-deterministic black box for which any of the parameters below are unknown: - training set - weights - constraints on the model - layers between you and the model that transform both your input and the model's output that can change at any time …
A farewell note to a programming language
Do you remember how we first met, back in 2012? I thought your functional approach was fresh, and different. For a while I believed we were made for each other. A first project was a success; on my own I was comfortable with the good parts of you. But as soon as I started working in teams writing Scala, your immense…
Guile Steel: a proposal for a systems Lisp
Before we get into this kind of stream-of-consciousness outline, I'd like to note that very topically to this, over at the Spritely Institute (where I'm CTO, did I mention on here yet that I'm the CTO of a nonprofit to improve networked communication on the internet on this blog? because I don't think I did) we…
Vim 8.2
For MS-Windows, download the self installing executable . Signed MS-Windows files are available on the vim-win32-installer site ( gvim_8.2.0012_x86_signed.exe is recommended) For Unix you probably want to get the latest version using git, see the github page Otherwise see the Download page for options.
Stacked Diffs versus Pull Requests
Update: This post received quite a lot of healthy discussion on Hacker News. You can follow that conversation here: https://news.ycombinator.com/item?id=18119570
Server-Side Only React with Next
You visit a seemingly simple website with little or no interactivity, yet somehow it sends you 2 MB of JavaScript to digest. You're half way down the article that you're reading and suddenly: client-side rendering kicks in, resets everything. You try to find your way back but the page is now janking around. Your…
Legacy Software Systems: How to Live with Aging Software Architecture?
Legacy software systems in 2026: why they are still used, myths about legacy and Java, tips from our engineers, and when to upgrade Java.
Advent of Code Surveys: Results
Results dashboard with the yearly (unofficial) Advent of Code participant survey
Where the top of the stack is on x86 (2011)
I've noticed more than once that some programmers are confused about the direction in which the stack grows on x86, and what "top of the stack" and "bottom of the stack" mean. It appears that this confusion is caused by a basic mismatch in the way people are used to thinking about stacks, and in the way the stack on…
Historically, 4NF explanations are needlessly confusing
4NF presented in a straightforward way, with some investigation of history of teaching 4NF.
An Introduction to Condition Handling for Non-Lispers
One of Common Lisp’s more advanced features is its condition handling system, which is a powerful generalisation of other languages’ exception handling systems. I first became aware of condition handling from Peter Seibel’s Practical Common Lisp , chapter 19 . But if I’m honest I’ve only very recently understood what…
Automating My /Now Page
A deep dive into how I automated my now page on my personal website by creating a Go script and making use of GitHub Actions.
I designed my LED matrix PCB with code
This tutorial will walk you through building a 3x5 LED matrix controlled by a Raspberry Pi Pico using tscircuit.
Yes, Claude can do nine loops
Claude computes a nine-loop amplitude in N=4 super-Yang-Mills
Ryanair, Hamiltonian Cycles, and using graph theory to find cheap flights (2018)
Using graph theory and Ryanair route data to find cheap multi-city flight loops through Europe.
Build a Game This November with GitHub Game Off
Game Off, our annual game jam (a hackathon for building games) returns this weekend. Participants will be given a secret theme on November 1 and will have the entire month…
Indices, not Pointers
There is a pattern I’ve learned while using Zig which I’ve never seen used in any other language. It’s an extremely simple trick which - when applied to a data structure - reduces memory usage, reduces memory allocations, speeds up accesses, makes freeing instantaneous, and generally makes everything much, much…
Zero size arrays in C
The current structure definition of the ion system heap involves a zero sized array:
The Evil Within the Comparison Functions
Perhaps, readers remember my article titled Last line effect. It describes a pattern I′ve once noticed: in most cases programmers make an error in the last line of similar text blocks. Now I want...
Building binary deb packages: a practical guide
How to ship your apps on Debian and derivatives.
Exactly-Once Initialization in Asynchronous Python
A common situation in asyncio Python programs is asynchronous initialization. Some resource must be initialized exactly once before it can be used, but the initialization itself is asynchronous — such as an asyncpg database. Let’s talk about a couple of solutions.
A faster path to container images in Bazel
rules_img is a Bazel ruleset for building and publishing OCI images that feel native to Bazel by treating images as metadata first and moving bytes only at the edges.