Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,545 posts.
Transactions Are Not Locks (2022)
One thing I wish I had understood better earlier on in my experience with PostgreSQL is how transactions and locks can be used together to provide serializable logic.
Counting bytes fast
An apparently trivial and uninteresting task nonetheless received some special optimization care within FSE : counting the bytes (or 2-...
Building an email-to-calendar LLM
Talk is cheap, show me the code Introduction A common problem my friends and I have is receiving actionable emails whose priorities are medium level. They do require action of some sort ($ \geq lowest\ priority$), but the action is due in the near future ($\leq highest\ priority$). I tend to skim over these emails…
Real time bidding in Erlang (2012)
I'm still on my way back from the Bay Area Erlang Factory 2012 (in fact I finished this post after coming back entirely), in San Francisco, and I've been starting to see a bunch of twitter posts regarding people posting their slides online. Although it is a good idea, I tend to view my slides as pure visual support…
Uniform Structured Syntax, Metaprogramming and Run-Time Compilation
Real world example where uniform syntax enables unthinkable solution
It ain't about the callbacks, it's about the flow control
It's just a programming style, not a big deal usually, but it becomes an issue when a platform forces you to use only the callback style. I'm talking about you, JavaScript.
Rob Pike on regular expressions in lexing and parsing
Comments extracted from a code review. I've been asked to disseminate them more widely. I should say something about regular expressio...
A Quick Intro to Rust Macros
Note : This article is for an obsolete version of Rust, and has been superceded by the slightly less misleadingly named "A Practical Intro to Macros in Rust 1.0" .
Fixing memory leaks in popular Python libraries
I was recently able to make a minimal example that reproduced a Celery memory leak. The memory leak would happen on the main Celery worker process that’s forked to make child processes, which makes the leak especially bad. Issue #4843 has been around for 3+ years and has 140+ comments, so this one has been causing a…
The Evolution of Caching Libraries in Go
For the last few years, I've been developing caching library, and today I'd like to talk about the evolution of caches in Go and where we stand today. Especially since Go 1.24 was officially supposed to focus on caching improvements, but I haven't heard much news about them - time to fix that .
Instant Web Application
Instant TodoMVC demo (please use Chrome Desktop for now!), source Uses bottle-service library to implement self-rewriting Open your favorite web application, even a simple TodoMVC would work. Let it
Bash One-Liners Explained, Part V: Navigating around
This is the fifth part of the Bash One-Liners Explained article series. In this part I'll teach you how to quickly navigate around the command line in bash using emacs-style keyboard shortcuts. That's right, emacs-style keyboard shortcuts. It might surprise you but by default bash uses emacs-style keyboard shortcuts...
Understanding Spec-Driven-Development: Kiro, Spec-Kit, and Tessl
Notes from my colleagues on AI-assisted software delivery
Compiling a Lisp to x86_64 (2020)
Tiger got to hunt, Bird got to fly; Lisper got to sit and wonder, (Y (Y Y))? Tiger got to sleep, Bird got to land; Lisper got to tell himself he understand. -- Kurt Vonnegut, modified by Darius Bacon
Conway's Game of Life on FPGA
When learning a new programming language, I like having a well defined yet non-trivial problem to solve. Conway’s Game of Life (GoL) fits this definition. It has enough depth to uncover various tradeoffs. So naturally, when I picked up Chisel hardware description language (HDL), I wanted to build Game of Life in FPGA…
Binary in JavaScript
Over the last week or so, I've spent my spare time working on a new roguelike game, with a focus on extensive and interesting planet generation. A key characteristic of the genre is that the game world is procedurally generated and this one is no exception.
Zombie Processes Are Eating Your Memory
Zombies probably won’t consume 32 GB of your memory like they did to me, but zombie processes do exist, and I can help you find them and make sure that developers fix them. Tool source link is at t…
The Art of Unix Usability (2004)
This book and its on-line version are distributed under the terms of the Creative Commons Attribution-NoDerivs 1.0 license, with the additional proviso that the right to publish it on paper for sale or other for-profit use is reserved to Pearson Education, Inc. A reference copy of this license may be found at…
Leveraging Elixir's hot code loading capabilities to modularize a monolithic app
How hot code loading solves client-specific engineering problems in my startup Alzo
Sd: My Script Directory
does your ~/bin spark joy?
Two studies in compiler optimisations
A deep dive into the intricacies of the LLVM optimisation pipeline.
Pushing and Pulling: Three reactivity algorithms
It’s looking like I’m going to need to build a reactive engine for work, so I’m going to prepare for that by writing down what I know about them. I want to look at three ways of building reactive engines: push reactivity, pull reactivity, and the hybrid push/pull combination that is used in a bunch of web frameworks…
Common Lisp code optimisation
Common Lisp is one of the few languages which is both dynamic and also gives you a full native compiler and the ability to declare types ...
GCC Specs: An Introduction
If you've ever used the GNU Compiler Collection (GCC) then you've worked with the gcc binary. For those who don't know, gcc is a driver, not a compiler. It runs the compiler/assembler/linker as required and coordinates the input and output between them. Use of the driver is so ubiquitous that everyone calls it the…
Parsing Expression Grammar vs. Regexes: Building Org Parser in Lisp, Export HTML
Converting Org to HTML with (ice-9 peg) in Guile: OrgWebAlchemy
Simulating a Planet on the GPU: Part 1 (2022)
A year-long journey through polygon meshes, cubemaps, and smoothed-particle hydrodynamics in pursuit of a modern SimEarth