Last Saturday I was saddened to hear of the passing of Martin Gardner. My own relationship with Martin’s work was through his republication and of commentary of Silvanus P Thompson’s Calculus Made Easy. In this little book, over the course of a summer holiday (can’t remember now if it was 2002 or 2003), I learned about calculus for the first time. Martin’s commentary helped to put the subject into perspective in light of the radical changes in style that had taken place since Thompson’s first publication of the work, emphasizing that the core ideas were essentially no different. I can’t emphasis enough just how pivotal this event was in my journey through mathematics.
When I at school doing A-Levels first time around I had little interest in studying the subject. In fact I was far more interested in doing art using my computer. However as I got further into the techniques of computer graphics and tried to code my own computer graphics tools I very quickly realized I didn’t know enough math to progress any further. There was no getting around it, before I could do any of the cool things I wanted to do with my computer I’d have to learn calculus and the book that was recommended to me (I think it was in some SIGGRAPH course notes) was Calculus Made Easy – what one fool can do, another can.
There are several obituaries and tributes you can read to learn more about his life and work (for instance here, here, here and here). However the best way to appreciate his work is just to pickup one of his books and start reading.
News of Gardner’s death broke late on Saturday evening. The following day I headed over to the Jam Factory in Oxford for a day of coding at Oxford Geek Jam 6. Leading up to the day we had discussed various formats we could follow but hadn’t really agreed on any one of these so I suggested that we code up one of Martin Gardner’s puzzles as a tribute to him.
This was the hottest weekend of the year so far and the Sunday felt even hotter that the Saturady, but the pitchers of Pimms got us through. (Incidentally that reminds me that the Cambridge puntcon is coming up fairly soon. Unfortunately I missed it last year, though it might be on a weekend this year I can’t make again. Perhaps we need an Oxford puntcon?) Even after getting kicked out of the Jam Factory earlier than normal for staff training we managed to find a pub that has good wifi continued coding. You can see the end result of our day here.
The format on Sunday differed somewhat from previous Oxford Geek Jams (I’d previously only been to Oxford Geek Jam 5) where hackers mostly worked individually on projects, although there was some pair programming at the last one. As we launched into developing the Game of Hip we decided that we would tackle the problem on three fronts; core game engine, front-end UI and game playing AI (sadly we had insufficient time to fully develop the latter). We then sub-divided the five man team into smaller groups around these themes and programmed the various parts in pairs. As a result I feel we really gelled as a team and in part this was helped by our use of the Oxford Geek Jam svn code repository. We committed changes fairly frequently, although everything got committed into the project trunk so we often found we needed to resolve conflicts. In one respect I think this shows just how closely integrated we were working as a team though it’s clearly not ideal to have to fix conflicts manually. However, I believe it provides a good reason for trying out git next time round to compare the effect on our workflow.
I’m really proud of what we were able to achieve and the day has reaffirmed my belief in the principle that if you get enough bright and motivated people in a room collaborating on a great idea you can do amazing things.