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.
The first part of the day was more crazy python code. I was asking Paul some more questions about the Visitor pattern and at some point, while he was describing some aspect or another, he said ‘It’s kinda like a linked-list.’
This happens a lot. Somebody at OM explains some complicated thing with another complicated thing and I have to take a deep breath and say ‘So, what is a linked-list?’ At which point paper comes out and drawings are made and I realize that I hadn’t really understood arrays until then. I’m so behind the curve in terminology it can be overwhelming. But, I should add, this is a thousand times better than being bored in my Java class. From way too slow to way too fast in one month.
Total immersion is supposed to be a good way to learn a language. I hope so.
We (and when I say we, I mean 95% Paul) did make some good progress on the OMwiki widgets. We’ve got the widgets successfully passing 5 or so tests. But the wikiWord widget is giving us problems for reasons I don’t understand. Something to do with a class/method we can’t call from where we are.
I, however, finally got my Tic Tac Toe to program to run without giving me some crazy sort of error. Whoo! That success was tempered by the realization that the program now plays very poorly. Wha happen? One of the big problems turned out to be Pythons’ way of sending the object as an argument (the infamous ‘self’) We ran into that problem a lot in our OMwiki project. Many methods have to take in self and then, to address one of the object’s variables, you have to write self.myVariable instead just saying myVariable.
On the way to the train today my bike’s gear shifter wire slipped out and the bike defaulted to 3rd gear. Hills became interesting after that. The good people at Rapid Transit (Excellent bike shop) fixed it in 5 minutes for free! Everybody reading this (all 5 of you) should go buy something from them right now (corner of Wolcott and North in Chicago). Later, Bryn and Tina came over to my pad and we indulged in some drunken video game funness (in the interests of full disclosure, we played: ‘The Simpsons: Hit and Run.’ You know that one level, where you have to use the Globex Supervillain car to demolish all the free laser gun stands, and then get back to KrustyLu studios before time runs out? That’s the level we couldn’t beat.)
“The Simpsons: Hit and Run” is/was one of those truly great games I still think about from time to time. I wonder if I still have it… Damn! I must have sold it when I got rid of my original Xbox to that guy I met though Craigslist – he was buying the Xbox and most of my games for his 7 year old son. Only later did it occur to me that I had a number of Grand Theft Auto titles mixed into that bundle. Oh well, that kid’s gotta learn about graphic violence someday.
The ‘Linked-list’ moment still stands out in my brain because just before telling me “It’s kinda like a linked-list,” Paul had this great look on his face like he had finally thought of a super easy way to explain this concept. He was so clearly pleased with his analogy that I felt just awful fessing up that I had no idea what he was talking about. The weird thing was that, as a teacher, I was totally used to this situation – just on the opposite side of the learning curve. But that was my job that summer: To get my mental ass kicked every day, learn from it, and come back for more.