Departing the New York Times
I left to stay true to my byline
I left to stay true to my byline
What is the origin of the word "mainframe", referring to a large, complex computer? Most sources agree that the term is related to the frame...
A while ago, I was part of a team developing embedded software. The software was deeply rooted in state machines - dozens of them—spread across multiple functions. While this architecture is common in embedded development, especially for systems without an operating system, I started to question: Is this really the…
I'm the kind of person who thinks about the design and implementation of hash tables. One design which I find particularly cute, and I think deserves a bit more publicity, is Robin Hood open-addressing with linear probing and power-of-two table size. If you're not familiar with hash table terminology, that might look…
We published our video on zero-knowledge proofs! Surprisingly, making this video took a lot of work. Zero-knowledge proofs for coloring are one of those algorithms that, in hindsight, seem beautifu…
An imagined town is at least as real as an actual town.
[Updated on 2020-09-03: Updated the algorithm of SARSA and Q-learning so that the difference is more pronounced. [Updated on 2021-09-19: Thanks to 爱吃猫的鱼, we have this post in Chinese].
Collaboratively editing strings of text is a common desire in peer-to-peer applications. For example, a note-taking app might represent each document as a single collaboratively-edited string of text.
I used to call myself a Rust hater, but really I was doing it just to compensate for the perceivable fanboyism e.g. Rust tops on stackoverflow surveys as most-loved language. There are many reasons to hate C++, and I hate C++ too. Lots of people were waiting for a better programming language, but got Rust instead.
Way back in 2012, The Guardian reviewed an eInk reader which cost a mere £8. The txtr beagle was designed to be a stripped-down and simplified eReader. As far as I can tell, it never shipped. There were a few review units sent out but I can't find any evidence of consumers getting their hands on one. Also, that £8…
FAA is getting one enormously consequential thing right
A blog, mostly about programming
April 30, 2024. I decided to dedicate a week to migrate our main project at work (a multiplayer mobile game server in production for over 4 years) from Scala...
When I make something good, I often spend most of my time making thousands of high-precision edits on an artifact that I thought should have been finished hours ago.
A blog about computers, functional languages, Lisp, and Scheme.
Are they different to saw, chisel and plane? Does it matter?
An interesting twist in my recent usage of SQLite was the fact that I noticed my research scripts and the database intertwine more. SQLite is unique in that it really lives in-process, unlike standalone database servers. There is a feature to that which does not get used very frequently, but can be indispensable in…
In this post, I will walk through how I learned to implement Flash Attention for 5090 in CUDA C++. The main objective is to learn writing attention in CUDA C++, since many features are not available in Triton, such as MXFP8 / NVFP4 MMA for sm120. I also feel this is a natural next step after learning about matmul…
> In banking, telecom, and payments, reliability is not a nice to have. It is table stakes. The most reliable systems I have worked on reduce entire classes of bugs before the code even runs. Function...
A call to reject the deployment and use of AI systems in Canada's public sector.
Content warning: risk to children Julia and I know drowning is the biggest risk to US kids 1-4, and we try to take this seriously. But yesterday our 4yo came very close to drowning in a fountain. (She's fine now.) This week we were on vacation with my extended family: nine kids, eight parents, and ten…
HS2 has become a case study in how not to build infrastructure. But what if we’d taken a different path entirely? In this post, I imagine how the Swiss would have done it: starting with the timetable, not the project. It’s a counterfactual, but it’s not a fantasy.
ymichael's personal site
The best engineering orgs in the world are not the ones with the most (self-pronounced) "10x engineers", they are the ones where normal engineers can show up every day, do good work, and move the business materially forward. Oh yeah -- this is also the best way to build world-class engineers.
NT Vincit Omnia
How to Use Python in C