Snowboarding 2008

It's kind of hard to believe, but I haven't been snowboarding in very nearly two years. I'm pretty sure that last trip with Rick and Mark and Tomasz was in February 2006, not very long before I moved to SOMA. And then after two dead batteries thanks to not driving my car for 6 months I went ahead and sold it, and haven't really had much of a way to snowboard since then. And in the meantime, traveling the world has pretty much filled in the gap as my hobby of choice.

But tomorrow, I'm going on a work snowboarding trip to Northstar and I'm pretty excited. I'm sure I'll suck for a good few hours, but I'm actually feeling pretty confident that most of it's going to come back nice and quick, and I'm already sort of brainstorming about taking another snowboarding trip before the season is over.

Colorado anyone?

Amtrak scheduling.

Really, Amtrak? How did you decide to pick the trip that requires a transfer, takes significantly longer, ultimately transfers to the train I wanted anyway, and is the same price as the default option? And don't even get me started on your session handling.

Bad Amtrak scheduling

Today’s Leopard issue: exploding IMAP journaling?

My problems with Leopard have been kind of escalating, and I'm quickly approaching the "reinstall" advice that I've seen mentioned in a few support threads.

Today's problem is this: sometime between going offline last night and plugging in my laptop this morning, I presumably deleted a message or moved a message or something, because when I plugged things in I was greeted with this dialog:

Text of the dialog box reads:  Some actions taken while the account 'XYZ IMAP' was offline could not be completed online.   Mail has undone actions on some messages so that you can redo the actions while online.  Mail has saved other messages in mailbox 'On My Mac' in 'On My Mac' so that you can complete the actions while online.  Additional information:  The IMAP command 'APPEND' (to Drafts) failed with server error: Invalid mailbox.

So I clicked OK, and in the background my other IMAP accounts were already starting to synchronize, but then that same dialog popped up again. I fought it off a few more times, and then Mail just hung and crashed.

I tried hunting around in ~/Library/Mail/ and tried deleting the local copy of the Drafts folder for that account, but it just came back the next time I started Mail and the problem repeated itself. It was reproducible enough that I even saw the "try starting this app with fresh preferences?" dialog for the first time (I think it was tweaked in the final version compared to the one I linked to), but for something like Mail that wasn't exactly desirable.

My hunch was that this problem had to do with the file ~/Library/Mail/Envelope Index-journal [1], but it's a nicely inscrutable binary file that I was at a loss as to what to do with it, and deleting it didn't seem to do the trick, either.

Since I was able to start Mail while offline, I tried that and using yesterday afternoon's Time Machine backup to attempt to restore state, but that didn't work, either: Mail's Time Machine implementation is specifically message oriented, so I couldn't isolate whatever that problem was from the UI.

Ultimately, I had to move ~/Library/Mail out of the way and copy over the complete Library/Mail tree from the appropriate Time Machine backup, and that finally did the trick.

Uh, whee?

Update: Here's an Apple Support thread: "Mail crashing"

[1] This theory is anecdotally confirmed by the fact that the -journal file went away once I finally got everything sorted out, though that still doesn't explain why just deleting the -journal file didn't resolve the problem.

The website is not designed for interactive use.

Ever since Best Buy bought Speakeasy, I'd been meaning to switch to Comcast -- I figured that as long as I'm paying the man and his likely bad politics, I might as well pay less for hopefully faster internet. So last night, I finally got around to pulling the trigger, though not without some difficulties.

I started by selecting the plan and promo I wanted: 8mbps [1] at $43 a month for 6 months, going up to $52.95 afterwards, as described in this screenshot, here:

Comcast 8mbps plan promo

So I whip through the forms, only to arrive at a step that declares that I must chat what with a live customer service rep to confirm my order. Oh boy. Things start to go poorly when she asks what I was trying to sign up for:

Michelle.18651 Can you please verify the services that you are requesting today?
guest_ Um.. comcast internet, 8mbps plan; purchasing a modem, and self installation kit?
Michelle.18651 I do apologize, unfortunately I am not able to locate this promotion in my data base. I understand the this promotion is offered through the website, unfortunately it has not been added to my system as of yet. Please contact your local office or chat back at a later time to get this offer.

Assuming I was talking to a robot, I attempted to clarify, throwing out some of the info I assumed was confusing it:

guest_ I'm trying to sign up for the 8mbps internet plan.
Michelle.18651 Yes, I see that. For $43.00. I do not have the offer in my database.

Less convinced that I'm chatting with a robot now, but no less satisfied, I point out that it's not like I had made up my own offer and typed it into their website:

guest_ Um. I clicked on it from the comcast.com website?
Michelle.18651 I understand that as well, unfortunately the website will allow you to choose any option from the website. They are not available through online chat.
Michelle.18651 The website is not designed for interactive use. You as the customer are able to choose any option on the website and then you are transferred to an online representative. We are here to process all the information that you provide and verify whether you are eligble for the offers provided on the website. The website does not determine whether or not you are eligble for these offers. I apologize for any inconvenience that this has caused you.

(Emphasis mine. And if it's not designed for interactive use, then why do you have a form on it??) And then this was the final nail in the coffin, leaving me embarrassed to even remotely have anything to do with the internet:

Michelle.18651 The website also does not know whether these offers are available in all area.
guest_ Then why did it have me fill out my address before it let me do anything?

At this point, I "hung up" and just called Comcast, quickly describing which plan and promo I wanted and briefly ranted about the online chat; he paid enough attention to reassure me that "I'll double check that that promo is available in your area," put me on hold, and came back to confirm that yes, it was. The only snafu was that apparently they're not allowed to ship the self install kit and cable modem to me in San Francisco and I have to go pick it up on Saturday.

Total time spent dealing with the "live chat" situation? Upwards of 20 minutes. Total time spent on the phone, including the hold time while he confirmed the promo? Less than 5 (surely aided by the fact that I'm already a Comcast customer so no credit or address information needed to be relayed).

[1] For the record, I'm planning testing the performance of this plan and downgrading if it's not up to snuff; I'll let you know how that goes.

The obligatory iPhone post.

Believe it or not, I'm not getting an iPhone. That's right: I, apple fan boy, the owner of six iPods, and recent obsessor over cell phones, am not getting an iPhone.

The thing is, I really like it; half the time when my roommate is showing his to someone, I'll interject pointing out a few of my favorite features [1]. And I'm sure I'll end up with an iPhone eventually -- just not version 1.0 and all of its limitations.

As for the limitations? There are only really about 2 absolute deal breakers, though let's enumerate four. First there are the things that I do with my current phone that I would not be able to do with the iPhone:

  • I can't tether my laptop to an iPhone to get an internet connection. I use this feature at least twice a day with my E50, and I'm using it right now.
  • I can't connect my bluetooth GPS to my iPhone to get a number of features I use every time I travel.

And then there are the more common complaints:

  • It's only EDGE and not 3G. My E50 only does EDGE so I wouldn't be downgrading, but it still seems silly when I can probably just wait for 3G.
  • Without a proper SDK, there just isn't going to be a killer app. For example, one of the more killer apps on my E50 is the Nokia Sports Tracker; given that it's tightly integrated with the GPS and needs to record data (and ideally I want it to work when I'm roaming internationally, so recording to the network would be prohibitively expensive), it's just impossible on the iPhone given the current solution.

There are a couple of other issues like the fact that the Gmail experience on the iPhone is crap and the headphone jack situation is borderline consumer hostile, but that's basically my iPhone story. Don't let it stop you from getting one, but if you're an advanced user, it seems like you're going to run into at least a couple of these issues.

[1] My personal favorite is "flinging" a list to send it scrolling, and then touching the screen to stop it suddenly at exactly the point you touched it.

Death to conventional thinking!

And on the topic of the Beachball of Death, check out this video; death to conventional thinking!

Death to conventional thinking!

Yeah, there goes my YouTube linking virginity.

“It’s okay because it’s not a triangle,” someone said.

I was walking to Caltrain wearing one of my new t-shirts on the Friday before the Pride Parade, when it occurred to me that perhaps the shirt might be sending the wrong message for the weekend:

Beachball of Death.

Oops.

They lost me at 1.

It's not exactly a secret that Google is basically snatching up anyone with a pulse these days. In fact, I've been contacted five times in the last month by five different recruiters. And since I don't have updated information on Linked In or anything and I haven't floated a resume anytime recently, that means they're contacting me based on the three old copy of my resume that they've got in their system.

Most of them were standard fare, but the second letter I received was a real gem:

  1. This opportunity is in Mountain View, CA. Are you willing to relocate to Mountain View?
  2. "Do you have the unrestricted legal right to work in the U.S.?"
  3. If you were to accept an offer from Google, How soon would you be available to start?
  4. Please verify your education for undergrad and grad school (School, GPA, Major).
  5. Do you have any other interviews or offers pending?
  6. What programming and scripting languages do you consider to be your strongest?
  7. What is your salary expectations?

He might as well have just said "just confirm a few details and write down a number and your badge will be in the mail; you start Monday!"

Also entertaining was that the first few contacts were for "Web Applications Engineer," and with no reply from me and for no other apparent reason, the last couple were for "Senior Web Applications Engineer." How long will I need to hold out on them to make VP?

So it goes, y’know?

Kurt Vonnegut, Counterculture’s Novelist, Dies

Soft spot or blind spot?

Recently I've been looking into other languages and talking about them with friends, but we keep coming back to the same realization: for all of its warts, we're always going to always have a soft spot for Perl. Here's just one of the many perlisms I'd miss in another language:

    # create a new CGI object with three levels of masking:  
    # defaults get masked by parameters, and parameters get masked by overrides
    my $cgi = new CGI( {  %$defaults_ref,
                          %$parameters_ref,
                          %$overrides_ref,
                       } );