I built a GPU back end for Emacs
A few months ago I became obsessed with a silly question: why does my Emacs, on a laptop with a perfectly capable GPU, draw all of its text using the…
Topics /
The most popular blog posts about software engineering on Hacker News. 966 posts.
A few months ago I became obsessed with a silly question: why does my Emacs, on a laptop with a perfectly capable GPU, draw all of its text using the…
That morning I woke up at 6:58, two minutes before the alarm. I lay there and waited for it to ring. And it rang. We both did our jobs. I still don’t know why I remember it in such detail. I used to forget what I’d had for dinner the night before. And now I remember the whole morning minute by minute, as if someone…
My Implementing a Forth article got some great feedback, particularly around the subject of tiny Forth implementations. (And it was an excuse to list some of the tiniest Forths I’ve seen.)
Stripe Across is a grog. We hope you enjoy it.
When I started programming, my whole day revolved around development. I’d wake up, write code, and go to sleep. And that’s how it was day in and day out. My entire social circle consisted of people who also wrote code. I studied frameworks, libraries, and various programming languages.
In the past few months, I’ve been stress-testing how far AI coding agents can take us when building real, production-grade distributed systems. The result: a Rust-based multi-Paxos consensus engine that not only implements all the features of Azure’s Replicated State Library (RSL) [1] — which underpins most major…
Co-authored-by: ur mom
Let’s say you’re creating a CLI tool which has to display syntax highlighted source code. You begin by choosing some colors which look nice with your chosen terminal theme:
Memoryfields - a vastly simpler way to do agent memory
When a codebase is large and complex, it's risky to big changes. Here's a structured way to approach
We previously noted that, while it's easier than ever to hit a particular quality bar by having coding agents use effective test techniques, software quality seems to be getting worse , indicating that whatever defaults developers are using may not work very well. Here, we test if simple instructions to agents to use…
Bedrock is a minimal, human-crafted starter-kit for Emacs, and today I’m pleased to announce that version 2.0 of Bedrock is available! This release requires Emacs 31, which came out in August 2026. If you are unable to upgrade Emacs that high, you should be able to remove some of the Emacs 31-specific config without…
python has 6 pre-declared "constants": True , False , None , __debug__ , Ellipsis (or equivalently ... ), and NotImplemented . but they all behave slightly differently, for some reason.
Every dataframe library ships with hundreds of operations. pandas alone has over 200 methods on a DataFrame. Is pivot different from melt? Is apply different from map? What about transform, agg, applymap, pipe? Some of these seem like the same operation wearing different hats. Others seem genuinely distinct. Without a…
History of the development of my windowed operating system for 32-bit Am29000 processors when I was age 18.
Update: I've since added multithreading and pushed astroz to 326M propagations/sec. Read the follow-up → I've spent the past month optimizing SGP4 propagat...
Righty-ho, I’m back from Rust Nation, and busily horrifying my teenage daughter with my (admittedly atrocious) attempts at doing an English accent 1 . It was a great trip with a lot of good conversations and some interesting observations. I am going to try to blog about some of them, starting with some thoughts…
Java 17 introduced sealed classes, which allow you to explicitly list the allowed sub-types of an interface or base class. For example, here’s a toy example using a sealed interface and records (in…
Ape coding is the software development practice where a human developer deliberately hand-writes source code.
A practical workflow for running 4–8 parallel coding agents using Claude Code, tmux, and a Markdown-based feature design system.
The macOS command-line tool hdiutil is used to manipulate disk images. From the WHAT'S NEW section of man hdiutil on the latest macOS 27 Golden Gate beta:
As I continue reading An Introduction to Parallel Programming, I cannot help but notice a connection between communication among processors, communication among human beings, and communication within the individual self....
A post by Eshel Yaron introducing the Emacs Trust Manager
Please, feel free to gather better data yourself and prove me wrong. If you do so I'll link to it!
An opposite view on .gitignore files.
I wrote a specification for a new terminal escape sequence: OSC 7501, the Program Status Protocol . It lets any program tell the terminal what it's doing: idle, working, waiting on the user, finished, or failed, and why.
From the highly eclectic blog of Mark Dominus
Against dependency cooldowns as a response to supply chain attacks
Archiving 104K files into tar.gz reduced I/O time by 43x and total processing time by 2.3x. The bottleneck was not disk speed, it was syscall overhead.
net/http/httptrace has been in the standard library since Go 1.7 and most Go developers I talk to have never used it. It exposes hooks for the points in an outgoing HTTP request that you usually cannot see from outside the transport: DNS resolution, connection acquisition, TLS handshake, the moment bytes go on the…