Category Archives: Uncategorized

How I Found A 55 Year Old Bug In The First Lunar Lander Game

Update: This kinda blew up! Featured in Hacker News, Ars Technica and PC Gamer, among others. Just months after Neil Armstrong’s historic moonwalk, Jim Storer, a Lexington High School student in Massachusetts, wrote the first Lunar Landing game. By 1973, … Continue reading

Posted in Uncategorized | 23 Comments

Easy Quantum Entanglement: Simplest Description Of A Classically Impossible Result

Entanglement is perhaps the purest form of the strangeness of quantum mechanics. Bell’s Theorem is perhaps the purest demonstration of this, producing a result that is squarely at odds with classical notions of reality. Below is the simplest description of … Continue reading

Posted in Uncategorized | Leave a comment

Deciphering my Dead Mother’s Cipher

My mom passed away in 2020, and in cleaning out her house I found her old diaries. Seventy five years ago, in 1948 at the age of 15, she wrote: Ah, a puzzle. I like a good puzzle. Some quick … Continue reading

Posted in Uncategorized | Leave a comment

My Favourite Interview Question To Assess Design

When interviewing higher level software engineers, it’s good to assess not just ability to write code, but also to design systems. To accomplish that, I used to ask people to design something, such as an elevator control system.  However, that … Continue reading

Posted in Uncategorized | Leave a comment

A Few Things I’ve Learned About Agile

Many years ago I worked on code that integrated tightly with 3rd party software. The APIs were not always documented, and when they were, the documentation sometimes had omissions or was just plain wrong. In a situation like this, what … Continue reading

Posted in Uncategorized | Leave a comment

Higher order functions are (sometimes) more natural

I had a debate with some friends at work the other day, about whether the higher-order function map just adds needless complexity to a language. They considered it a kind of “advanced” function, which surprised me. They said that by … Continue reading

Posted in Uncategorized | Leave a comment

Writing To A Binary Stream In C/C++: Harder Than It Should Be

Suppose you want to write some code to communicate using a binary protocol. You would think C (or C++) was a natural language for this. After all, low level data manipulation is one of it’s strengths. But it’s surprisingly hard … Continue reading

Posted in Uncategorized | 3 Comments