Diff Algorithms
How I overcame copying and modifying my own diff library from project to project by diving too deep into diff algorithms and coming out at the other end with new diff library in my hand.
The latest blog posts to take off on Hacker News. 14,537 posts.
How I overcame copying and modifying my own diff library from project to project by diving too deep into diff algorithms and coming out at the other end with new diff library in my hand.
Coding agents like Anthropic’s Claude Code and OpenAI’s Codex CLI represent a genuine step change in how useful LLMs can be for producing working code. These agents can now directly …
I started reading software blogs before I got my first programming job 20 years ago. At this point, I've read thousands of blog posts and essays, but a small handful stuck in my mind and changed the way I think about software.
Psst. If your boss won’t invest in training you in Specification By Example (BDD, ATDD), I’m running out-of-hours workshops on May 12 and 16 specifically for self-funding learners. £99 + UK VAT. An…
My attempt at talking about one of the most underrated features of C#.
Understanding query planner quirks yielded a ~35% speedup.
You are a software engineer. Don't become a prompt refiner.
The number of characters was 464 characters at first, but thanks to the community it got reduced further, and the article updated accordingly.
But this is slow! With 1,000,000 applications and 1000 users uniformly distributed on both columns, it takes over 100ms. 1
A little walkthrough on an image decoder algorithm's high-level optimization, in order to make more digestable for a 6502 processor.
Technical taste is different from technical skill. You can be technically strong but have bad taste, or technically weak with good taste. Like taste in general…
When I finished school in 2010 (yep, along time ago now), I wanted to go try and make it as a musician. I figured if punk bands could just learn on the job, I could too. But my mum insisted that I needed to do something, just in case. So I went down to the local TAFE (this is like a trade school in Australia, though…
Read THE WEIRD CONCEPT OF BRANCHLESS PROGRAMMING on sanixdk.xyz
We are in the midst of a Ruby drama for the ages. I'm sure a bunch of people figured we were all too old for this shit, but apparently we are not. This debate…
If you ever watch someone “coding”, you might see them spending far more time staring into space than typing on their keyboard.
Last month I have been on a multi-day hike with my dad. Each of us took many pictures, and when we came back we put them all in a shared folder. We both have Android phones, and the naming scheme used for our pictures was the same: IMG_YYYYMMDD_HHmmss followed maybe by some other numbers and then a .jpg . Here YYYY…
Most C++ and Rust thread pools run 10x slower than OpenMP on fork-join workloads. Fork Union closes the gap to 20% with 300 lines, dodging mutexes and CAS.
I spent 3 weeks earlier this year digging in to and reimplementing the lossless compression algorithm in Fuji’s RAF Camera RAW files. This post discusses the fundamentals of how it works.
Motivation Around 20% of Firefox’s HTTP traffic today uses HTTP/3, which runs over QUIC, which in turn runs over UDP. This translates to substantial UDP I/O activity. Firefox uses NSPR for most of its network I/O. When it comes to UDP I/O, NSPR only offers a limited set of dated APIs, most relevant here PR_SendTo and…
I recently purchased the textbook “Aircraft Control and Simulation” by Brian L. Stevens, Frank L. Lewis, and Eric N. Johnson 1 . This book covers the control and simulation of aircraft. It’s really dense and frankly hard to understand. As far as aerodynamics texts go, it’s pretty typical.
std::flip is a little-known utility from the C++ standard library header <functional>: it is a higher-order function that accepts a Callable and returns an equivalent Callable with the order of its parameters reversed (or “flipped”).
Back in 2021 I made a mod for Deus Ex 1 that fixes the lipsyncing and blinking, which, I betcha didn’t know, was broken since ship. Everything I wrote about it is on Twitter, and it oughta be somewhere else, so here’s a post about it. The mod itself can be downloaded here .
There are books & many articles online, like this one arguing for using Postgres for everything. I thought I’d take a look at one use case - using Postgres instead of Redis for caching. I work with APIs quite a bit, so I’d build a super simple HTTP server that responds with data from that cache. I’d start from Redis…
I recently attended the Goatmire Elixir Conf and one of the standout talks for me was Saša Jurić’s “Tell Me a Story” . It was an incredible presentation that combined theatrical storytelling with practical technical advice. Saša performed parts of his talk in character, turning technical topics into a compelling…
I’ve spent 15 years of my life working on Bundler. When I introduce myself, people say “oh, the Bundler guy?”, and I am forced to agree. I didn’t come up with the original idea for Bundler (that was Yehuda). I also didn’t work on the first six months worth of prototypes. That was all Carl and Yehuda together, back…
The challenge, simulate millions of particles in golang, multi-player enabled, cpu only, smart tv compatible.
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…
In .NET 9 we enabled DATAS by default. But .NET 9 is not an LTS release so for many people they will be getting DATAS for the first time…
Making vector search fast, memory-efficient, and natural in SQLite.
Over two years ago, in one of my first public talks about Ghostty , I shared my vision for libghostty : an embeddable library for any application to embed their own fully functional, modern, and fast terminal emulator. Libghostty is finally starting to take shape, and I'm excited to share more details about my plans…