Wednesday, June 22
I originally made a short-term reservation at Simmons Hall, both because I had to get authorization for a longer-term stay and because I wasn’t sure if I’d like it. I’ve already extended it once, but it expires tomorrow, when my partner arrives (he also needs a room). I email the house manager about staying. He says I should stop by. I go to his office. He’s not there. I try back later, he’s talking to someone. And so it goes throughout the day until he leaves. Uh oh.
I email him. He gives me a firm appointment in the morning. He can extend my room through the end of the summer. ‘Thanks,’ I say. ‘Alright then?’ ‘Actually, I have a friend and I was sort of wondering if he could stay here too…’ ‘Oh, hmm, well, I need to keep a certain number of rooms reserved just in case anything goes wrong, you know. I think we’re pretty much out.’ ‘But what about that room next door to me? Nobody seems to be living there.’ ‘That’s a double, not a single.’ ‘Oh.’
‘Actually, how about this?’ he says. ‘I’ll let you move into that room and you can split it with your friend. How does that sound?’ This Solomonic compromise is better than sleeping on the street or something, so I agree. He marks me down in his book and gets me the key from the desk. I move all my stuff over to the new room, which is like three times as big as my old room, and nicely laid out too. I return the key to the old room (stupidly, I guess) but I keep the door propped open so we can use it if we need some alone-time. (Which indeed I do until my partner gets us all locked out from it forever the first time he uses it. Afterwards, I switch to using the time machine.)
At around 7:30pm there comes a knock at the door — my first here. I open it and there’s a strange man I don’t recognize with a suitcase. ‘You must be Aaron,’ he says. ‘Hi,’ I say. ‘I’ve got some good news and some bad news. The good news is I cut our housing costs in half.’ ‘Wow, how’d you do that?’ he asks. ‘Well, the bad news is it’s because we’re sharing one room,’ I say and open the door onto our double. ‘Oh,’ he says, a little scared.
Despite this humor routine, I’m a little scared too. Watching this strange person move into my room is more than a little odd. I’ve always been afraid of sharing space with other people. I almost thought of dropping out of college if I had to share a room. At least this is only for the summer. But it still seems odd. What was I thinking when I chose to spend the summer with a random person based on little more than an email and a flicker of name recognition. I didn’t even check references, despite knowing one of the references. Why was I so stupid? I make a note to check with that reference (which I never do).
Despite all this, it works amazingly well. Simon likes asking questions and I like explaining things. We both enjoy our privacy and end up on roughly similar schedules. Simon is a good, if not great programmer and very open to being convinced he’s doing things wrong. In fact, Simon is very open to anything. So open, in fact, that his openness is practically the only frustrating bit about him. I can say the meanest things to his face and he’ll just laugh and agree.
Our first big debate is about planning. Simon wonders why we aren’t doing more planning. Shouldn’t we do use cases and draw up screenshots and make a list of features and pick milestones and build a mockup first? ‘Nah,’ I say. ‘Let’s just build it.’ This goes against what Simon has been taught. ‘Planning,’ I say, ‘makes sense when you’re solving a predefined problem or working for somebody who is defining the problem for you. But it doesn’t make sense when you’re hacking. When you’re hacking, as Paul Graham likes to note, you’re actually figuring out what the problem is, exploring the problem space. It’s through writing the code that you figure out what the code should do. You can’t plan that.’ Simon eventually comes to agree, although it takes him a while to get rid of his instincts.
Even afterwards, he is still tempted to overbuild things. We needed a permissions system, for example, and Simon build a super-advanced, completely generalized database model for one so complicated that it took up several pages of code. I spent a week trying to fix it up and implement it before finally giving up, saying it was just too complicated for me to wrap my head around. But he’s working on it.
I, meanwhile, have been struggling with my own demons — mainly procrastination. Programming is an odd task in that it requires so much mental discipline that your mind is often afraid of doing it. Worse still is the fact that it happens at a computer, usually one with an Internet connection, so there’s hardly any visible difference between actually doing your work and running off to check your email or read the news. It’s incredibly frustrating to snap out of a bit of newsreading and realize you just wasted a couple of hours.
To combat this problem, I brought back an old application I wrote: minuteminder. minuteminder unobtrusively pops up in the corner of your screen every five minutes. When you get a second you can click on it and tell it what you’re doing and it’ll log that with the current time and go back and hide. The idea is that the combination of telling the computer you’re really surfing the Web and seeing that you’ve been doing so for the past 20 minutes will jolt you into waking up and heading back to something more productive. It’s not a perfect solution, but I think it definitely helps a lot. (A todo outline has been another productivity lifesaver.)
Just having another person around is really nice, though.
You should follow me on twitter here.
July 26, 2005