Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,535 posts.
Letters between Backus and Dijkstra (1979)
Letters between John W Backus and Edsger W Dijkstra, 1979
1.5 is the midpoint between 0 and infinity in Ruby
What's the midpoint between 0 and infinity in Ruby? It's 1.5 for some reason. What's the reason you might ask? Read on to find out.
A Man from the Future: Why Johnny Can't Stop Abstracting
I have come to suspect that to most people thinking is painful. Some of us are addicted to thinking. Some of us find it a necessity. Johnny ...
Let's write a setjmp
Yesterday I wrote that setjmp is handy and that it would be nice to have without linking the C standard library. It’s conceptually simple, after all. Today let’s explore some differently-portable implementation possibilities with distinct trade-offs. At the very least it should illuminate why setjmp sometimes requires…
Understanding Memory Management, Part 1: C
UPDATED: 2025-02-15: Fixed some bugs in the examples and pointed out that you don't usually just want to panic on memory allocation failure.
Rust and WebAssembly in 2019
Compiling Rust to WebAssembly should be the best choice for fast, reliable codefor the Web. Additionally, the same way that Rust integrates with C callingcon...
My first impressions of Gleam
What I’ve learned in my first few hours using Gleam for a small project.
How many lines of code is Candy Japan?
Guess how many lines of code you end up with when writing a subscription box site from scratch.
Software engineering is a learning process, working code is a side effect
I have come to the conclusion that Software Engineering is primarily a learning endeavour, the working code is rather a side effect. This quote is actually not mine but I am paraphrasing Alberto Brandolini who is making this very point in Event Storming (he was actually talking about Software Development, but I do not…
Donut math - How donut.c works
There has been a sudden resurgence of interest in my "donut" code from 2006 , and I've had a couple requests to explain this one. It's been five years now, so it's not exactly fresh in my memory, so I will reconstruct it from scratch, in great detail, and hopefully get approximately the same result.
Ruby 3, Concurrency and the Ecosystem
I'm a technologist with a focus in ecommerce, GenAI, and developer productivity. I enjoy building reliable and fast software, and helping others to do the same.
Debugging a rustc segfault on Illumos
Using `mdb` and `pmap` to find the cause of a crash.
Code Like a Pythonista: Idiomatic Python
The home of pythonistas
Hot-code reloading on macOS/arm64 with Zig
Jakub Konka's weblog about programming, game theory, maths, and more.
Why the original transformer figure is wrong, and some other tidbits about LLMs
A few months ago, I shared the article, Understanding Large Language Models: A Cross-Section of the Most Relevant Literature To Get Up to Speed, and the positive feedback was very motivating!
Modern SAT solvers: fast, neat and underused
In part 1 of this series, we built a Sudoku solver based on translating Sudoku to SAT and then giving the resulting SAT instance to a SAT solver. We also benchmarked our solver and found out that it, unsurprisingly, loses to the state of the art of Sudoku solvers. Since
A Visual Guide to Vision Transformers
This is a visual guide (scroll story) to Vision Transformers (ViTs), a class of deep learning models that have achieved state-of-the-art performance on image classification tasks.
Tim Bray on Dennis Ritchie
Writing operating systems in a compiled machine-independent programming language.
Data-oriented design or why you might shoot yourself in the foot with OOP (2009)
Picture this: Toward the end of the development cycle, your game crawls, but you don’t see any obvious hotspots in the profiler. The culprit? Random memory access patterns and constant cache misses. In an attempt to improve performance, you try to parallelize parts of the code, but it takes heroic efforts, and, in the…
What I wish I knew about React
Articles on frontend development and more.
Problems of C, and how Zig addresses them
What are the problems of C, and how Zig addresses them?
Spending $5k to learn how database indexes work
At Superwall we’re building an SDK to help App Developers increase their revenue by showing the right offer to the right person at the right time. Follow me on twitter for little tips and articles like this one.
I Don’t Believe in Full-Stack Engineering
There, I said it.
How to make your C codebase Rusty: rewriting keyboard firmware keymap
Recently, my colleague introduced me to QMK 1, an open-source keyboard firmware. Like many non-trivia C projects, macro is heavily used everywhere, especially in keymap files 2. It didn’t bother me much since I have been programming C for many years. But I kept thinking to myself, “what would it look like if I can…