About Me
I’m a Software Architect at Infinio, a startup I joined in March 2012. I have also worked at Endeca on the core algorithms for their search engine, been the Artificial Intelligence Lead at Rockstar Games New England, and worked at Panjiva, ITA Software and Icosystem. 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 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
Author Archives: martincmartin
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
In Defense Of Implicit Code In C++
tl;dr: When C programmers start using RAII in C++, they’re less productive at first because they don’t think of return; as cleaning up and returning, just returning. They blame the language, but they just need to adjust their mental habits … Continue reading
Finding A Job You’ll Love: Negotiating An Offer
So you did well in an interview and they’ve made you an offer. And now you just have to decide which offer to accept. Right? Well, not quite. You can always go back to your top choice and ask for … Continue reading
Finding a Job You’ll Love: The Interview
It’s best if you can do some prep for the interview. Try to understand what the company’s product is. It’s amazing how cryptic a web site can be, especially if it’s enterprise software in some industry you don’t know. Still, … Continue reading
Finding A Job You’ll Love: The Reverse Phone Screen
Once you’ve sent out resumes, you’ll hopefully get a few people interested in phone screening you. You’re really best off if you prepare for these and for the in-person interview. Get a relevant textbook and start reading it in the … Continue reading
Finding A Job You’ll Love: Locating Opportunities
I’ve changed jobs a bunch of times over the last few years, and now I’ve found one I’m going to stick with for quite a while. So I thought I’d write up the tricks and tips I’ve learned for anyone … Continue reading