About Me
I’m a retired Software Engineer. I grew up in Toronto and I’ve been programming since sixth grade and really enjoy digging into ideas with computers. I’ve worked at Meta, and been the Artificial Intelligence Lead at Rockstar Games New England. Before that I was a Postdoctoral Associate at MIT, first at the Artificial Intelligence Lab, then at the Media Lab. And before that I was a graduate student at Carnegie Mellon University’s Robotics Institute. I currently live in Lexington, MA, USA.
I was part of The Centre for Metahuman Exploration
I founded and led Esc, a virtual 3D nightclub
The Journal of my road trip across America
You’ll need Acrobat ReaderI co-founded Grey Thumb, an artificial life interest group
How to communicate with an alien race
I (might have) met Roger Waters
I was a programmer on Star Trek: Armada
Calculating Pi in a video game
I sang in the band “Booty Resonant Frequency.”
email: martin at martincmartin dot comTop Posts & Pages
Categories
Meta
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
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
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
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
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
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
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