Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,532 posts.
Using Fibonacci numbers to convert from miles to kilometers and vice versa
I recently learned an interesting fact about Fibonacci numbers while watching a random number theory video on YouTube. Fibonacci numbers can be used to approximately convert from miles to kilometers and back. Here is how. Take two consecutive Fibonacci numbers, for example 5 and 8. And you're done converting. No...
21 Nested Callbacks
About 21 months ago, before I even knew what a callback was, I built my first webpage. In honor of its 21 nested callbacks, I think it's about time I finally take a second look at it.
Meet the new Light Table
We have to start with a picture. Or hey, just go download it and see for yourself.
Exploring Clang/LLVM optimization on programming horror
Recently, I’ve come across a not so efficient implementation of a isEven function (from r/programminghorror ).
Simulating Jupiter
I'm a Technical Artist with over a decade of professional experience in both AAA and independent projects.
City in a Bottle – A 256 Byte Raycasting System
Hello size coding fans. Today, I have something amazing to share: A tiny raycasting engine and city generator that fits in a standalone 256 byte html file. In this post I will share all the secrets…
I've been writing ring buffers wrong all these years
So there I was, implementing a one element ring buffer. Which, I'm sure you'll agree, is a perfectly reasonable data structure.
Nobody knows how the whole system works
One of the surprising (at least to me) consequences of the fall of Twitter is the rise of LinkedIn as a social media site. I saw some interesting posts I wanted to call attention to: First, Simon W…
The complexity that lives in the GUI
The user interfaces are a weird thing. There are all sorts of libraries and frameworks that are supposed to help you on your journey of writing a GUI, but despite all the best practices and frameworks forcing you to eat your vegetables, the GUI always ends up being a ridiculous mess. After pondering some more about…
Key Git Concepts Explained the Hard Way
As an exercise, after finishing this article do the whole exercise again, but make a change to both origin/master and master and then do the fetch and merge to see what happens when a fast-forward is not possible.
Catalina is checking notarization of unsigned executables
This is a follow-up to Allan Odgaard's excellent article macOS 10.15: Slow by Design . I want to talk specifically about the first section "Spawning a new Process", because there has been widespread misunderstanding of this. Odgaard provides a simple test to show that the first run of an executable is delayed while…
Tilde, My LLVM Alternative
I'm Yasser and I've made it my mission to produce an alternative to LLVM, the current king of compiler backend libraries. I'm calling it Tilde (or TB for tilde backend) and the reasons are pretty simple, i believe it's far too slow at compiling and far too big to be fixed from the inside. It's been 20 years and cruft…
Gitlet.js – Git implemented in 1k lines of JavaScript (2015)
I wrote Gitlet to show how Git works under the covers. I wrote it to be readable. I commented the code heavily.
Reactive HTML Notebooks
Can we build a reactive notebook in a single HTML file? Yes (by standing on the shoulders of Observable)
Translating OpenStreetMap data to HTML5 Canvas with Rust and WebAssembly
Using the Overpass API to read OSM data, parsing the data with Rust, and then drawing the map onto HTML5 canvas.
You can beat the binary search
We sometimes have to look for a value in a sorted array. The simplest algorithm consists in just going through the values We sometimes have to look for a value in a sorted array. The simplest algorithm consists in just going through the values one by one, until we encounter the value, or exhaust the … Continue reading…
River: A fast, robust job queue for Go and Postgres
Introducing River, a Postgres-based job queue designed for resilience and correctness through strong transactional guarantees.
Can Bundler be as fast as uv?
At RailsWorld earlier this year, I got nerd sniped by someone. They asked “why can’t Bundler be as fast as uv?” Immediately my inner voice said “YA, WHY CAN’T IT BE AS FAST AS UV????” My inner voice likes to shout at me, especially when someone asks a question so obvious I should have thought of it myself. Since then…
I made a transformer to predict a simple sequence manually
To better understand how transformers work, I hand-assigned all the weights to predict a simple sequence.
Distributed Systems Shibboleths
Shibboleths are historically a word or phrasing that indicate membership in a particular group or culture. I was introduced to the term in the West Wing where the President needed to verify the veracity of a person’s claims of religious persecution.
Representation Engineering: Mistral-7B on Acid
Playing around with the Representation Engineering paper, I made some interesting control vectors, and a Python package to make your own.
Functors and Monads for People Who Have Read Too Many “Tutorials”
Title is literally true. This may not be the best place to learn about these concepts for the first time, because I'm going to focus on knocking down the misconceptions about them.
How UTF-8 Works
If you're anything like me, you love emojis! Emojis appear like an image on the screen, but they aren't an image like a PNG or JPEG. What do emojis look like to computers? 

0x820x820x980...