Over the holidays we sponsored the Iron.io Holiday Hack Challenge, a week-long virtual hackathon where participants had to build apps that were useful, beautiful, informative, or just plain cool. Last week David Jones, Founder of Pairwise Affinity, was crowned the winner of the hackathon. His project, called Iron TicTacToe, implemented “parallel game tree search” from TicTacToe. We took a moment to ask David some questions about his background and hackathon project.
Q: Tell us a little about yourself.
I am Canadian, but I used to live in the San Francisco Bay area. I got my PhD in Computer Science at Stanford and I did a postdoc at UC Berkeley. I was a professor at McGill and then at McMaster University. This background might explain why my Hackathon entry had a kind of academic flavour.
Recently, I left academia to become an entrepreneur. My startup company, Pairwise Affinity, is developing innovative computer-based vision-testing systems to be used in clinical research to help people with retinal disease.
Q: What got you interested in programming?
When I was quite young, my school had a field trip to the University of Waterloo, where they had a vintage mainframe. The first computer program I ever wrote was in FORTRAN and it was submitted to the computer on punched cards. I found the idea of step-by-step algorithms so fascinating, I practiced writing programs on paper when I got home, even though I wasn’t able to execute them.
Q: What inspired you to build TicTacToe?
I’ve always had an interest in parallel computing, but never had much chance to play with it. I looked at the Hackathon as an opportunity to build something that demonstrated the power of parallel computing, and also demonstrated how it could be implemented on the Iron.io platform. I like the idea of solving a big computational problem by breaking it down into smaller pieces that can be solved separately, and then combining the smaller results to give the overall solution.
I chose TicTacToe because it is a simple game that anyone can understand, so I could focus my efforts on the parallel game tree search algorithm. The same approach could be used for more serious games like Checkers, Chess, or Go.
For an in-depth explanation, read more here.
Q: Why did you build the game using PHP?
The 3 programming languages I use the most are: C, Matlab, and PHP. There is a great helper library for the Iron.io platform written in PHP, so I went with that.
To see more of the projects that came out of the Holiday Hackathon, take a look here.