Dev Stuff

I had this idea for (yet another) package tracking web service, and in the process of making it I got really into tracking numbers.

So I wrote this gem, which made it possible to detect and identify tracking numbers, and to tell if it’s even valid.

1
2
3
4
5
6
7
  t = TrackingNumber.new("MYSTERY_TRACKING_NUMBER")
  t.valid? #=> false
  t.carrier #=> :unknown

  t = TrackingNumber.new("1Z879E930346834440")
  t.valid? #=> true
  t.carrier #=> :ups

Also, can take a block of text and find all the valid tracking numbers within it.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit,
  sed do eiusmod tempor incididunt ut labore et dolore
  magna aliqua. Ut enim ad minim veniam, 1Z879E930346834440
  nostrud exercitation ullamco laboris nisi ut aliquip ex
  ea commodo consequat. Duis aute 9611020987654312345672 dolor
  in reprehenderit in voluptate velit esse cillum dolore eu
  fugiat nulla pariatur. Excepteur sint occaecat cupidatat
  non proident, sunt in culpa qui officia deserunt mollit
  anim id est laborum."

  TrackingNumber.search(text)

  #=> [TrackingNumber, TrackingNumber]

There’s a lot more information baked into a tracking number than you’d think.

Ruby Gem active
Tracking Number
Dev Stuff

I came up with this during SXSW Interactive 2009. Seemed like the current internet rage was to add an ability to update your status—be it Facebook, Twitter, LinkedIn, or even Spiceworks—so I thought it’d be funny to make a site where you could update your Beard Status.

It was actually really fun to design and build, because it was so simple. And at the time, a simple app like this was especially attractive to me because I was being consumed by an extremely complicated application at work.

Beard Status got relatively popular for a while—there was a couple of day period where I was a pretty big deal on Twitter—but the hyped died down soon after that. I had plans to add more features to it, but so far I haven’t found the motivation to do so. It’s still there, though.

What’s your Beard Status?

Here’s mine

Go ahead, update yours

Site stale
Beard Status
Dev Stuff

I was recently looking for an alarm clock, and had some simple qualifications for suitable models.

  1. Should not take up the entire nightstand; small is good.
  2. Alarm clock should be visible in the dark, without lighting up the entire room.
  3. Must have radio function.

Seems simple, but finding an alarm clock that meets these three requirements are surprisingly difficult.

I think that manufacturers of electrical devices feel that producing an alarm clock is such an easy task, they might as well; they’ve got the parts, they’ve got the people, why not throw something out there? I also imagine they give the least experienced engineer to design this thing, as it’s a relatively straightforward task, and consequences of failure are minimal. I really doubt that they put much thought into the process, because if someone really thought about designing a great alarm clock, wouldn’t we have seen one with a keypad long ago?

Read the rest of this
Dev Stuff

Whenever I listen to 89.3 the Current, I hear a lot of great music I haven’t heard before, and want to hear again. Before this widget existed, I’d have to figure out what song was playing, and then manually add it to my list of songs to buy sometime.

Later, I’d go through the list and decide what to buy.

This widget makes this whole routine much, much easier. Hear a song you like? Click on the star icon, and it’ll get added to the back of the widget. When you’re ready to buy, click the arrow next to the song to buy it on iTunes, or Amazon (your choice)

Expand your playlist with a little less effort.

Project Release obsolete
The Current Widget
Dev Stuff

One Click Conversations allowed painless access to your recent Gmail conversations, in just one click. The demo below should explain things succinctly.

For a while this was pretty popular, and got included in Better Gmail. But then it ran into problems when Gmail changed several times, and is currently in a state of disrepair.

But the silent video below should give you a pretty good idea of what it does. Not the greatest demo video, but hey, in 2007 we didn’t have all these nice tools. Times were tough, man.

Project Release obsolete
One Click Conversations
Dev Stuff

I’m not usually one to lament about how technology has changed our lives, and what life was like before [something] changed everything. “We used to have to get up and change the channel on the TV, and we liked it!”. I don’t miss that.

But what I do miss, in some ways, is how I used to enjoy my music. I used to like browsing used music stores, and if I happened to stumble upon something I’d been looking for, I’d buy it, take it home, put it in the CD player, and enjoy it while admiring the cover of the album and reading the liner notes.

When just casually wanting to put on some music I used to open up my CD cabinet and scan my collection until something caught my eye. If I filled my 5 disc CD player I’d get around 5 or 6 hours of music without any repeated songs.

Read the rest of this
Dev Stuff

The iPhone launches this Friday, and I can’t wait. For months, the hype has been hard to avoid. Hype has never had the intended effect on me; rather than piquing my interest and compelling me to round up my camping gear for product launch day, it raises my skepticism. However, the closer we get to launch day, the more convinced I’m becoming that this phone really will live up to all the hype.

The short demos Steve gave at WWDC and at MacWorld were impressive, but what really won me over was the guided tour of the phone I watched yesterday. Since when has a cell phone been really intuitive to use?

Read the rest of this