Thursday, December 4, 2008

At least I'm not bored

I just read 10 Essential Steps to Take BEFORE You’re Laid Off after seeing the link in Cosmin Stejerean's tweet. (He also links to three more in Hacker News--I also very much disagree with #13; some very interesting comments follow that articulate my distaste better than I could.)

I practiced a lot of these while I was at Altera. (I instinctively knew they made me more marketable professionally.) I'm quite sure that many of these made it much easier to get interviews and find my new job when I decided it was time to move on. I spent quite a bit of time updating my skills: before I joined Altera (in Sept. 2002) I had never used Python, Ruby, or CSS. I had limited experience with Java. I studied many other technologies, practices and tools over those six years (such as Test-Driven Development, Scrum, Django, Javascript, AJAX, etc.). I started this blog, and PyPap. I created and updated my LinkedIn profile. I started using Twitter and Facebook. I continued running regularly, and kept myself in good shape. And almost all this was on my own time, since I was careful to "Avoid being laid off in the first place". I put in at least a full eight hours of work (often more like nine or ten) every weekday, and was careful to avoid getting accustomed to doing personal tasks while at work. I constantly juggled my very limited available time, since my wife gave birth to our three kids over those six years.

The juggling has become even more difficult now that I have so much to learn at VMware. I need to make sure I focus on "Avoid being laid off in the first place", but I don't want to drop everything else. I want to find time for "Do extracurricular work that showcases your abilities". (I have no shortage of ideas for that work.) And the ideas for things to blog about (both here and on PyPap) are piling up. I just don't know where to find the time. I already get up between 5:30 and 6:00 so I can work on personal projects when I'm at my best in the morning. But there's so much to learn at work that most mornings I just end up starting work early. I'm usually too exhausted after the kids are asleep to do anything that takes any real mental energy. (And I need to go to bed early so I can get up early.) The kids get priority on weekends since they get so little of my time during the week. (And that's the only time I have for chores.)

At least I'm not bored.

Friday, September 5, 2008

The Road

This morning on the way to work I finished "reading" The Road by Cormac McCarthy. (If you haven't read it yourself, don't read the plot summary on the Wikipedia page.) I listened to it as an audio recording: 6 hours 40 minutes unabridged. I agree with Leo Laporte--listening to an audiobook feels like reading.

This is the darkest novel I can remember reading. I was wondering as I approached the end if McCarthy would be able to give it a positive ending. I want to avoid any spoilers, but I will say I found the ending satisfying, and I could imagine much darker conclusions to the story.

I found the novel especially moving because I am a father, and I can identify with the theme of trying to guide your children towards becoming a self-respecting, respectable adults, while keeping them safe and trying to gain every advantage possible for them, within sometimes fuzzy moral limits. I'm glad I'm not raising my kids in a world as dark as that in the novel. But I admired "the man's" very human heroism--his struggles to keep his son safe but also continue to "carry the fire" of "the good guys".

Another theme that resonated for me is how to live life after confronting the existential crisis. How do you live your life in a world with no ultimate purpose or external meaning? I spend quite a bit of time thinking about this. I keep coming back to the answer that one must find one's own meaning for life. Mine is rather selfish. I want to make the most of the great luck I've had in this particular combination of genes being born at all. "Making the most" is a constant struggle and balancing act between doing what provides me satisfaction over the short term and what will provide me satisfaction over the long term. That sounds selfish, but many of the things that provide me both short-term and long-term satisfaction are related to sharing with and caring for my family (as well as myself). I guess this should be the subject of a longer essay, that may take me a lifetime to write.

I may come back to this novel occasionally, for it has given me a renewed appreciation for nature and our environment. McCarthy paints the picture of a world with absolutely no life at all so vividly that like being separated from a loved one for too long, I want to give it a big hug now that we're back together. (Others have had the same reaction: see the last paragraph under "Awards and nominations" on the Wikipedia page. Again, skip the plot summary.)

I see that a film adaptation will be released soon. It may be a good movie, and I'll certainly seek it out. But I recommend you read (or listen to) the novel first. If you see the movie first you may forever lose the opportunity to experience this story in all its power.

Wednesday, August 20, 2008

Instant relief from back troubles, again

A little more than six years ago (I remember Claire was pregnant with Elleda, who just turned 6) I woke up one morning, stretched, and *click*—something happened to my upper back and I was in extreme pain. But the urge to urinate was even stronger than the pain of getting up, so I forced myself to my feet and staggered towards the bathroom. I remember one shoulder being much higher than the other—my back felt all twisted up. Somehow I made it to the bathroom and relieved myself, and then I think I mumbled something to Claire and lost consciousness.

Claire had never seen anyone faint before, and called 911. I think the paramedics were there almost immediately after I regained consciousness—or at least that's how I remember it. They found me upstairs in the bedroom lying flat on my back. They (of course) took this seriously and took my vitals, gave me an IV (if I recall correctly) and carefully strapped me onto a backboard and carried me downstairs and to the nearest hospital in an ambulance.

At the hospital they hooked me up to various monitors and asked me questions. Once they were satisfied that it was "only" back pain (and that my loss of consciousness was a "vasovagal syncope") they had me stay for a couple hours to make sure. (I happened to be in very good shape at the time—I had been running assiduously in preparation for my pending fatherhood—so I was proud that I kept setting off an alarm when my pulse dropped below 40.) But in the end there was nothing they could do—back pain is the sort of trauma they're not trained to deal with—and they sent me home (with a prescription for some kind of painkillers).

The pain wasn't nearly as severe (especially with the Vicodin or whatever they gave me), but after a couple days something still felt wrong in my upper back. I went to see my primary care physician (PCP) who (lucky for me) wasn't available and so I saw someone else. This doctor asked me a few questions and then examined my back. (This was the first time anyone had done that.) He found a vertebrae had slipped out of place, and asked if I had ever seen a chiropractor. I explained I'm a skeptic and that I've read about many that have made quite outrageous claims, and I don't know how to find a "good one". He then had me lie down on a massage table, asked me to take a deep breath and pushed on my spine and I felt instant relief. He had popped the vertebrae back into place. He explained that the muscle pain was spasms as they tried (vainly) to pull the the vertebrae back into place. I asked him if there was anything I could do to keep this from happened again, and he said he didn't think so.

I still felt a little soreness, but that subsided after a couple days.

Let's skip ahead all the way to last weekend. I had noticed my back was a little sore at work last Thursday and Friday, but I thought it was probably due to the new chair and desk at my new job, or the workouts from the fitness "boot camp" I had signed up for there. On the weekend I noticed my back was quite sore especially when I leaned over or lay on my side to play with the kids. Claire noticed that my shoulders were far from level. But it wasn't until Monday that I made the connection. The discomfort became pain, especially after the stress of the drive home.

I went to see a doctor Tuesday morning. I described my symptoms and told her my story of how I was sure this was the same problem as before. She told me (even after I explained how the other doctor had previously "fixed" me) that all she could do was prescribe muscle relaxants and ibuprofen, and give me some back strengthening and stretching exercises. Most of the time, she explained, back pain subsides after days or a couple weeks. If it was still a problem after 30 days then I could return for "imaging". I protested saying that I was sure it was the same vertebrae problem, and she did a quick exam and I was able to clearly identify where the problem was, but she said there was nothing she could do. I asked her if she could refer me to another doctor who could, and she explained she is an MD and the doctor I had seen way back was possibly an osteopathic physician (DO). Kaiser (my HMO) employs DOs as well as MDs as PCPs, but she couldn't refer me to another PCP. I asked if there were any DOs at that Kaiser facility (in Mountain View) and she looked it up and kindly gave me a list of the DOs at nearby facilities (none in Mountain View). I recognized the one name in Campbell—I was pretty sure it was the same doctor I had seen over 6 years ago.

I called to make an appointment (and ended up having to make him my PCP in order to do so); the next available appointment was the next afternoon (today), so I suffered through another drive home and painful night. The muscle relaxant (cyclobenzaprine) helped a little, but also dulled my senses in an unpleasant way.

This afternoon I saw that doctor and was pleased that he was the same one. This time it took him three tries to get the vertebrae (T4) back into place. I didn't feel the same immediate relief I remember from last time, but my back has been feeling progressively better every hour. I asked him if I should try the strengthening exercises and he replied "Can't hurt." I asked if there's anything I can do to prevent this from happening again, and he said hopefully there's no need to worry about that since it last happened over 6 years ago.

I'm going to avoid drawing any sweeping conclusions from this experience, but in this case an osteopathic physician was better equipped to help me than a "plain old" MD. I don't think this is an argument for "alternative medicine" (which I remain skeptical about), but it does appear there are some legitimate alternatives to standard medical practice.

Sunday, August 17, 2008

A couple Henry anecdotes

Claire took Elleda to a sleep-over birthday party yesterday, so it was just the boys yesterday and this morning. Today I was telling Claire about Henry's accident yesterday where he said "I have to go potty" and then couldn't hold it and made a puddle on the carpet. Henry was in the other room, but was eavesdropping. He looked at me and said "You said 'Ugh.'". That cracked us both up. I wish we had it on video.

Henry and I have found a rather elaborate bedtime ritual. After reading him some stories (usually Claire reads to Elleda and Gabe separately), he says "I want to sleep in my Thomas bed" (meaning his Thomas the Tank Engine toddler bed). I tuck him in, and warn him that if he gets out of bed (he always does), I'll put him in his crib. (Which we're glad we've kept in his room. He either hasn't figured out how to climb out of it--or the thought just hasn't occurred to him.) I then sit down and wait outside his room for a couple minutes until he opens the door. Then I tell him he needs to go in his crib, and (usually) smell something and ask him if he has a "poopy". If he does (and he often does), I change his diaper and give him another chance in his toddler bed. Then I wait outside his room again until he opens the doors and I put him in his crib. Tonight though, he had another poopy diaper, and he got one more chance. (This wasn't the first time that's happened.) But even though I told reminded him (again) that he'll go in his crib if he gets up, he couldn't resist. He asked me "Where's Mommy?" and when I replied "She's downstairs." He said "You go downstairs with her!" He didn't want me waiting outside his door.

No poopy diaper the third time though. And after about 45 minutes I could finally go downstairs.

Friday, August 1, 2008

What's the word for...?

Is there a word for being compelled to do something that would sound ridiculous to someone else? That’s what I’m feeling.

It's Friday night, and I'm working late, on my last day of work!

I'm working to document the web site that I've been working on for the last few months, that I only just deployed yesterday. And now the server that runs that site is down for maintenance. So I'll have to use my local install of my site on my laptop to help me write. (Before I delete all the code that belongs to my former employer from my machine.)

And the wiki server on which I would post my documentation is also down for maintenance. So I'll have to email it to a co-worker--technically now a former co-worker.

And my card-key stopped working. So I packed up my stuff and left before there was no one around to let me back in.

So I'm now at a coffee shop writing away, for my now former employer, on a Friday night.

Sounds ridiculous, eh? But I'm compelled to do it. I just can't bear the thought of people using my site and being confused or (worse) deciding it's of no use to them.

So I'll get back to work.

Friday, July 18, 2008

Legoland Photos

I uploaded 57 photos taken (over three days) at Legoland to Flickr. As usual, for my comments see first.

Tuesday, July 8, 2008

June Photos

I uploaded 40 photos from June to Flickr. See

Wednesday, June 25, 2008

May Photos

Just three photos from May were worth uploading to Flickr. See

Update: I found another 19 photos from May on Claire's computer that were worth uploading to Flickr.

Monday, June 23, 2008

Competitive Drive

A friend (of mine) asked Gabe why he likes sports so much. Gabe responded (with the complete honesty of a four-year-old): "Because I like to win."

Thursday, May 1, 2008

April Photos

Now that I'm caught up on photos, I'll try to stay that way.  I uploaded new photos from April to Flickr.  See

Wednesday, April 30, 2008

Tuesday, April 1, 2008

Fun Marlins Facts

Jonah Keri says in the ESPN Baseball Today 2008-03-31 podcast (18:55):
"Here's my favorite stat about the Florida Marlins...[their] payroll is smaller than what Alex Rodriguez will make by the trade deadline this season."
And here's one from Wikipedia:
Though the Marlins have never won a division title, they have also never lost a playoff series in their history (a perfect 6-0) and the only team able to claim a perfect playoff record.

Wednesday, March 26, 2008

Just two PyCon outings

I left the hotel only twice in between arriving the evening of March 12th and leaving the evening of the 20th.

March 13th (Thursday) was tutorial day at PyCon--I was quite exhausted after three excellent and intense tutorials from 9:00 AM to 9:30 PM. The conference itself was Friday, Saturday and Sunday. Sessions started at 9:00 AM and lasted until at least 6:30 PM. The lightning talks on Friday and Saturday had no fixed end time. And then I attended Open Space sessions late into the evenings.

The sprint tutorial on Sunday lasted until about 7:30 PM, and then I worked late preparing for the sprint. (I'm glad I got a jump on things--I found some work to do that kept me busy for the entire sprint, and beyond. I'll eventually write more on that in my Python blog.)

Moar sprinters

That's me in the Django sprint room (third from the right in my beige fleece vest). (It was nice of other people at PyCon to take so many photos and put them on Flickr tagged with "pycon2008". I didn't even bother taking my camera out of my room.)

Monday I worked hard at the sprint, and brought in pizza (the only Chicago deep-dish pizza I had the entire time), which made it easy to work late.

Pizza at the sprints

Tuesday I finally left the hotel for the first time, and joined a gang of Django sprinters for dinner a few stops away on the "blue line".

En route to dinner

That's me on the far right.

Django guys

And that's me on the left.

Then Wednesday I decided to join a smaller group of Django sprinters on an outing to see Adrian Holovaty play with Alfonso Ponticelli and Swing Gitan at the Green Mill. He's a big fan of Gypsy jazz (which is how Django got its name) and an excellent guitar player. I'm glad I didn't succumb to my introverted tendencies and stay in the sprint room, hacking away. The music was excellent, and the Green Mill was a great place to see and hear it.

Green Mill Sign

While The Green Mill looked like a dive bar from the outside, on the inside it's rather ornate (in a prohibition-era way) and reeks of history. I sat next to a friendly guy who had done his research and (in between sets) told me the story of Joe E. Lewis.

I don't regret not seeing more of Chicago, since I enjoyed every minute I spent at the conference. I certainly got as much out of it as possible. But perhaps next year (PyCon will be in Chicago again next year) I'll give myself a few more breaks and see some of the city.

Friday, March 21, 2008

Snow Hits Chicago

I got home late last night. The weather while I was there (during the two nights I actually left the hotel) was just how I like it: clear and crisp.

But it sounds like I left just in time.

Sunday, March 16, 2008

Select PyCon Photos

I'm at PyCon. I brought my camera, but I haven't taken it out of my room yet. But several others have, and have been uploading their photos to Flickr and tagging them.

Here are some of my favorites (presented in an order that I hope will tell a little story for the kids):

Flug Berlin - Amsterdam

Crowne Plaza 2
This is the tower of the hotel that is hosting the conference. I'm on the eighth floor. The conference tutorials, sessions and sprints are all in the hotel complex, so I have yet to leave the hotel since I arrived Wednesday night.

My room looks just like this.

PyCon 2008: Day 1

PyCon 2008: Day 1
More than 1000 people registered for PyCon. For the three days of the conference, we were all together in the mornings and late afternoon, but the sessions split into four tracks during the day.

PyCon 2008: Day 1

I'm actually in this one. If you look at the largest size of the photo, you may barely recognize me sitting in the back row (not at a table with a white cloth), all the way to the right. (I didn't realize that most of the people from the previous session were staying for the one I came for; I was lucky to get a seat.)

Thursday, March 6, 2008

No gunz

I found this on the kitchen table the other morning:


(And I promptly signed it; though Claire beat me to it.)

Thursday, February 21, 2008

I'm going to PyCon

I registered yesterday for PyCon, after getting my Travel Authorization approved just in time to still get the "early" rate (which ended yesterday).

I'm going to be there for the tutorials (all three)--since this is my first PyCon I want to get as much as possible out of it. I chose:
Sometime (in the next three weeks) I'll have to start planning on which sessions I'll attend.

Also (in the spirit of getting as much as possible out of it--and giving something back) I'm going to stay for the sprints. I'll almost certainly be joining the Django sprint, since I've begun using it at my day job (and for personal projects). This should be a good opportunity to learn a lot more about Django. I'll need to read Contributing to Django and follow the instructions in Preparing For The Next Django Sprint (which I heard about out about on the This Week in Django podcast #11).

Tuesday, February 5, 2008

3 anecdotes

I found a piece of pink construction paper taped to the headboard of my bed the other day, with a heart shape cut out of it. Around the heart was written (in crayon) "Furr Dad love sekret Jild Fnd - I wot tll you Hoo mad this." [Translation: For Dad, love secret child friend. I won't tell you who made this.] (The J in "Jild" was backwards.) Elleda has been enjoying writing notes and in her journal she got from her tooth fairy "Trixie" after her second tooth fell out.

When we got back in the van to head home after Gabe's birthday party, Henry was singing (before we turned the music on) "Nothing's gonna change my world; Nothing's gonna change my world."--a line from the Beatles' "Across the Universe". I guess a song can get stuck in a two-year-old's head too. (That song has been in the news lately.)

I don't really have a cute anecdote about Gabe, but for several weeks I've been enjoying taking him out for breakfast on Friday mornings. That kid can eat! He'll eat his Mickey Mouse pancake, sausage and egg and then eat most of one of my pancakes. And he still has room for a donut if we have time. Claire and I have noticed that he has been acting out much less, and has been sharing and doing special favors for Henry and Elleda. Perhaps our "dates" have a little to do with that. Or perhaps he's maturing.

I've updated Flickr (and with new photos.

Thursday, January 31, 2008

Another customer support story

Late last year I wrote a post on my terrible technical support experience with Linksys (and Earthlink). I have another story along the same lines to relate, though this one has a happy ending.

I bought an OtterBox Defender for iPhone from Amazon. Actually I should say I ordered it on, because while the order was placed through them, it was actually ordered from a "seller" called TechNGnet. (I'm going to be very cautious about ordering from Amazon "sellers" in the future, even when they have good ratings like TechNGnet does.)

The case arrived in a plain box, wrapped in bubble-wrap, and did not have the protective film that the instruction sheet that came with it said it should. And the touch-screen membrane was scratched. It looked to me like they had sent me a returned item.

So I looked up TechNGnet and sent them an email. Instead of the response I was hoping for ("Oops! Sorry. We'll do what it takes to satisfy you.") I was told to read their return policy, which said I could send it back at my expense and they'd send me a replacement. I replied and complained (since they had sent me damaged goods) and did not receive a reply.

But I'm glad I also wrote to Otterbox. They sent me a replacement at their expense, and I didn't have to worry about sending the first one back. The replacement arrived in proper packaging. But unfortunately it had a small defect: one of the snaps was bent. I felt a little guilty about writing them about it, but they sent me another immediately.

Now that's how a smart company treats its customers. TechNGnet on the other hand got the lowest possible rating from me on Amazon, and these unflattering words for people to find.

I need to write another post in this "series" that details the ridiculously bad technical support I've received from Roxio on Popcorn and Toast. I don't have closure on my problems with them, but it's just such a pathetic example of how bad technical support can be that I can't resist describing it. Stay tuned.

Eventually I intend to write about Spanning Sync also. But I will wait until I get closure on that first. I will say I was quite impressed when Charlie Wood commented on my previous post. (He must have a Google Alert searching for "Spanning Sync". Hi Charlie!) He also sent me an email and has responded promptly and helpfully to my emails. And Spanning Sync (the company) does a great job responding to questions on their Google Group. So I look forward to writing some positive things about them.

Finally, the Apple AirPort Extreme I bought works great. And after some aggravating initial problems with Comcast's Internet service, it's now working reliably too.

You tell 'em Bill!

I enjoyed listening to the "Real Time Overtime from 1/25/08" podcast (which you'll find on iTunes and at on my run today. My favorite lines:
It's about time the people of faith backed off. Because they've gotten away with that for years; just by saying the word "faith", you can't even have a debate about it. But I'm gonna have a debate about it.
They certainly do have the right [to believe what they want to believe], and I have the right to say they're batshit.

Monday, January 28, 2008

Ah! Room to stretch

For some time now I've been just about completely out of space on my 17" PowerBook G4's 100 GB (93.04 GB capacity) hard disk. (My PowerBook has become my primary machine both at home and at work.)

Most days after I open iTunes and it downloads new podcasts and episodes of TheA Daily Show, I'm down to less than 2 or even 1 GB of available storage. The largest fraction of my hard drive is taken up my my Music folder (over 42 GB) and almost all of that is from iTunes, so I've been focusing on that. More often than I'd rather, I've been sorting the folders in my iTunes Music folder by size and copying the contents of the largest ones (the largest is usually almost always the Podcasts folder) to an external backup drive and then deleting stuff in iTunes. I can usually free up a gig or two, but that gets eaten up again in a couple days.

It occurred to me recently that my Pictures folder is also quite large, and most of that is taken up by my iPhoto Library. This morning I finally made time to backup the library (which is probably unnecessary since I'm already using Time Machine--but one can never have too many backups) and then create smart albums for all my unrated photos from 2005 and 2006. (Photos from 2004 and previous were kept in separate iPhoto libraries which I keep on several different external drives.) I then exported them to my external drive (for yet one more backup) and deleted them. (The trick to deleting photos from an album in iPhoto is to use Command-Option-Delete, which I learned from a "Mac 911" article I found using Google. And I had to remember that "Delete" means "Backspace" on non-Macintosh keyboards.)

I deleted 1533 photos from 2005, which freed over 4 GB, and 2021 photos from 2006, which freed over 7 GB. I now have over 12 GB available. I can't remember how long it has been since I've had that much free space. I'm going to enjoy not having to worry about almost being out of space. I wonder how long that will last.

Saturday, January 12, 2008

Authoxy hits and misses (and Google SDKs and APIs)

I've been playing a little bit with Google Android and with the Google data APIs (aka GData), but the only way I've been able to make time is by coming in extra early to work. (The only other free time I have is in the evenings after the kids are asleep, but I'm a morning person--I'm usually too exhausted in the evenings to do any technical work.) But we of course have a firewall at work.

I've been very happy with Authoxy, which allows me to use applications that don't support proxy authentication.

So I tried to use it with the Android emulator, but with no success. I've posted on the Android Beginners mailing list hoping someone else has figured it out. I did get a helpful response, but I haven't been able to get it working yet.

Initially I didn't have any success with GData either (I'm using Python, naturally). I did a search and found a thread on proxy support with a reference to this Python CookBook recipe. So I tried setting the 'https_proxy' environment variable (to '') but it didn't work. I dug through Google's code and even stepped around in the debugger. I learned a few things (as I always do when reading code) but I just couldn't get it to work. So I set it aside.

When I came back to it, I noticed in (after searching for 'https_proxy' in Spotlight, which is very useful for searching sources on Leopard) that they also look for 'http_proxy'. So I set it too (also to '') and success! (This is certainly not the first time I've very quickly solved a problem when coming back to it after a break. Sometimes it seems like the longer the break the easier it gets.) As I learned from a Google Developer Podcast (which I recommend), one can use the Spreadsheets Data API to read and write entire rows, effectively using a spreadsheet as a flat file database. Pretty slick.

Update: I got the Android emulator working through Authoxy. See my reply on the Android Beginners mailing list. This morning (2008-01-14) Authoxy was batting 500, now it's batting 1000.

Thursday, January 3, 2008

October photos

I uploaded our photos from October to Flickr. You'll find details at

October was Henry's second birthday (we had a couple small parties: one at Skypark and one at his school). Elleda and Gabe enjoyed playing soccer in a league for their first time. And of course, Halloween was a big deal.

Wednesday, January 2, 2008

December photos up

I just uploaded our photos from December to Flickr. You'll find details at

We certainly did have a merry xmas. My parents came to visit for five days (that went by very quickly). And most of Claire's family joined us for dinner on xmas day; so we had a full house. The kids had fun playing with their cousin, and there were no complaints about sitting at the kids' table--Claire and I actually got to sit and enjoy our meal.

I neglected to blog about Elleda's first missing tooth. I believe she noticed it was loose in early December and it fell out about a week later. She was quite proud and excited. She cried at bedtime though because she didn't want the tooth fairy to take her tooth. So I suggested that she draw a picture of her tooth (since she loves to draw) and leave a note so the tooth fairy takes that instead. She did a great job drawing a little picture and colored a frame around it. I went out to get a dollar coin and Claire left it under her pillow with a little set of bubble-gum flavored lip balm. She was so excited the next morning that she came downstairs as I was leaving for work (around 5:30!) to show me. The lip balm (Claire's idea) was a big hit--she still caries it everywhere. But she still doesn't really understand money, so I think her golden coin is stashed away with her other treasures. (I don't think it occurred to her to spend it.)