Exercise, debugging and books aplenty.
Phew, finally managed to complete Week 2, Day 1 of the One Hundred Pushups program, even if it was just barely. This is the third time I’m repeating the Week 2 exercises. I decided I’d keep repeating until I can complete each day with at least the minimum number of pushups in the last set. So far I’ve been living up to the decision, too.
Today at work brought to mind a meta-quote from Code Complete:
“If you haven’t spent at least a month working on the same program—working 16 hours a day, dreaming about it during the remaining 8 hours of restless sleep, working several nights straight through truing to eliminate that "one last bug" from the program—then you haven’t really written a complicated computer program. And you may not have the sense that there is something exhilarating about programming. “
This lusty tribute to programming machismo is pure B.S. and an almost certain recipe for failure. Those all-night programming stints make you feel like the greatest programmer in the world, but then you have to spend several weeks correcting the defects you installed during your blaze of glory. By all means, get excited about programming. But excitement is no substitute for competency. Remember which is more important.
Props to Jeff Atwood for typing this quote out so I didn’t have to.
Both the original quote and McConnell’s commentary sprang to mind as I drank cup after cup of coffee (and my mug is not lacking in volume), tried to debug JITted .NET code by watching the local variables and call stack (because that was the only thing I could understand – you see, I’m not a Real Programmer), and finally, almost by a stroke of luck managing to figure out the cause of the mystery bug.
I had forgotten how strange that combination of excitement and frustration can be. I almost shouted out loud as laid out a solution in my head and went off to explain it to my team members.
Finally managed to get a copy of K&R C, too. I read about half of it in one sittng, pleased with how the book is written and wondering why I ever bothered with a huge monster like C Primer Plus, which drones on and on about basic programming constructs, and is a bitch to carry around. I also got The One-page Project Manager – communicating the status of a project is something I’m interested in, specifically ways to visualize actual progress. A quick glance at the contents of the book suggests this is not the kind of progress or communication I meant. More on that later.
That’s all for today. 🙂