Well, it's been a long time since I posted anything here, and a lot has happened. I won't bore you with all the details, but suffice to say it's been an interesting ride. The good news is we were able to move back into our house in August and life is good. We're not completely done, but we're getting back on track and moving on with our lives.
Max started middle school so I am officially a morning person now, and I've even caught the Facebook bug. We got a cat.
I want to expand this blog to cover things technical and personal, and I'm going to spend a little time every week posting something here. I was going to say "something interesting" but it probably won't be, so you're just wasting time reading this. :)
The email-sig is very interesting lately. Python comes with a package to parse, generate and manipulate email messages. It's actually very functional in Python 2 but mostly because we cheat. In Python 2 we can be lazy about what's a string and what's a byte and email exploits this profusely. I know this because the email package is severely damaged in Python 3, where the distinction between strings (unicodes) and bytes is explicit. The email-sig is tasked with maintaining and developing the email package and we're struggling with many tricky issues. And y'all thought email was simple because 99% of it is spam.
Python 2.6.3 was released last Friday, but it was broken and no one should use it. It's my fault as the release manager for wanting a shortened candidate cycle, but I'm still not convinced that a long cycle would have avoided the regressions. 2.6.3 broke the logging module and setuptools, so I released Python 2.6.4rc1 on Tuesday. 2.6.4 will have a nice long candidate release and a very conservative commit policy. We'll just fix the regressions in 2.6.3 and hopefully have a solid 2.6.4 on October 18.
On a personal note, I've been taking vocal lessons from Dede Wyland for about 6 weeks. She taught Joe Uehlein (from the U-Liners) and she's fantastic. I never really understood harmony theory, but her explanations were fantastic. Tenor tends to sing a chord tone above the melody and baritone tends to sing a chord tone below the melody. So if the chord is G major and the melody is singing a B (the major 3rd), the tenor will sing a D (the 5th) and the baritone will sing a G (the root). I was pleasantly surprised that I didn't totally suck when we sang together! I'm really enjoying stepping up to the mic more often.