Sunday
Dec112005

productivity vs life

Yesterday was a very productive day for me. I wrote the first half of a chapter on animation for a book on OpenLaszlo, along with working examples, then I refactored my laszlo finite state machine to something closer to generalizable. (It needs to be ready to handle the passage of time as a first-class event.) I didn't fix any laszlomail bugs, but I did sleep until past noon. Here's the thing: I didn't go to a birthday party for a friend of mine. When it got to be time to go, I felt, "I want to keep working!" ...so I did. So maybe this is how those wildly productive people manage to be wildly productive: by choosing work over a social life.
Waking up this morning, lazily, slowly, I realized this part of my life is luxurious. I have a weekend day and I can do whatever I want. I don't have much disposable cash, but in some ways that makes my weekends easier; back in the 90s dot-com days, I spent large parts of my weekends shopping, or doing dinner at a nice restaurant, and a movie, or snowboarding, or whatever. That kind of wanton spending isn't an option for me right now, so it's easier to choose to work.
But again: work for me is joy. Writing a chapter on animation in Open Laszlo is immensely enjoyable: this is cool technology that produces tasty user interface effects, and I'm excited to help people learn how to do it.
The real world is still here, though; today I have to tear myself away from the computer long enough to go grocery shopping. Grocery shopping supports coding, by providing the nutrients I need to keep coding, without disrupting my process to go out and find food.
Someday my life will be different from this; someday my life will include a life-partner and maybe kids and more commitments to external organizations and a regular yoga class and sunday-morning-waffles with my circle of friends... That will be then. For now, I am enjoying this life. I'm free, and I'm doing the work I've always wanted to do.

Saturday
Dec102005

experimenting with amazon associates

I'm experimenting with Amazon Associates, to see how it looks and feels to have click-thru recommendations in my blog. My blog readers are precious, and I don't want to waste your screen space or attention with google adwords. If I post a link in my blog, it's a link to something that I care about, and something that I think deserves a couple hundred pixels. Plus, I get a kickback of some small fraction of your purchase price. So, here we go:
Unix Power Tools is the best book on unix/linux that I've ever read. It's 1200 pages of little tiny superpowerful unix tricks. I bought this book twice (maybe gave the first one to my brother?) and it's worth buying over and over and over. It's the best parts of the best O'Reilly books. These little articles present just one thing, and you will learn something valuable even if all you read is that one thing. Knowing how to use "ls -ltr | tail -10" has probably saved me many hours of poking around, and "find . -name" is crucial for navigating deep source trees.

Let me know what you think of having these little ads.

Tuesday
Dec062005

primetime camp

Whoever thought of this, I love you: William Shatner and James Spader are a couple on Boston Legal -- a primetime show on ABC. This is so incrediby superfantastic.

Monday
Dec052005

careful prep for a code review

Yesterday and today, I think I stumbled upon a good structure for getting several simultaneous high priority bugs approved for checkin together. Think of the changes as orthogonal; make a new changelist for each bug you're fixing. For each changelist, make sure that it fixes the bug. Then do diffs on your files against the most recently checked in files. For each line of diff, look for fixme's and todo's. Can you clean up some bad spacing or improve a comment? Once you're proud of every line you've touched, build and run one more time. If all is well, ask for a reviewer. Then it's straightforward: "To fix this bug xxx, I made these changes in widgviewsnow.lzx." You can present the change with confidence, because you know what you've done and why. Those are fast, fun code reviews; resolving half-dozen P1 bugs in the space of a few hours.
But before all of that comes the real work of finding and fixing the bugs. Lately it's been working for me to do serious coding from hoome at strange hours. When I'm in the office, I'm available for communication and interaction, but I can't generally count on getting much real focused work done at work, lately. Thus: code hard evenings and weekends. Present focused checkins for review. Be available to work with other team members. Surreptitiously borrow team members windows machines in order to install Firefox 1.5 and trillian and openoffice and cygwin.

Sunday
Dec042005

chocolate economy, cats, etc

Expensive chocolates are significantly more expensive than regular chocolates.

This post by Wil Shipley just keeps making me laugh. Days and days of laughter from this:

"It is well-known, of course, that cats can die to death from not eating for six hours. Or, in this case, from having to eat the kibble bits left on the bottom of the bowl."

When reading this I actually freaked out for a minute, thinking, oh no, have I killed my cats by only feeding them once a day? ...despite the fact that my cats are in fact rather roly-poly. Goes to show how powerful the feline's mind control forces have become.