Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
Look ma, no locks
We describe a systematic approach for replacing locks with tasks. In this approach thread blocking is replaced by properly scheduling of tasks.
Pipelining in psql (PostgreSQL 18)
the psql client version 18 comes with pipelining, which can speed up client-server communication. In this post, let's see how it works and how much can be g...
CSS for Internationalisation
I've come across people who do not think that CSS is related to internationalisation at all, but if you think about it, internationalisation is more than…
Unfinished Business with Postgres
7 years ago I left Heroku. Heroku has had a lot of discussion over the past weeks about its demise, whether it was a success or failure, and the current state. Much of this was prompted by the recent, and on-going security incident, but as others have pointed out the product has been frozen in time for some years now…
Sabotage
In many places it seems to have become the norm to celebrate overwork, sleep deprivation and chronic stress. Ordinarily if you reveal that you are unhappy, unproductive and causing yourself mental and physical harm, people will be concerned and try to intervene. However, the expected response to this kind of suffering…
How RLHF Works
Why RLHF may still win out and why we haven't seen it yet in open-source.
The Elements of APIs (2021)
Would you like the design a web API that is reliable and pleasant to use? I have some ideas for you.
Building DigitalOcean's API Gateway
technology blog about ruby, scala, java, golang, software engineering and programming in general
Flow Field Pathfinding
You may know me for my interactive tutorials. But before that, I was writing visual but non-interactive tutorials. In particular, there wasn’t a lot of information about A* on the web, so I decided to collect all my notes about pathfinding [1] together in one place in the 1990s. But then in the 2010s I started making…
Finding the Lost Vikings – Reversing a Virtual Machine
After having fun reverse engineering the Comprehend Adventure game (Recomprehend) I was looking for a new DOS game reverse engineering project. Over the years various people have reversed a lot of …
Roguelike Tutorial: Up-to-Date and Literate
Started on 9th May, 2019 it took almost five months to finish. It again puts the tutorial in a place I am happy with for now, and it will likely stay there for quite some time. Given the priorities and circumstances in my life, I don’t expect to keep working on it for time to come.
Reducing the maximum latency of a bound buffer in Erlang
Recently I came across two great articles on the Pusher blog: Low latency, large working set, and GHC’s garbage collector: pick two of three and Golang’s Real-time GC in Theory and Practice . The articles tell the story of how Pusher engineers reimplemented their message bus. The first take was done in Haskell. During…
IOCCC Flight Simulator (2010)
The IOCCC Flight Simulator was the winning entry in the 1998 International Obfuscated C Code Contest. It is a flight simulator in under 2 kilobytes of code, complete with relatively accurate 6-degree-of-freedom dynamics, loadable wireframe scenery, and a small instrument panel.
Repairing Corrupted ZIP Files by Brute Force Scanning in C
My brother is a wonderful photographer , and took 14 gigabytes of photos at my recent graduation from Columbia, some of which I hope to post on PhotoFloat -- my web 2.0 photo gallery done right via static JSON & dynamic javascript .
The practice of programming, 18 years later
Over the new year holiday time I had a chance to get away from it all, and snuck up to Finland to sit in a lodge on the Gulf of Finland, sip coffee, take saunas and read. I brought along a few books, the only programming one being Brian W …
I wrote a beginners guide to Kubernetes
In this multi-part series of articles I'll try and capture everything I think someone who wants to learn and work with Kubernetes should know about. If you h...
Clojure: Managing throughput with virtual threads
A blog mostly about Clojure programming
Jailed Just-in-Time Compilation on iOS
Saagar Jha's website.
An Introduction to Conflict-Free Replicated Data Types
This is an interactive tutorial series about Conflict-Free Replicated Data Types, or CRDTs for short. Their purpose is to allow seamless replication of data on different nodes in a distributed system. Merging is by construction always possible, without any conflicts. This series assumes no knowledge about CRDTs, but…
Lessons Learned in Software Development
Here is my list of heuristics and rules of thumb for software development that I have found useful over the years: Development 1. Start small, then extend. Whether creating a new system, or …
Recursive Functions of Symbolic Expressions and Their Computation by Machine
This paper appeared in Communications of the ACM in April 1960. It is the original paper on Lisp.
Python's “disappointing” superpowers
A response to Hillel Wayne’s “I am disappointed by dynamic typing”
Why engineers can't be rational about programming languages
The neuroscience of why we make million dollar decisions based on identity, not data.