Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,540 posts.
Jujutsu megamerges for fun and profit
A practical guide to creating and maintaining powerful megamerge workflows in Jujutsu for faster, conflict-free development.
Switching to Claude Code and VSCode Inside Docker
Why I decided to ditch Cursor and switch to running Claude Code in an isolated environment + diy guide!
Algorithms Interviews: Theory vs. Practice
When I ask people at trendy big tech companies why algorithms quizzes are mandatory, the most common answer I get is something like "we have so much scale, we can't afford to have someone accidentally write an O(n^2) algorithm and bring the site down" 1 . One thing I find funny about this is, even though a decent…
“Laws” of software estimation for complex work (2021)
Wrong estimates aren’t your fault, but they are definitely your problem
No strcpy either
Some time ago I mentioned that we went through the curl source code and eventually got rid of all strncpy() calls. strncpy() is a weird function with a crappy API. It might not null terminate the destination and it pads the target buffer with zeroes. Quite frankly, most code bases are probably better off completely ……
Writing a Microservice in Rust
Musings on navigating the tech bubble with philosophy and self-improvement.
Opening Windows in Linux with sockets, bare hands and 200 lines of C
In this post I want to create a single file C file program to open a windows inside Linux without using xlib or any similar libraries. The idea is to explore X11 protocol and see how it is used to interact with X server to create windows.
How to create minimal music with code in any programming language
Making music with low-level C code, from a simple saw wave to playing melodies
Learning Persian with Anki, ChatGPT and YouTube
I’ve been learning Persian (Farsi) for a while now, and I’m using a bunch of tools for it. The central one is certainly Anki, a spaced repetition app to train memory. I’m creating my own never-ending deck of cards, with different types of content, for different purposes. The most frequent type of cards is grammar…
OpenBSD has two new C compilers: chibicc and kefir
In my never ending quest to have oksh support every C compiler in existence, I have ported two more C compilers to OpenBSD . They are chibicc and kefir. As always, let's review them and at the end I'll have links to unofficial ports so that you can play around with these C compilers.
Adrian and Jacob retiring as Django BDFLs
Since July 2005, when Django was open-sourced , Jacob Kaplan-Moss and I have been the two Benevolent Dictators For Life (BDFLs) of the project. Today we’re both retiring from our formal BDFL roles, given that (1) we don’t have the time for it that we once had and (2) Django is in great shape with a vibrant community…
Donkey Kong Country 2 and Open Bus
You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites. This can and does cause downtime for the websites, which makes their resources inaccessible for everyone.
PostgreSQL Parallel Query v2
A recent Twitter poll asked What is your favorite upcoming feature of PostgreSQL V10? In this admittedly unscientific survey, "better para...
Transformers from Scratch
Repository for personal website
Memory Management in Python
To speed-up memory operations and reduce fragmentation Python uses a special manager on top of the general-purpose allocator, called PyMalloc.
How to Manage Connections Efficiently in Postgres, or Any Database
Hitting the limit for maximum allowed connections is a common operational problem in Postgres. Here we look at a few techniques for managing connections and making efficient use of those that are available.
Doom engine code review
Before studying the iPhone version, it was important for me to understand how Doom engine WAS performing rendition back in 1993. After all the OpenGL port must reuse the same data from the WAD archive. Here are my notes about Doom 1993 renderer, maybe it will help someone to dive in. January 13th, 2010 : Reddit…
Should small Rust structs be passed by-copy or by-borrow? (2019)
Benchmarking Rust to determine if small structs should be passed by-copy or by-value.
8 months of OCaml after 8 years of Haskell in production (2023)
Dmitrii Kovanikov's Personas Web Space
Steve Ballmer's incorrect binary search interview question
In this short video Steve Ballmer talks about a puzzle question he would ask candidates interviewing at Microsoft. Solving it is based on b...
Implementing Cosine in C from Scratch (2020)
How does the math library's trigonometric function work?
How much memory do you need in 2024 to run 1M concurrent tasks?
Please refer to How Much Memory Do You Need in 2024 to Run 1 Million Concurrent Tasks? - Take 2 to check the latest result.
Fixing a 20-year-old bug in Enlightenment E16
Some may find it weird, but I actually greatly enjoy using Enlightenment E16 as my window manager. It's themable, hackable, lightweight (24MB peak RSS!),...
Monocle
I've been working on a project called Monocle [http://monocle.io] these past few weeks, and it's time to show it to the world. Monocle is an experiment in creating a friendly and intelligent community around sharing quality content with a focus on technology, startups and frankly anything
I’m only making business card sized games now
Over the years I’ve worked on many games, some big, some small. I’ve found that the smaller the game, the more fun I seem to have making it. So I set out to make the smallest game I pos…