Lightstorm: Minimalistic Ruby Compiler

Some time ago I was talking about an ahead-of-time Ruby compiler. We started the project with certain goals and hypotheses in mind, and while the original compiler is at nearly 90% completion, there are still those other 90% that needs to be done. In the meantime, we decided to strip it down to a bare […]
Colliding with the SHA prefix of Linux’s initial Git commit

Or, how to break all the tools that parse the “Fixes:” tag There was a recent discussion about how Linux’s “Fixes” tag, which traditionally uses the 12 character commit SHA prefix, has an ever increasing chance of collisions. There are already 11-character collisions, and Geert wanted to raise the minimum short id to 16 characters. […]
Cook: Colliding with the SHA prefix of Linux’s initial Git commit

Kees Cook describes his work resulting in a kernel documentation commit whose ID shares the same first 12 characters as the initial commit in the kernel’s repository. This is not yet in the upstream Linux tree, for fear of breaking countless other tools out in the wild. But it can serve as a test commit […]
Beyond Gradient Averaging in Parallel Optimization

Abstract:We introduce Gradient Agreement Filtering (GAF) to improve on gradient averaging in distributed deep learning optimization. Traditional distributed data-parallel stochastic gradient descent involves averaging gradients of microbatches to calculate a macrobatch gradient that is then used to update model parameters. We find that gradients across microbatches are often orthogonal or negatively correlated, especially in late […]
RWKV Language Model

ALL General Lang. Image 3D / 4D Seq / RL Audio
I Wrote a Game Boy Advance Game in Zig

The Game Boy Advance is an interesting game console. It has a modern-style CPU (32-bit ARM, lots of registers), but uses an old-fashioned tile based renderer like how the NES did it in the 80s. Don’t get me wrong, since its one of Nintendo’s last tile-based systems, they took the idea as far as it […]
“A Course of Pure Mathematics” – G. H. Hardy (1921) [pdf]
Download PDF
A Puzzle about a Calculator

It’s now been a year since I took over the puzzle column at New Scientist and turned it into the BrainTwisters column. By way of celebration, I thought I’d write up an interesting bit of maths behind one of the puzzles, which I made a note of at the time and have been meaning to […]
Jack Elam and the Fly in ‘Once Upon a Time in the West’
IntroductionOne of the scenes most often singled out for special mention even in the briefest discussions of Once Upon a Time in the West, involves a fly and the legendary character actor Jack Elam, the wall-eyed heavy who was aptly described as: grizzled and stringy-haired and one of his eyes always seemed to be trying […]
Shmøergh Hog – The making of a simple analog synth

We finished the first version of a synthesizer that starts to resemble a real product. It’s the same concept that I’ve already written about – a simple switches-over-knobs style analog synth for live performance, called Hog – but with completely reworked circuitry and enclosure. This post is about our process and how the Hog came to […]