In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.
You know what? I had fun today. Imagine that. Yes, some of the day was spent looking at the OMwiki pyhton code which still confuses the hell out of me, but I learned how to extract methods in Eclipse. I know I’m not the first person to say this but, the ‘extract method’ thingy is way cool. It makes it sooo easy to slice large pieces of crazy code into much smaller, friendly, bits. Almost fully automated creation of methods. Neato.
The other fun thing I did today was getting my Python Tic Tac Toe to not only run, but to play perfect. It takes forever, though. David and Paul say it shouldn’t take that much longer than Java, but it does. If the TTT board is empty, it takes about a minute to make a move.
Yet more fun, I’m doing a TDD (Test Driven Design) re-write of Tic Tac Toe in Java. I’ve hidden the original code away and I’m writing the tests first using the Junit plug-in (this program works with Eclipse to make running tests easy). When your test passes, you get a green bar. Failure is red. It’s amazing how addicted you can get to seeing that green bar.
Humbling moment of the day: I’m eating lunch with Paul and I’m describing my Tic Tac Toe program. Somewhere in the conversation he casually mentions that He, Micah, and Chris (former OM employee) each wrote their own chess programs awhile ago. For fun.
If you don’t play chess, lemme tell you: It’s scary complex. It took Paul six months. Paul’s actually been working for OM for about 4 years now. He spent the first 1.5 years working year round when not at school. But then he settled into just working when he’s off school. Paul’s thinking of getting a Master’s in Math.
No Micah today, but he should be in tomorrow. Paul has made some good progress on the OMwiki widgets so I feel much better about the project than I did Monday or Tuesday.
Writing a chess program for fun – still blows my mind. I believe they had their chess programs play each other. I aspire to someday be that geeky.
There was a time I thought I would never go back to a non-refactoring IDE, but I’ve been using TextMate for a few years now. Although, one of the guys at work uses RubyMine and I have to say that it’s coming along quite nicely. I’ve had my heart broken with Ruby IDEs so many times in the past that I don’t know if I’ll ever love again.