Ted Leung on the air: Open Source, Java, Python, and ...
This is our fourth day without the Powerbooks...
Kudos to the Vancouver police for having and using e-mail. That made it easy to get them the rest of the information that they needed for their police report. We need a copy of the police report for our insurance claim. Unkudos(?) to the Vancouver Information and Privacy Unit for requiring a paper letter to get a copy of the police report.
Thanks to Paul and Jenny for loaning us an iBook instead of turning it into a media center. Having that iBook means access to the backups (from December) of my Powerbook. As Julie has pointed out, we didn't have any backups of her Powerbook, except for some of her iPhoto library. I feel terrible about this, since I should have been on top of this as the family IT guy. Of course, two month old backups suggest that I wasn't doing a terribly good job for myself either. So we are limping along -- during the day I need the iBook and the Linux box, and at night, Julie can use the Linux box. The old Thinkpad X21 that the girls were using finally jumped off the precipice into unusability, and even wiping the disk with the restore partition isn't helping. It looks like some kind of intermittent hardware problem. So while we are sort of back on the air, it's in a limited way, and is likely to stay that way for a while.
OSAF has been very understanding about the theft of the computer, and it looks like I will get a replacement. Since a 15" Powerbook and the lower end MacBook Pro cost the same, it's a tough tradeoff over which to get. But since this is the machine that I'll be living with for the next few years, it seems sillly to get a PowerPC based laptop, so MacBook it is - now there's just the long wait for one. I suppose I should be happy that I'm getting a MacBook via work (I was expecting to have to shell out my own money), but I'd be much happier to have the old computer back. The last few days have helped me see how much work it's going to be to get a new machine back to a usable state, even with the backups. And I don't like to think about the data loss.
Julie thinks that I am doing well about this, but I don't really think that I am. I'm pretty cranky, and I'm having lots of moments where I expect to be able to do something with some data or program, only to be reminded that I can't. I'm working in an environment which is not the highly tuned environment which I am used to, and I can feel my productivity suffering. I ought to be happy, since this is proof that I've been successful at leveraging the computer to tangibly improve my productivity. For the last few days, I've felt more like someone who's having to learn to walk again.
Thanks to all who took the time to comment, whether to apologize for their city (no need for that), offer sympathy, or give a tip. We appreciate it all.
I've never been very good at remembering dates, but that's not why this post is late. Yesterday was our 14th anniversary, and I was at Microsoft's Search Champs v4 (more on that in another post). When Brady Forrest called to invite me, Julie graciously gave me permission to go. While there have been one or two times were we have celebrated our anniversary on a day (or days) not exactly on the day, it's not a habit that I want to get into regularly. Julie put up a pair of posts celebrating the day, but I didn't even know about them until Dori mentioned them to me this afternoon (regular blog reading went out the window due to the schedule).
In one of her posts, Julie quoted Guy Kawasaki, who advocated marrying later as a hedge against an uncertain future. Unsurprisingly, I agree with Julie and disagree with Guy. Marrying later isn't a hedge against the future because you never know how a person is going to change, and we are changed by our experiences in life together. I know that after 14 years, Julie and I are very changed by the experiences we've had, both the bad and the good. We're like a pair of vines that have grown up and gotten intertwined with each other, to the point (or so it seems to me) of inextricability. Not only are we still going strong after 14 years, but as we are branching out in life, we are also coming together. When we got married, I was the computer geek, and she was the biology geek, and there wasn't any overlap -- and I was fine with that. Fast forward, and things have changed. Next month, we're on a panel together at Northern Voice. Blogging has changed each of us and brought us together. When we first got married, Julie was the one who wanted a camera. I honestly didn't see the point. Now, I'm the one toting the huge camera, and photography has become a shared interest. This time I was the one who changed, but still we grew together and not apart. You never know where your shared future will go, but having the mindset of making it work has kept us growing closer and not apart.
Julie, it has been the sweetest and most unexpected adventure of my life to be with you. There is no way that I could have planned something better than what we have.
I've never been very good at taking a good vacation, although we've had a few good ones over the years. This year, I managed to go all the way from January till this past week without a vacation, which was definitely way too long, especially given the amount of traveling that I did this year.
This year, like last year, we took advantage of home schooling to go on vacation after Labor Day, when things are less crowded. We also repeated our visit to Sunriver. This year we were able to get to more of the area attractions, and I was able to indulge in a little photography. Much of the story is in this Flickr set. Warning: there are a *lot* of pictures. It was a good vacation, and like all vacations, it was just a little too short.
I was very good (for me) this vacation. I did not send a single e-mail message, and I managed to totally stay out of my work e-mail. So for those of you who e-mailed last week, I'll be catching up over the course of this week.
I'm slacking a bit on the blog. We've had a busy summer - a conference every month, a good sized house project, and some unexpected health stuff. This weekend was one of the first quiet weekends in quite some time, or so it felt.
Sunday afternoon we were pondering what to have for dinner. It all started with Compli. Julie found it earlier during the weeks grocery shopping, and it sounded interesting. The only problem was that we didn't have recipe compatible with the use of Compli, and the use of the grill. We've had limited use of our deck (the house project) and so we're trying to make up for lost grilling and eating outside time. Some Googling produced a reasonable sounding recipe. Julie wanted to take Abigail to the pool, so I did the food prep. The brining was pretty easy, and I finished that before they left for the pool. I sent Elisabeth for a nap, and Michaela sat in a part of the kitchen working on a Python turtle graphics program. That left me to prepare the rub. Julie thought I was a little strange to want to work on it right away.
Growing up, we barbecued a lot during the summer. My dad usually did this, and it was a common sight to see him doing the prep for dinner either late in the morning or early in the afternoon. Then there would be a break and Dad would do all the grilling. I have a powerful and pleasant set of memories about this. Almost without fail, I think of my dad when I am grilling.
I started out by crushing fennel seeds with a mortar -- Julie wanted to bag most of the spices in the rub, but I wanted to try it -- one more reason why I got the job. It was great to smell the fennel as the pestle cracked the seed cases and released the spices. Michaela caught the smell from her perch behind the Thinkpad, and told me so. The fennel was followed by sage, which was pretty short work.
Things slowed down when I got to the rosemary. Julie sent the girls to pick some rosemary from the garden (our garden has been reduced this year, due to a different house project). Of course, if you send three young children to pick rosemary, you are going to get a sizable amount in return. The rosemary took a bit longer. I found it hard to really keep all the little leaves lined up so that I could chop them nicely.
When I finally finished, I decided that I was going to snap some pictures of the rosemary, and that was when the trouble started. The rosemary was innocent enough. From there, I moved on to photographing the rub as it was at that moment. After the rosemary, I needed to chop some garlic. About halfway through one of the pieces, I got the idea to take a few photos, figuring that a knife halfway through a sliced clove of garlic would make for a cool picture. So I shot various angles, and looked for reflections against the blade. Then I noticed that the light from the kitchen window was being blocked by the blade, and I took a bunch of exposures trying to capture the subtle change in light caused by the blade. In order to do this I felt that I needed longer exposures than I could reasonably handhold. So out came the tripod (although I used it as a monopod).
From there on out, each completed step ended up getting photographed to death. Fortunately, there weren't that many steps left. Julie and Abigail came back from the pool, noting the pleasant smells in the air. There was some surprise that I wasn't done with the cutting yet. Once they heard that I was taking pictures, they seemed to understand the delay a little better.
The actual grilling went fairly well. I had a small problem with the grill being too hot, but I eventually solved that, and got all the pork chops cooked. We doubled the recipe and did some pork tenderloin as well (pork chops are pricey). Was it worth all the work? Based on the reactions of the diners, I'd have to say it was. It's hard to say which made more of a difference on the results, the brining or the rub. All I know is that this is the second time that we've brined something and had it turn out fantastic. Although if I was making this recipe again (and I definitely will if I have anything to say about it), I would dial down the salt and pepper in the rub just a little bit.
I posted a Flickr photo set, so if you want the visual version of the story, you can go have a look.
do what we did today.
Julie posted her response to a comment left on my blog that suggested that perhaps she and I talk to each other instead of blogging about each other. Actually not only do we talk, we also do projects together. The Pacific Northwest is not the best place to own a deck, and ours is very high maintenance. So we spent about 8 hours today stripping and brightening the deck in preparation for re-staining it next weekend (weather and temperature permitting). Working on house projects together is a great way to learn about another person, how they think, how they react, etc.
As far as expensive photography equipment goes, all I can say is that a post on that topic is forthcoming...
The Saturday before last, Abigail was in her first dance recital. Julie has already written her account of the recital, so I won't repeat the details here. We'd spent the weeks preceding with some extra rehearsals, and the week before had a dress rehearsal, which is the first time that the dancers themselves got to see what the recital would be like. I missed all of these because they took place during regular work hours. Although I could have taken off the time from work, I wanted to be surprised with the results, and Abigail seemed happy enough with that.
When Saturday night arrived, I felt a little bit like things had snuck up on me. As I was easing into my seat in the theater, I remembered performances of various kinds that I was involved in throughout the years. I've been to plenty of performances in my life, so it wasn't an unfamiliar feeling. But this was the first time one of my kids was going to be on stage, and I was both nervous and curious at the same time. I'd been to the end of session classes and seen what Abigail's class had been up to. So I thought that I would have a pretty good idea of what I'd be seeing.
Turns out I was wrong. Abigail and her class were out in the middle of the dance floor all by themselves, and they were doing thing that were more sophisticated than what I had seen in class. They turned, they spun, and they moved across the stage without any adult supervision. Abigail's class was the youngest in the recital, and there was plenty of "cute" factor involved. But they did a very good job and looked like they were genuinely having a good time, which is the most important thing as far as I am concerned.
It was a special moment -- there she was; in costume, all made up, and very independently executing her dance moves. This was a milestone for her, and for Julie and I as parents. Her growing up is helping us to grow up as well, preparing us for the day when she will leave us and make her way into the world.
Yesterday (Friday) we took Michaela to the hospital to have a minor surgical procedure. Surgical procedures have a long preparation period, so we arrived at the hospital several hours early in order to accommodate all the requisite paperwork, measurements, and waiting. The operation was scheduled to take an hour or less, and there was no reason to be concerned about anything dangerous happening. At least, that's why my brain kept telling me.
Throughout the week my brain has been communicating with me on two wavelengths. On the first, it was saying "look, this is not a risky procedure, the hospital and doctors are very good, so just relax". (Of course, human doctors can and do make errors). On the second it was saying "look, you believe that God loves you and controls everything. Why are you worried?" (I've found that God's notion of what is good for me and my own notion are not always in agreement). So as I watched Michaela throughout the week, I'd occasionally be having one of these dialogues (or variations) with myself. It's all a part of being human.
The hospital allows one parent to be present until the anesthesia has taken effect. Julie and I decided that I would be the one to accompany Michaela into the operating room. The staff at the hospital did a good job of taking care of us. Someone came and showed Michaela the mask that she'd be using to breathe in the anesthetic, and we met all the doctors. Everything was comfortable and relaxed. Eventually some folks came to escort us back to the operating room. The staff did a great job of doing the induction -- they started by asking Michaela about her mask, then they asked her if she wanted to hook up the hose to the mask, which she did. Then they showed her the rubber balloon that was part of the apparatus and showed her how it inflated and deflated as she breathed in an out of the mask. So they had Michaela practice breathing into the mask. During the practicing, they had her lie down and started the gas flowing. I held her hand and talked to her for a few seconds as she started to go under. I kissed her brow and someone escorted me out of the room. Michaela was very relaxed during the entire induction, but still it was unsettling to watch her go under -- anesthesia is not a natural thing for people (the anesthesiologist warned that we might see eye-rolling, gasping or other symptoms -- of which I saw none).
Everything went fine and Michaela is back to being her energetic self, although she'll have to be careful about her stitches for the next week or so.
Late Thursday afternoon, I found out that one of my uncles had passed away. When I called cousin (his daughter) to see how things were going, I learned that he was still on a breathing machine, but not yet disconnected. So he was dead, and yet not dead. My uncle and I were not that close, partially due to a language barrier, and part to geographic distance. As we talked, my cousin and I reflected on the fact that we've reached that age where our parents and their siblings are starting to depart this life.
This part of my family is back on the east coast, which means a longer trip out (next weekend) to attend the services and other proceedings. I haven't been back east in quite some time, so I'm looking forward to the chance to see some family, but wishing it were a different occasion.
It's hard to write about death. I feel progressively sad, it is sinking in over the days, as I contemplate the meaning of it. I'm grateful that he lived a long life, that he'd been very happy in recent months, and that he passed relatively quickly and without pain. I can't help but think ahead to the day when it's one of my parents and not one of my cousins. I believe my uncle has gone on to a better place, to live in the presence of his Maker, and that someday I will see him again. That doesn't diminish the pain of his absence from our lives until we meet each other again.
The final day of DaddyCon was extended because Julie's flight from San Jose was cancelled due to mechanical problems. All the air travel our family has done in the last week and a half has been on Alaska, and I have to say that I'm unimpressed. I usually fly United when I visit OSAF, and they've been super reliable.
We had another lazy day of just hanging out together, playing silly tickling games, and cuddling in various combinations (most of which involved at least one child sitting on top of me -- but such is the joy of small children). The girls also treated me to an impromptu puppet show, an affair filled with puppet introductions in the midst of gales of laughter.
Abigail continued to diligently work on her turtle graphics. She seems to building up good intuition on the direction of the turtle, so perhaps we'll be ready to sit down and talk about angles soon. Right now she's at that awkward stage of wanting to express more than she can actually instruct the computer, so I want to help her expand her vocabulary lest she lose interest.
Meanwhile Michaela succeeded in tying a shoe by herself! It took three days of coaching, broken down into two parts. First, she just needed to be encouraged to keep on trying. Second, I needed to learn how to explain the various finger movements needed to actually tie the knot. With something like tying a shoe, there's so much that has become unconscious that you really need to dig in and force yourself to remember all the things that need to happen. For me, it took a bit of observation of Michaela's errors before I could come up with a explanation/recipe for how to get the shoe tied. She's tied it a few times, and now it's all practice.
Julie was due to get in just a little after the kids would go to bed, so I decided that we could keep them up, and that the girls and I would drive down to the ferry and pick Julie up. So after dinner, we cleaned up all over the house, did as much of the bedtime routine as possible, and laid out pajamas so that getting into bed would be fast. Then we piled into the van, and made the pickup. The girls were eager to tell their Mom about all the things they've done during the weekend, and we had a nice albeit short reunion in the car before the girls went off to bed.
Today DaddyCon II was in full swing. We all got up in time to get Elisabeth to her 9AM gymnastics class. Once again, I followed (more like tried to keep up with) Elisabeth as she wandered from apparatus to apparatus. Occasionally, she would pause in front of her sisters to exchange some smiling or giggling. The older two girls brought some books to amuse themselves, so I only had to stop by and check in with them a few times. No behavior modification instructions needed to be issued. We spent much of the rest of the day lazing around. The effect of all the traveling must be catching up with parents and children alike.
I did try to tune in to the BloggerCon webcast but I kept getting an error message about the server being busy. For all I know, the broadcast stream doesn't work with the Mac version of Windows Media Player. I popped into the IRC channels, but I didn't really have time to follow them all, and the content was kind of sparse for someone that wasn't on site.
This afternoon, we took some time to put some of Abigail's turtle graphics exercises up on the girls' blog. These don't quite count as programs -- the drawings are simple and she was just getting the hang of working with the turtle, but I thought it was a milestone worth recording. I also put up a few photos of the young hackers on my Flickr page. Since we did the first session yesterday, Abigail started to use phrases related to the turtle graphics world in her conversations about the real world. The thought pattern is starting to sink in. For today's session she had a few ideas for things that she wanted to try drawing.
Watching Abigail deal with the keyboard and trackpad on the PowerBook reminded me of how much you need to be able to do to interact with a computer, and how surprising various user interface features are. She got confused by accidentally bringing a background application to the front, transparent windows, mouse overs, and Expose, to name a few features. Proper use of the shift key was another cognitive obstacle, although that skill has been assimilated. After watching me touch type on the keyboard, I noticed that she was trying to put her hands over the keyboard in a similar way -- imitating the way that I typed. It's amazing to me how observant she was. Michaela and I did another session of shoe tying, and then we cuddled a bit while Abigail was hacking.
After Elisabeth's nap, we hung out some more (everybody wanted a low key day today) until dinner. Today's dinner menu was frozen chicken tenders and french fries, along with two varieties of pears, accompanied by the usual beverage selections, milk and water. This was also straight forward and uneventful. Since I didn't take into account some of the delays in pre-heating ovens and such, we finished later than I planned, so we mostly cleaned up and then I gave the girls a bath. This is another area where things were different from DaddyCon I. In April, Abigail still needed a parent to help her get through the bath routine. Now we send her off to the master bathroom while I give the younger two a bath in the hallway bathroom. After that was the regular bedtime routine, and the attendees were off to bed.
One of the interesting things about just hanging out with people (children or otherwise) is that eventually you end up talking about random topics. Today Abigail and I had a few conversations just because we were hanging out. The topics were those of adult conversation, and I found myself amazed at how fast children grow up. While that means a finite number of future DaddyCon's, it makes each one all the more precious.
- Multiple very large Chinese meals in restaurants and homes of relatives. As Julie put it, "we haven't eaten breakfast, lunch, or dinner in the same place all week"
- Michaela slipped on a rug and hit her head on a metal railing. We had a quick trip to the local hospital for stitches. Michaela is a *tough* kid. The ER doc barely gave the local anesthetic a chance to work before he started on the stitches -- she barely reacted at all (she said "oowee", and that was it, no moving, thrashing, etc).
- Meeting my nephew/cousin Eliot in person, and having a chance to chat about computers, school, etc.
- The kids now know the names of all the fast food chains available on I-5 from Seattle to LA. Elisabeth has learned to say "Burger King", the clear favorite.
While composing this post, I discovered that there are some really hardcore Slinky resources out there. We'll find out if they are too much for a 6 year old.