Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
Thoughts on Modern C++ and Game Dev
There's nothing here. The Internet is far too dangerous right now. The blog may return in future, if I get around to it.
Why Elixir (2014)
It’s been about a year since I’ve started using Elixir. Originally, I intended to use the language only for blogging purposes, thinking it could help me better illustrate benefits of Erlang Virtual Machine (EVM). However, I was immediately fascinated with what the language brings to the table, and very quickly…
The Strict Aliasing Situation Is Pretty Bad
One thing that works well in practice in cases where you really don’t want to process single bytes at a time is to use a union for going from one type to another. Granted, writing one member of a union and reading from a different one also isn’t allowed per the standard, but every compiler I’ve come across allows it…
Religious and spiritual folklore surrounding programming
You've been visited by St. Ignucious. Upvote for success in FOSS
The joys of creating Xcode project files
Meson's Xcode backend was originally written in 2014 or so and was never complete or even sufficiently good for daily use. The main reason f...
SELECT wat FROM sql
Thanks to Nikhil Benesch, Justin Jaffray and several decades of "wouldn't it be nice if..." for contributions.
Vibecoding #2
I feel like I got substantial value out of Claude today, and want to document it. I am at the tail end of AI adoption, so I don't expect to say anything particularly useful or novel. However, I am constantly complaining about the lack of boring AI posts, so it's only proper if I write one.
PAGNIs: Probably Are Gonna Need Its (2021)
Luke Page has a great post up with his list of YAGNI exceptions. YAGNI—You Ain’t Gonna Need It—is a rule that says you shouldn’t add a feature just because it …
The FFmpeg/Libav situation
One year and a half ago, an important part of FFmpeg developers decided to change the way the project was managed. This led to some kind of takeover , mainly to get rid of the old maintainer dictatorship, but also to change development methods, redefine objectives, etc. Then, for various reasons I will quickly…
How to Learn Nix
Five years ago, I migrated my VPS from Arch Linux to NixOS. I had no idea what I was doing. I had never used Nix before. I thought I could figure it out. Five years later, I’m still running NixOS. And I still have no idea how it works.
Modern garbage collection: Part 2
A look at what the newest generation of Java GCs can do
My User Experience Porting Off Setup.py
In the past week I went to add Python 3.12 support to my zstandard Python package. A few hours into the unexpected yak shave / rat hole, I decided to start chronicling my experience so that I may share it with the broader Python community. My hope is that by sharing my (unfortunately painful) end-user experience that…
Parsing the .DS_Store File Format (2018)
About two years ago I came across a .DS_Store file and wanted to extract its information (e.g. file names). After researching the file format and its security implications, as well as writing a parser for it, I would like to share my (limited) knowledge and the parser in Go / Python with the world. You might want to…
How does Linux handle writes?
I examine the somewhat surprising way how Linux handles writes.
HTML Web Components: An Example
In my article on HTML web components , I said: But the unique power of web components (in the browser) is that they can render before JavaScript. React…
Where Rust really shines
Yesterday I was working on a small feature for the Rust compiler, and came across a situation which really showcased Rust’s awesomeness as a language …
Version control without Git
If you have any question or suggestions about this tutorial, please file them as issues here .