Redux: Raspberry Pi as Cheap AirTunes Server

A couple of years ago I set up a Raspberry Pi as a cheap AirTunes server using Shairport. In the intervening time, I’ve also noticed a couple of defects with Shairport: high network utilization causes playback to be interrupted, it crashes occasionally, and the volume control synchronization is somewhat laggy.

Unfortunately, the Shairport project has been abandoned in the interim, so I started looking for a fork that I could use instead. Enter Shairport Sync, which is actively maintained and fixes a lot of these problems. I decided to spend a couple hours packaging it properly for Raspbian and publish packages.

If you’re running Raspbian and want to use Shairport Sync, just add the following source to your /etc/apt/sources.list:

deb wheezy main

and type sudo apt-get install shairport-sync. It should start up automatically and then you’ll be able to play to a source named “Shairport Sync on [hostname of Pi]” from your iTunes. Happy listening!

I’m joining Opscode!

opscode logoTomorrow I’ll be joining Opscode as a senior consultant for Chef. My job responsibilities will be diverse, encompassing training, evangelism, and also working on projects for customers large and small.

I’m extremely excited to be working for a company whose product has been revolutionizing the job responsibilities of the traditional system administrator, and even those of the software engineer. It’s easier to break down the walls between operations and development when all your infrastructure is code, and Chef makes that a no-brainer. Frankly, it’s also more fun for everyone — yes, it’s possible for web operations to be fun again, just like it was back in 1996 when I got into this sort of thing.

I’m looking forward to working with all of the really smart people at Opscode, and, if you’re part of the Chef community, with you as well. See you around, maybe at a conference, training session, or just in IRC!

What Your CDN Won’t Tell You: Optimizing a News Website for Speed and Stability

I was recently in San Diego giving a talk at LISA ’12 entitled “What Your CDN Won’t Tell You: Optimizing a News Website for Speed and Stability“. The paper was based on work my colleague Blake Crosby and I did at the Canadian Broadcasting Corporation to rearchitect their website & integrate it successfully with Akamai‘s EdgeSuite content delivery network, enabling it to serve over a million unique visitors daily with high availability.

I’m pleased to announce that the slides from the presentation are now available, and the video (eek!) will be shortly.

Hope everyone’s having a great holiday and I promise there will be more blog posts in the New Year.

Implementing Jetty Session Persistence in MongoDB

At SecondMarket, we’re moving towards a development model where not only are the deployments continuous but where deploys incur no downtime. Users should not notice if we take a portion of our servers out for maintenance, even if they’re logged into the site and have an active session. We decided to tackle this problem by persisting Java sessions to external storage. This allows another Jetty to take over serving of existing sessions if we decide to take down a Jetty for maintenance. Continue reading

HTML5: What kind of standard is this, anyway?

I haven’t written much HTML since 1996. Back in those wild west days before CSS existed, we used <font> tags and <table>-based layouts to control how websites were presented to end-users. Although these ugly hacks limited the sophistication of web sites and later proved to be a barrier to the development of rich Internet applications, they were at least part of a standard: HTML 2.0.

Today, however, I think the state of markup on the Internet is far worse, despite the existence of this beast we call HTML5. To my utter shock, I discovered that HTML5 isn’t even what one could call a standard. On the contrary, HTML5 represents standards committees (and there are two — I’ll get into this later) throwing in the towel because of internecine fighting, to the enormous detriment of web, application and browser developers everywhere. The most poignant illustration of the problem is that there is no DTD for HTML5: you merely write <!DOCTYPE html> and you’re on your way. Nothing says “anything goes” better than “don’t even bother mechanically validating this because who the hell knows what’s valid?” Continue reading

World IPv6 Launch Day: Where are the cloud providers?

WORLD IPV6 LAUNCH is 6 June 2012 – The Future is ForeverIPv6, the next version of the Internet’s addressing scheme, is back — and this time it’s here to stay.

Following up on last year’s World IPv6 Day, the Internet Society has organized World IPv6 Launch Day for June 6th. On this day, many major ISPs and corporations will permanently launch their IPv6 presence, in recognition of the fact that the world has now exhausted the IPv4 address space and must urgently migrate to IPv6. Participating companies include Google, FaceBook, Yahoo! and CDNs like Akamai and LimeLight Networks. My question is: where on the list are the cloud infrastructure providers? Continue reading

What’s it like to interview at Google?

I recently had the opportunity to interview at Google for a position in their New York office as a Technical Program Manager (TPM). I found out today that I didn’t make the cut. But in the process of interviewing, I found out a lot more about the company, how it does its work, and ultimately concluded that the role was probably not a good fit for me anyway. Here’s some information about what my experience was like, and also what I found out about the company while I was there. Continue reading

Best iPhone apps for New York City Transit

Being both a transit nerd and an iPhone user, I’ve tried out a bunch of iPhone apps to help me make the best of my New York City transit experience. There are 51 iPhone apps listed on the MTA’s website, but there’s little indication which ones are good and which are bad.

Keep in mind that I’m strictly a subway user, so I haven’t had occasion to test any of the bus-related apps.

Continue reading

No post tomorrow: SOPA strike

In support of the Stop American Censorship movement against SOPA & PIPA, this site will go dark tomorrow. If you need a quick introduction to why these pieces of legislation are harmful to the future of the Internet, this video is a great:

I’ll be at the NY Tech Meetup rally in front of Senators Schumer and Gillibrand’s offices at 12:30 p.m. If you’re in New York and concerned about the future of the Internet, I’d encourage you to join me there.