Audrey is 3

Happy third birthday Audrey! We had a great day today. First, we got up late – well, I did anyway, and Elliot and Audrey played together nicely while I caught a few extra Zs – and opened presents. The red headed Cabbage Patch doll is the favorite as of this evening, but the Lego were a close second.

Then we went to A Taste of Colorado where we ate good food and rode fun rides. Audrey was quite adventurous with rides today. She particularly likes the ones she can go on by her herself. Now that she is three I guess parents just weigh her down.

Of course, this evening we had cake and sang Happy Birthday to Audrey. Audrey really likes to be sung to. I have rarely see such a big grin as the one we got during our rendition of Happy Birthday. She was very proud of being able to blow out the candles, as you can see below. At bed time, she even claimed that the candles where her favorite thing today.

Audrey and her 3rd birthday cake

Rocky Mountain Blogger Bash 5000

The Rocky Mountain Blogger Bash is tonight and I will be there. Cat and I are even on the official RSVP list (which means we get free drinks). This is my only concession to the convention but any gathering of “beer-swigin’” bloggers has to be fun. If you are going too let me know and I will keep an eye out for you.

New Music for the New Job

I started my new gig, at brightkite, today. I am super stoked to be working with the excellent crew there.

I realized that I need some new music, though. I have quite a lot of music that I associate strongly with particular events, workplaces, teams and even books1. My tastes range from pop with a decent beat, to dub, to pretty much anything involving a piano. For example, recently have been listening to Silversun Pickups (thanks to Donnie), Ben Folds, Burial, and Pitch Black. But most of my music library is already saturated with emotion. I need some new music.

So I am ask you, my readers, for some suggestions of some new music I can associate with my new gig. Point me at some your favorite music.


  1. You really could not find a better sound track to The Illuminatus! Trilogy than Garbage 2.0. That album was the one on my Nomad (see figure 5 in the linked page) when I started reading it and two went together so well I stuck with it for the entire book.

Letting Her Die

At the pool the other day Audrey slipped off a ledge she was standing on and fell into the deep water. Her head went under water for maybe ten seconds before I was able to get to her. No sooner does she catch her breath than she says “You were going to let me dead1”, in her most accusing and disappointed voice.

If she can come up with that at this age I am a bit afraid of what she will be saying in a couple of years.


  1. She obviously does not always conjugate “die” correctly yet. That is not really surprising because the very concept is only a week or two old for her.

Homemade Yogurt

Over the week-end I made some yogurt and boy am I glad I did. It was easily the best yogurt I have ever had. It was particularly good with peaches. That was tonight’s dessert, doesn’t it look yummy?

Peaches with homemade yogurt

In case you are wondering, I used a combination of these recipes. I did not follow either exactly. I get the feeling that is rather difficult to actually mess up yogurt.

Will code for …

I am no longer with Gnip. Which means that am available for other opportunities.

I know a fair bit about REST, HTTP, web services, extensible system design and scalable architecture. I like agile (small a) processes, Behavior (or test) driven development and dynamic languages. I am also pretty good at designing data interchange formats in JSON and XML. I dislike poorly factored, inelegant code. I do have a tendency to over-engineer things, but I am working on that.

If the above sounds interesting we should talk. My resume is here.

I’m one of the cool kids

It was pretty surreal to watch this unfold in my inbox. I happened to be one of the lucky 400 people to get spammed by Pradipta. The internet is a strange and wondrous place.

The Few, The Proud, The Pradipta 416

Reverberate seems to be having load issues so the story is: Yesterday a recruiter sent an email regarding some Ruby on Rails work to 400 people. But rather than using BCC he just sent the message to everyone. Shortly thereafter someone replied to all which, of course, went to all of us. The weird part is that it rapidly evolved into an interesting discussion amongst that group of random people brought together only by the ineptitude of a spammer. So much so that we have create google group and a logo. :)

Envy Code R

I love the new Envy Code R font. It’s very clear and easy to read. I had looked at this font in the past and quite liked it. However, I need a somewhat larger font than its native size and previous releases of it did not scale very well. Fortunately, the new version (pr7) seems to scales very nicely.

Here is screen shot of “pretty” Emacs (on Ubuntu) using this beautiful font

Pretty Emacs using Envy Code R font

Gnip Launches

Yesterday Gnip launched! We have a killer service offering. And apparently lots of other people agree. I am totally stoked to be part of the Gnip team.

The Gnip blog does a good job describing why we exist and what we do.

If you are looking for the quick elevator pitch it goes something like this: If are a consumer of public data APIs and would like to stop polling hundreds or thousands of URLs, we provide a way to notify you when any event meeting your interest criteria has happened. If you are a producer of data and would like to allow the world access to your data but the load of thousands of consumers polling your API is hard to manage, we help you by providing data consumers event notification. (Meaning they will only need to hit your API when something they actually care about has happened.)

If either one of those sounds interesting you should definitely check us out.

Announcing Resourceful

Resourceful has its initial (0.2) release today.

Resourceful is a sophisticated HTTP client library for Ruby. It will (when it is complete, at least) provide an simple API for fully utilizing the amazing goodness that is HTTP.

It is already tasty, though. The 0.2 release provides

  • fully compliant HTTP caching
  • a framework for implementing cache managers (memory based cache manager provided)
  • fully compliant transparent redirection handling (with hooks for overriding the default behavior)
  • plugable HTTP authentication handling (Basic provided)

Introduction

The API is strongly influenced by our successful experiences with REST. Each URI is represented by a Resource object. The Resource objects act as a proxy for the conceptual resource. Resources expose the basic set of HTTP verbs: get, put, post, delete. For example to get a representation of some resource you do this

require 'resourceful'
http = Resourceful::HttpAccessor.new
resp = http.resource('http://rubyforge.org').get
puts resp.body

If you want to post a form you do this

require 'resourceful'
http = Resourceful::HttpAccessor.new
resp = http.resource('http://rubyforge.org').post("name=Peter&hobbies=programming,diy", :content_type => "application/x-www-form-urlencoded")
puts resp.code

All non-2xx responses are either handled transparently (e.g. by following redirects) or the method will raise a UnsuccessfulHttpRequestError.

Conclusion

If you need a decent HTTP library in Ruby come on over and check it out. If you see something you want, or want fixed, feel free to branch the git repo and do it. Paul and I would love some more contributors and will welcome you with open arms.