Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,544 posts.
The death of thread per core
Programming language async runtimes are very focused on handling asynchronous, possibly long running tasks, that might yield for a variety of reasons, that...
The Code-Only Agent
When code execution really is all you need. Exploring what happens when an AI agent can only write and run code.
Let's Build a Regex Engine (2019)
How to understand the language of <\/?[\w\s]*>|<.+[\W]>
New to Ruby? Tips for the new Rubyist.
Jasim's homepage
A Common Lisp jq replacement
Title says it all, I seriously dislike jq 's convoluted, impossible-to-remember ad hoc DSL that instantly joined heaps of misery like CMake and gnuplot in my heart. It should really have been a library with a CLI wrapper around eval in a well-known scripting language like Python.
Surprises from numerical linear algebra (2010)
Here are ten things about numerical linear algebra that you may find surprising if you're not familiar with the field. Numerical linear algebra applies very advanced mathematics to solve problems that can be stated with high school mathematics. Practical applications often require solving enormous systems of…
Improving the fast inverse square root (2010)
Remember that famous hack for approximating y = x −1/2 from Quake III? It goes like this:
“Essentials of Garbage Collectors” full course is now available
Course overview Memory leaks and dangling pointers are the main issues of the manual memory management. You delete a parent node in a linked list, forgetting to delete all its children first -- and your
Cron best practices
The time-based job scheduler cron(8) has been around since Version 7 Unix, and its crontab(5) syntax is familiar even for people who don’t do much Unix system administration. It’s standardised , reasonably flexible, simple to configure, and works reliably, and so it’s trusted by both system packages and users to…
Rails and Merb Merge
Today is a fairly momentous day in the history of Ruby web frameworks. You will probably find the news I’m about to share with you fairly shocking, but I will attempt to explain the situation. Before talking tech, and even going into the details of the announcement, I want
Why WinQuake exists and how it works
When I took a look at the history of Quake binaries, they all made sense to me. quake.exe was the original release, able to run on DOS and Windows 95. Then came vquake.exe to support the hardware accelerated chip Vérité 1000. Later, glquake.exe generalized hardware acceleration to any vendor providing OpenGL drivers…
Zen and the Art of Software Maintenance
In one part of the book Zen and the Art of Motorcycle Maintenance, which is neither about Zen nor motorcycle maintenance, there are two motorcycles and two riders. John Sutherland is a romanticist who appreciates the external qualities of his motorcycle: its aesthetics, and its use as a vehicle. The narrator is a…
Clear explanation of Rust’s module system
Easy to understand explanation using visual aids and practical examples
Career-Changing Programming Books
When I graduated with a Computer Science degree ten years ago, I was excited to dive into the world of professional programming. I had done well in school, and I thought I was completely ready to ...
Git is an editor, and rebase is the backspace key
Writing and Stuff from Isaac Z. Schlueter
Exploiting the Math.expm1 typing bug in V8
Minus zero behaves like zero, right?
Introduction to monads in JavaScript
I know, I know, the world does not need yet another introduction to monads (or yet another article complaining that world does not need yet another introduction to monads). So you’ll be glad to know this isn’t one of those, in the sense that it’s not new. I thought I’d write it because, first, monads are worth knowing…
Postgres as a Search Engine
Build a retrieval system with semantic, full-text, and fuzzy search in Postgres to be used as a backbone in RAG pipelines.
Path Tracing Quake in Blender
This week twenty-five years ago, Quake broke new ground in game engine realism. It was one of the first commercial games to have fully texture mapped 3D scenes rendered in real-time, with pre-computed lightmaps adding an extra layer of atmosphere.
Lessons learned from profiling an algorithm in Rust
Recently, I've been working on a new approximate nearest neighbor search algorithm called RaBitQ . The author has already provided a C++ implementation that runs quite fast. I tried to rewrite it in Rust (yet another RiiR). But I found that my implementation is much slower than the original one. Here is how I improve…
How to break everything by fuzz testing
Fuzz testing is a bit like the infinite monkey theorem, but instead of Shakespeare you get crashes.
LL and LR Parsing Demystified (2013)
My first adventures in parsing theory came when I was doing anindependent study of programming languages in college. When I got tothe part about algorithms s...
A Rebuttal for Python 3
Zed Shaw, of Learn Python the Hard Way fame, has now written The Case Against Python 3. I’m not involved with core Python development. The only skin I have in this game is that I like Python 3. It’s a good language. And one of the big factors I’ve seen slowing its adoption is that respected people in the Python commu