Somebody Hates Me
June 19th, 2008When I see a forecast like this, I gotta think that life just isn’t fair sometimes…

When I see a forecast like this, I gotta think that life just isn’t fair sometimes…

I came across a fantastic piece of Mac software thanks to a Merlin Mann tweet. The app is called 1Password and, to paraphrase Mr. Mann’s original tweet, it solves a problem I didn’t even realize I had. Well…that’s not entirely true. I knew that the various passwords I have scattered across the net weren’t as secure as they could be. I had heard of master-password apps but hadn’t really done much research on them. Now I’m not going to bother because 1Password so completely blew me away that I went ahead and bought the license (more on that in a bit).
As you might suspect, 1Password is a master-password application. You can easily generate hard-to-crack passwords (like, ‘81239jsdfj912jlksdf8981′), but only have to remember one master-password. This in and of itself isn’t particularly interesting (though the password-generation feature is really well done). What makes 1Password so compelling is how well it is integrated into your online activities. 1Password works with just about every kind of web browser you can imagine on a Mac.
On Firefox, 1Password can install a toolbar that puts all of 1Password’s features right there. When you navigate to a site for which you stored a password, you can automatically fill out a form with the click of a button. If you haven’t re-authorized with 1Password in a bit (often after waking up my laptop) you have to give your master password again (nice touch boys).

Also whenever you submit a page that 1Password thinks is auth-related, it will offer to remember these credentials for you. When you update your credentials on a site, the app will ask if you want to update your existing credentials. That is absolutely killer. Clearly these guys understand the achilles’ heel to most security systems–people are lazy and are the weakest link. Having such smooth, inline integration makes it difficult for even the lazy user to subvert their own security.
1Password doesn’t just live in your browser, it’s also a nice stand-alone application. You can easily modify and update your secure information as well as import and export it (a handy way for me to sync my work and home machines).
You’re not just limited to passwords either. The app also comes with a notion of identities where you can specify the contact information you might need at various web sites. For myself, I keep both “work” and “personal” profiles. Whenever I have to sign up for something I can simply click the profile I want to use and 1Password fills out as many of the relevant form fields as it can. It also has a “wallet” feature where you can stuff various other secure information like credit card numbers (including the verification number on the back), AWS keys and host of other things. Very very very cool.
Perhaps the most supremely cool feature of 1Password is the ability to sync encrypted javascript bookmarklets with your iPhone that gives you access to those same secret items on your iPhone! 1Password creates two special bookmarklets (synced via iTunes through your Safari bookmarks). One displays your passwords, the other will fill out web forms with with the selected credentials. Both require you to enter a password to unlock the bookmarklet, which you set when you export the bookmarklets from the application. Being able to get that secure information away from my computer makes sure that I don’t set simple passwords for iPhone access just because I can’t get to my secret stuff. Well done, boys, well done.
The features of this app alone are enough to have sold me. But a good part of the impression this tool has made is how nicely it’s been done: no sharp corners, wonderful usability, smooth integration. Even the experience of entering the license key is cool. Your license is an image file (no doubt with some extra steganographic goodies embedded) that you simply drag to a target area. No funny numbers to type. How freakin’ cool is that?

I’ve got a whole ‘nuther post cooking up about my master-list of indispensable nerd-tools, but I felt that this app was worth a standalone post. If you’re on a Mac, do yourself a favor and check this app out.
P.S. No, I wasn’t paid a dime to write this.
My to-do list is a mile-long and never ends. That thought can be quite depressing at times, but sometimes you finally get to tick something off of the list that has sat there so long that you can briefly enjoy a fleeting moment of smug self-satisfaction. I had just such a moment this week when my Great Big Music Backup to S3 finally completed.
Why S3? Well, something as important as backing up my music (which hasn’t come from a CD in about three years) means I need multiple copies. I certainly plan on getting a local backup happening soon, but having one out “in the cloud” provides a little extra comfort if things go totally haywire. Of course none of this would be possible if S3 weren’t so darn cheap. By my estimates my 50GB music collection will cost me about $6/mo to backup. That’s pretty cheap peace of mind if you ask me.
I did the backup using excellent S3Sync utility. Every S3 tool has its own way of mapping a filesystem to S3’s bucket system. I thought about using JungleDisk in headless mode, but that turned out to be more complicated than I was willing to deal with. The nice thing about S3sync is that it maps files to your buckets in a way that is compatible with the S3Fox extension for Firefox. Most excellent.
Running over SSL with my crippled Comcast connection it took about a full week to push all of that data out to S3. Thank goodness for Gnu’s screen utility which hosted the entire sync process. That’s right kids, I did this all with a single invocation of s3sync.rb that ran for a solid week. Boo yah. Total upload cost was $3.58. Not too freakin’ bad.
A couple of days ago I was fly-on-the-wall for what can only be described as a great example of Geek Manners. One definition of a “geek” is one whose intense interest in a specific topic is offset by a lack of standard social skills. That doesn’t mean that all geeks are completely oblivious to social customs, just that they invent their own at times. Below is a transcript (from memory) of the conversation I heard.
Developer A: You broke the build last night because the blah blah blah source wasn’t in UTF-8.
Developer B: No, I always save source in UTF-8.
Developer A: Well I don’t know what to tell you…you broke the build.
Dev B frowns and there is a notable increase in tension…
Dev B: Hmmm, I don’t think so, but I’ll check my settings–
Dev A: Yeah you need to go to your Preferences and–
Dev B: Yeah, I know where that is! I’ve probably done more with character encoding than just about anyone around here!
Dev A: I’d have to disagree there.
Dev B: Oh yeah? Well have you supported <impossibly large number> character set conversions over <exaggerated number> of document formats?
Dev A: Ha. I’ve done <grossly increased> <made up conversion technologies> over <another suspect number> of <obscure widget names>.
Let the games begin! It’s clear at this point that I’m observing what can only be described as the developer-equivalent of two rams head-butting on a mountain top for geek supremacy. There is a long pause as the tension hangs…
Dev B: OK…yeah, I see the encoding is set to Mac Roman. Let me fix that and re-commit.
Now Dev B finds an opening and subtly deflects aggression from himself to Apple…
Dev B: That’s so typical of Macs, they have to have their own encoding for everything.
Dev A picks up on the clue and ritual of commiseration through technical criticism begins…
Dev A: I hear you. Doesn’t it just drive you crazy when <deeply technical complaint about things you can’t really change>?
Dev B: Yeah. It reminds me of the time when…
At this point our two devs have moved into the closing stage of their conversation, deftly moving from challenge and response to an uneasy acknowledgement of pack order. Both showed their horns and both stood their ground, then they made up by talking for another twenty-five minutes about their various horror stories around character encoding.
To be sure, there was still the regular one-upsmanship in the story-telling phase, but the atmosphere had tangibly improved. What was fascinating about this final exchange was the need for the long ramp-down of story-swapping as way of expressing, “I’m sorry I was short with you. I think you’re a smart guy and I hope you think I’m one too”.
Quite frankly, I amazed that any of us ever get married at all.
I’ve got a million projects. My GTD list is a mile long with home and personal geek projects. But some weekends you need to just put all that aside and give yourself a play-day. I spent my Sunday bundled up watching the Seahawks wrap up their fourth consecutive NFC West title. Not a bad way to spend a day.
Hi folks, and welcome to the new location of my blog. I’ve retired the old feedbag blog and started this one since the topics I want to write about have grown beyond the scope of working on feedbag. Working on feedbag was a great experience, but I have since started new side-projects and a fantastic new job, thereby putting feedbag on the back-burner.
I was finally motivated to setup a new blog because I’m heading off to RailsConf 2007 and I wanted to have a clean slate to post about my experience there. This event seemed like a good time to make a break with the past and start over.
So stay tuned. I’ll be heading off to RailsConf this week and I’ll begin posting starting from day one.