New
The latest blog posts to take off on Hacker News. 14,543 posts.
Why mmap is faster than system calls (2019)
When I ask my colleagues why mmap is faster than system calls, the answer is inevitably “system call overhead”: the cost of crossing the…
Ray Tracing in pure CMake
A simple ray tracer written in pure CMake
Ruby 3, Concurrency and the Ecosystem
I'm a technologist with a focus in ecommerce, GenAI, and developer productivity. I enjoy building reliable and fast software, and helping others to do the same.
Smooth Voxel Terrain, Part 2 (2012)
Last time we formulated the problem of isosurface extraction and discussed some general approaches at a high level. Today, we’re going to get very specific and look at meshing in particular.…
How Tail Call Optimization Works
Most undergraduate computer sciences courses teach students about tail call optimization (TCO) , and even if you don't have a formal computer science background the concept is talked about enough that you might be familiar with it anyway, especially if you've ever done any functional programming. However, I think the…
My stack is HTML+CSS
My stack will outlive yours
Debugging Lisp (2015)
This post is for all of the miscellaneous features that arent large enough to get their own individual posts. If you havent read all of them, here are the links to the previous posts on recompilation , inspection , class … Read the rest
Decoding the Peloton
From Voltages to "Cadence, Output, and Resistance" TL;DR - I’ve decoded (most of) the protocol that the Peloton bike uses to communicate with its head unit tablet and built a device,...
Facebook senior software engineer interview
I have been working at Facebook as a software engineer for a while now. During this time, I have got different inquiries from friends and…
Why Learn Prolog in 2021?
?- learn(prolog).
System Design Interview book review
I've come across the book System Design Interview: an Insider's Guide by accident (paperback book [https://www.amazon.com/dp/B08CMF2CQF], and online course [https://bytebytego.com/]). I was looking for good book resources after several people have been asking me how they can get better at building
Understanding Connections and Pools
What connections are, how they affect our systems, and how and why pooling works.
Ditherpunk: The article I wish I had about monochrome image dithering
I always loved the visual aesthetic of dithering but never knew how it’s done. So I did some research. This article may contain traces of nostalgia and none of Lena.
Reviving Old X Code
I've taken the week between Christmas and New Year's off this year. I didn't really have anything serious planned, just taking a break from the usual routine. As often happens, I got sucked into doing a project when I received this simple bug report Debian Bug #974011
What's good about offset pagination; designing parallel cursor-based web APIs
Offset pagination gets a bad rap because it’s backend inefficient, but it’s actually a nice feature from a consumer’s perspective. How to bring those advantages to cursor-based APIs.
How to open a file in Emacs: a story about Lisp, technology, and human progress
A short story about Lisp, technology, and human progress.
Why Clojure? (2018)
Why not the programming language I'm already using or some other language? What makes Clojure uniquely well-suited for modern software development? Instead of…
Castlevania III Password Algorithm
An explanation of the Castlevania III password algorithm, including name hashes, payload encoding, decoding, special names, and all valid passwords.
GTK4 for Graphical User Interfaces
This book gives an introduction to design and creation of graphical user interfaces using the GTK widget tool-kit and the Nim programming language. The book has its focus on the Linux operating system (OS). While the Nim programming language does support all major operating systems, GTK has it main emphasis on the…
On Repl-Driven Programming
Once upon a time, someone with the handle “entha_saava” posted this question on Hacker News :
CVE Stuffing
I monitor the @CVENew Twitter feed to keep up with any interesting new vulnerabilities that are released. On December 11th CVE-2020-29589 was published claiming that “the kapacitor Docker ima…
Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)
Published: 02-01-2021 | Author: Remy van Elst | Text only version of this article
A half-hour to learn Rust
In order to increase fluency in a programming language, one has to read a lot of it. But how can you read a lot of it if you don’t know what it means? In this article, instead of focusing on one or...
State machines are wonderful tools
I love when my current problem can be solved with a state machine. They’re fun to design and implement, and I have high confidence about correctness. They tend to:
Sparse Matrices (2019)
A sparse matrix is a matrix that has a value of 0 for most elements. If the ratio of N umber of N on- Z ero ( NNZ ) elements to the size is less than 0.5, the matrix is sparse. While this is the mathematical definition, I will be using the term sparse for matrices with only NNZ elements and dense for matrices with all…
Reverse Engineering Source Code of the Biontech Pfizer Vaccine: Part 2
All BNT162b2 vaccine data on this page is sourced from this World Health Organization document. This is a living page, shared already so people can get going! But check back frequently for updates. Translation: Français / 日本語 In short: the vaccine mRNA has been optimized by the manufacturer by changing bits of RNA…
My Favorite Books 2020
Mostly non-fiction books this year. Some in English, some in German.
The Big Little Guide to Message Queues
A guide to the fundamental concepts that underlie message queues, and how they apply to popular queueing systems available today.