Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,843 posts.
Playing with genetic algorithms in Python
Edit: This post made it to the front page of Hacker News! You can find the discussion here.
Graphtage: A New Semantic Diffing Tool
Graphtage is a command line utility and underlying library for semantically comparing and merging tree-like structures such as JSON, JSON5, XML, HTML, YAML, and TOML files. Its name is a portmanteau of “graph” and “graftage” (i.e., the horticultural practice of joining two trees together so they grow as one). Read on…
The limitations of sampling profilers
Perf is probably the most widely used general purpose performance debugging tool on Linux. There are multiple contenders for the #2 spot, and, like perf, they're sampling profilers. Sampling profilers are great. They tend to be easy-to-use and low-overhead compared to most alternatives. However, there are large…
How much memory does a graph take?
We need a fast way to query multiple potentially large sets of data on-demand at interactive speeds. Sometimes the easiest solution to a hard problem is to build the right tool for the job.
Multiperspective Diagramming – A guide for system engineers
A multiperspective diagramming guide for system, software, cloud, network, and other engineers.
Integration over Invention
Mar 25, 2024 -
Boosting zopfli performance
Introduction Deflate compression has been around for over 20 years. It's the format used inside most ZIP files. It's used by HTTP to redu...
What Alan T. did for his PhD
We’ve all been there before: by the time you start graduate school in Princeton, you’ve already invented the Turing machine, pioneered the concept of computational universality, and pro…
The Haskell Phrasebook (2019)
The Haskell Phrasebook is a free quick-start Haskell guide comprised of a sequence of small annotated programs.
A Logic Language for Distributed SQL Queries
A comprehensive look at the design of Polar, and how we enabled it to operate over distributed data.
The C++ programmer and educator Rainer Grimm has passed away
Dear readers, we are extremely sad to inform you that Rainer passed away on October 6, 2025, surrounded by his closest family. After suffering from life-threatening pneumonia, Rainer decided against further life-sustaining measures that would have severely restricted his life. He passed away peacefully, accompanied by…
Fuzzy string search
Intro Fuzzy search algorithms (also known as similarity search algorithms) are a basis of spell-checkers and full-fledged search engines lik...
Playing with Lasp and CRDTs
For a long time I was looking for some time to play with Lasp: Lasp is a suite of libraries aimed at providing a comprehensive programming system for planetary scale Elixir and Erlang applications. Ye
Markov's and Chebyshev's Inequalities Explained
A look at why Chebyshev's Inequality holds true and some potential applications.
SQLite transactions and virtual tables
In my previous post I introduced SQL virtual tables and how to use them in Go—registering modules per connection, defining schemas, and querying external sources as regular tables.
Layers in Software: From Data to Value
Then Back in the 2000s, we wrote applications in layers. Presentation layer, client, data transfer, API, business logic, data access, database. We maintained strict separation bet ween these layers…
Type information for faster Python C extensions
Update: The paper version of this post is accepted at PLDI SOAP 2024. Take a look at the preprint (PDF).
Building a local positioning system to track runners using Ultra-Wideband
An open-source multi-tag fully local UWB positioning system.
Code School is Amazing
My thoughts on Code School, an interactive online marketplace where you can learn to code directly in the browser.
Basic MetaProgramming in Zig
Getting started with Zig's meta programming capabilities by leveraging a few useful functions
Creatively Misusing TLA+
Five not-quite-normal uses