Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,828 posts.
If you use GNU grep on text files, use the -a (--text) option
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Questions to ask yourself when writing tests
Talk to yourself to make sure your tests help you achieve your aims
The future of Python web services looks GIL-free
Web frameworks benchmarks on CPython 3.14t looks promising
The state of gRPC in the browser
gRPC 1.0 was released in August 2016 and has since grown to become one of the premier technical solutions for application communications. It has been adopted by startups, enterprise companies, and open source projects worldwide. Its support for polyglot environments, focus on performance, type safety, and developer…
Turbo Rascal Syntax Error
TRSE (or its full original name “Turbo Rascal Syntax error, “;” expected but “BEGIN”) is a complete suite (IDE, compiler, programming language, resource editor) intended for developing games/demos for 8 / 16-bit line of computers, with a focus on the MOS 6502, the Motorola 68000, the (GB)Z80, the M6809 and the X86…
5NF and Database Design
Author: Alexey Makhotkin squadette@gmail.com, (~3900 words) One of the goals of this publication is to deconstruct the traditional ways of teaching basic topics in relational databases. Previously we discussed the fourth normal form (4NF): “Historically, 4NF explanations are needlessly confusing”. Let’s discuss the…
Common Multithreading Mistakes in C# – Unsafe Assumptions
An in-depth look at exactly what the CPU and runtime can do to subvert us when we don't write properly thread-safe code.
Golang’s Real-Time GC in Theory and Practice
How the Golang concurrent GC achieves low latencies in real-time systems: a visualization of the algorithm and an empirical comparison with other languages.
Improve Git monorepo performance with a file system monitor
Monorepo performance can suffer due to the sheer number of files in your working directory. Git’s new builtin file system monitor makes it easy to speed up monorepo performance.
Phoenix LiveView 1.2
LiveView 1.2 is a small release that adds support for colocating CSS.
The “Bug-O” Notation
What is the 🐞(n) of your API?
Python, C, Assembly – Faster Cosine Similarity
From pure Python to AVX-512 assembly, optimizing cosine similarity reveals a 2,500x speedup through SIMD, FP16, and VNNI instructions on modern Intel CPUs.
Win16 Retro Development
Several months ago I had a go at producing a high resolution 256-color driver for Windows 3.1. The effort was successful but is not yet complete. Along the way I re-learned many things I had forgotten, and learned several new ones. This blog entry is based on notes I made during development.
Girls just wanna have fast MPMC queues with bounded waiting
Disclaimer: An earlier version of this post claimed the structure is wait-free, this is incorrect. Being wait-free requires that failure or suspension of any thread can’t cause failure or suspension of another thread. This queue in fact does not fulfill that requirement. The main section which discusses the wait…
Good CTE, Bad CTE
The planner treats CTEs very differently depending on how you write them. Here's what happens under the hood, version by version, through PostgreSQL 18.
How Jet Built a GPU-Powered Fulfillment Engine with F# and CUDA
Have you ever looked at your shopping list and tried to optimize your trip based on things like distance to store, price, and number of items you can buy at each store? The quest for a smarter…
Running Clojure in WASM with GraalVM
Now that Java can be compiled to WebAssembly with GraalVM, how well Clojure can run in Wasm?
DuckDB 1.1.0 Released
The DuckDB team is happy to announce that today we're releasing DuckDB version 1.1.0, codenamed “Eatoni”.
Introduction to Datalog
In contrast to the imperative programming paradigm, declarative programming expresses the logic of a computation without explicitly specifying its control flow. That is, declarative programming focuses on the what , not the how . If you have tentatively researched declarative programming before, you have likely read…
The Programmers' Stone (2014)
Hi, and welcome to The Programmers' Stone. The purpose of this site is to recapture, explore and celebrate the Art of Computer Programming. By so doing we hope to help the reader either become a better programmer, understand what less experienced programmers are struggling with, or communicate more effectively with…
Writing your own CUPS printer driver in 100 lines of Python (2018)
Behind the scenes blog of pretix, your friendly ticketing system from next door.
Deterministic simulation testing for our entire SaaS
How we leverage Antithesis to deterministically simulate our entire SaaS platform and verify its correctness, all the way from signup to running entire Kafka workloads.