Wow. Lots of stuff done today.

I really enjoy looking back on a day and saying, "That was a day well spent." You can do a surprising amount of stuff in a day, home-cooked meals and all.

Today's big rock was the interviewbot I'm building for Stephen Perelgut. I not only put together a decent proof of concept ("It's more than enough", according to Stephen), but I also implemented a number of features that I thought would take me much longer to do. I gave him a full-perms copy of the scripted object so that he can show it around. I have a couple of other feature requests I can work on while waiting for feedback. It's coming along nicely, and I wonder if it's something that we can even release as IBM in order to get more brownie points. ;) (Either that or I figure out how to sell it, etc.)

Building that interviewbot in Second Life showed me that I'm still good at picking up new languages quickly and exploring what they can do. The limits were a little frustrating, but knowing what features were important to my target user made it easier for me to figure out the simplest thing that would work instead of getting caught up in shiny, new, complicated procedures.

Building the command language for my interviewbot reminded me of the shells I'd worked on for embedded programming projects. I added tab completion and a simplified help structure to the Compaq iPaq Linux bootloader, the first open source project I ever had commit access to. I chose that project because working so closely with hardware terrified me. What better way to learn than to work with code that could turn my shiny new PDA into a brick if I made a mistake? (And I did. Compaq sent me a better model because I'd been so helpful.) I learned a lot while improving the user interface for something with limited memory and input capabilities (just a serial terminal for the bootloader). Several years later, when a friend asked me if I could recommend anyone with experience in both embedded programming and Flex/Bison (high-level tools for designing and interpreting new grammar), I took a look at the requirements and realized that many of the same techniques I used in my first project also applied. I fixed the problem in their code, wrote a cleaner solution in C, and sent it to my friend for free. And now I've done it again—had lots of fun writing a little command-line interface. I seem to like working with these interface constraints.

I am geek. Hear me roar!

So yes, I'm very happy about that. =)

I'm also happy about the book that I've just finished reading: "Make Your Contacts Count", by Anne Baber and Lynne Waymon. Most networking books read alike, but this one made me stop and take pages of notes. It's worth adding to my collection of favorite networking books, along with "How to Talk to Anyone", "Love is the Killer App", "Work the Pond", "Never Eat Alone", and the classic "How to Win Friends and Influence People." I'll write more about this book over the next few days. Great find. Written in 2002 and not the least bit dated. I wouldn't have found it if I hadn't requested practically every networking book in the Toronto Public Library as part of my goal to deepen my knowledge of professional networking. I've read extensively about professional networking, but that doesn't mean I've learned everything there is to know.

One of the things I love about reading all these books is recognizing things I'm doing or want to do. For example, "Make Your Contacts Count" suggests organizing your own lunches or dinners with interesting people at conventions. Hey, I've done that! It also suggests volunteering, and I know how much that pays off. There are a lot of articles I can write based on the notes that I've taken and the experiences I've had, and I'm looking forward to sharing my thoughts and learning from others.

I'm learning a lot on the home front, too. W-, J- and I had a lot of fun learning about Siamese fighting fish (bettas) for J-'s science homework. We enjoyed another perfect melon while watching Discovery Channel's How It's Made (fishing reels, doll houses, kitchen mixers... cool)! We've decided that this week is Halloween crafts week, and I'm looking forward to decorating. =) Life is good.

PCFinancial raised its savings rate to 4.25%, which further supports my decision to move the bulk of my savings to PCFinancial from TD. I'll still keep my accounts at TD for flexibility, but I'd rather park my money in PCFinancial for now. I know it's relatively easy to move things around, anyway.

And to think that it's only 10:30. I wonder what tomorrow will be like!

Tomorrow I have a few errands, including depositing some checks and renewing my social insurance number. I'd like to focus on WickedCoolEmacs in the morning, and maybe tinker around with my bot a little bit before taking off for errands.

I'll be taking trapeze classes in the evening, too. $15 for a drop-in class on Queen and Bathurst at 7:30 PM. Want to join me? E-mail or call for more details.

Life is good.

Random Emacs symbol: ido-complete-space - Command: Try completion unless inserting the space makes sense.