Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 1,260 posts.
My experience creating software with LLM coding agents – Part 2 (Tips)
moved to https://blog.efitz.net/posts/my-experience-creating-software-with-llm-coding-agents-part-2-tips/
SIMD within a register: How I doubled hash table lookup performance
It started with a simple thought: four bytes in a hash table bucket look just like an integer. Luckily, this one idea led to a deep dive into bit-twiddling and a 2x performance boost.
Parsing PDFs (and more) in Elixir using Rust
A Love Story Between Two Amazing Languages 🦀💜
Mini-R1: Reproduce DeepSeek R1 "Aha Moment"
Reproduce Deepseek R1 „aha moment“ and train an open model using reinforcement learning trying to teach it self-verification and search abilities all on its own to solve the Countdown Game.
Who Can Understand the Proof? A Window on Formalized Mathematics
Stephen Wolfram discusses understanding proofs discovered using automated theorem proving. Based on Wolfram’s proof of the simplest axioms of logic of Boolean algebra.
Read your code
Stop vibe-coding blindly! Why reading AI-generated code is crucial in 2025. Avoid security flaws, architectural decay, and knowledge loss when using Claude Code or any other tool.
Doom in Django: testing the limits of LiveView at 600.000 divs/segundo
Based on the latest tests I've published, Django LiveView appears to be the fastest dynamic frontend (I'm sure more variables can be measured). OK…
Relaxed Radix Balanced Trees (2024)
I’m adding immutable vectors to my language, Ivan, and needed to pick a suitable data structure to implement them. Clojure uses Persistent Vectors (PVs) which support lookups, updates, and appends all in ‘effectively’ constant time. However, it doesn’t have efficient insert or merge operations. Relaxed Radix Balanced…
Eurydice: a Rust to C compiler
Perhaps the greatest surprise of the last two years was, for me, the realization that people not only care about compiling C to Rust (for obvious reasons, such as, ahem, memory safety) – they also care about compiling Rust to C! Wait, what?
Is the doc bot docs, or not?
What are we even doing here??
Portals and Quake
Ever wanted to know how exactly did Quake’s precomputed visibility work? I did, so I wrote vis.py , a reimplementation of their algorithm in Python. This guide has all the information you need to understand vis , the tool used by Quake, Half-Life and Source Engine games.
Demystifying the (Shebang): Kernel Adventures
Clarifying the shebang (#!) mechanism: A step-by-step look using strace and kernel code shows how Linux handles script execution directly, revealing the shell isn't involved initially.
SuperSight: A graphical enhancement mod for Brøderbund's "Stunts"
Clickbait disclaimer: Stunts was actually created by Distinctive Software; Brøderbund was only the publisher. But nobody heard about Distinctive , and I wanted to be sure this article does not get confused with the one about Disney's Stunt Island . Sorry about that.
Testing is better than data structures and algorithms
People should spend less time learning DSA, more time learning testing.
Trying out Zed after more than a decade of Vim/Neovim
After 15 years with Neovim, I'm trying out Zed as my daily driver text editor. In this post, I share why I'm switching and what my initial impressions are.
Nix Derivation Madness
I’ve written a bit about Nix and I still face moments where foundational aspects of the package system confounds and surprises me.
Cheating the Reaper in Go
Even though I am a C++ programmer at heart, Go fascinates me for none of the reasons you think. Go has made several interesting design decisions:
Yes, Claude Code can decompile itself. Here's the source code
These LLMs are shockingly good at deobfuscation, transpilation and structure to structure conversions. I discovered this back around Christmas where I asked an LLM to make me an Haskell audio library by transpiling a rust implementation. An “oh fuck” moment in timeOver the Christmas break I’ve been critically looking
MCP vs. API Explained
Model Context Protocol (MCP) is an open standard that connects AI models to tools and data sources efficiently. This guide breaks down MCP’s architecture, benefits, and how it differs from traditional APIs
JJ Cheat Sheet
I’ve been learning Jujutsu a.k.a. jj , a version control system that’s compatible with git repos. It’s clicked for me in a way that git hasn’t even after many years of use.
The /o in Ruby regex stands for "oh the humanity "
Your code using the /o modifier Source: wikipedia Hi there! Do you like Regex? Do you like performance? Do you like creating confounding bugs for yourself rooted in the mechanics of the Ruby VM itself? If you said yes to all of the above, have I got a feature for you! But first, let’s start with a story. The cliffs of…
What’s new in Swift 6.2
Raw identifiers, backtraces, task naming, and more.
AI agent benchmarks are broken
Benchmarks are foundational to evaluating the strengths and limitations of AI systems, guiding both research and industry development.
Xcode constantly phones home
Building StopTheMadness Pro in Xcode is usually very fast, because my project doesn't use any Swift. It's a combination of Objective-C, which compiles much more quickly than Swift, and JavaScript, which doesn't need to be compiled. However, sometimes the builds were very slow for some strange reason. Checking the…
Safe C++ proposal is not being continued
One year ago, the Safe C++ proposal was made. The goal was to add a safe subset/context into C++ that would give strong guarantees (memory safety, type safety, …
Designing a Language (2017)
Of course you want to design (and implement!) your own programming language! It’s fun. It’s creative. It’s empowering.