Evan (now at ENTP) and Kellan Elliot-McCrea of Flickr gave what appears to have been (judging by the slides below) an awesome presentation at OSCON today on going beyond rest with XMPP PubSub. This is a topic quite dear to my heart because one of the services we’ve been toying with (unfortunately left in the backburner for a bit while we work on other stuff) is knee deep in this stuff. If this is your cup of tea, check out these slides:
Sproutcore (podcast)
If you haven’t heard of sproutcore in the last few weeks, you’ve been reading the wrong kind of blog. Sproutcure is a Javascript-based framework that allows developers to build applications easily. The twist is it is also the framework used by Apple on their MobileMe offering, which is bound to get some people to download and give it a try to try and rub in some of that Cupertino goodness (I totally did it).
Anyway, Dion delivers again by scoring an interview with the Sproutcore developer that goes into a bit of detail about the why’s and how’s of the framework itself. You should go have a listen if javascript, thick clients or building (oh beautiful) web-based applications is your kind of game.
Firefox 3 for developers
The latest major version of Firefox has just been launched and to celebrate (and try and get into the Guinness Book of World Records), yesterday was download day.
I don’t know about other platforms, but I can tell you my story of love and hate with Firefox on the Mac: Firefox 2 has always been on my computer, even though I was using Safari for its speed, stability and OS integration. Now I’m going back: Firefox 3 is a lot faster and stable, not to mention I can go back to using proper keyboard shortcuts (something Safari lacks, particularly for tab controls).
Being a web developer, the browser is a key tool in the work I do every day. Along with Firefox 3, there are a bunch of useful extensions you can install to work on the web. The next few paragraphs highlight some of those.
Tools of the trade
- Firebug is a swiss-army knife that allows you to: inspect specific nodes on a page, change the code and css of the page on the fly, test Javascript code in a console and see network debug information for each request. Get Firebug from the project’s page. (I’m using the 1.2 beta and loving it).
- Yahoo!’s YSlow relies on Firebug and highlights potential problems with your page, app or service, as well as tips on how to solve them. If you’ve read “Building scalable websites”, this is the tool that goes with the book. Learn more about the project and download it here.
- Live HTTP Headers let’s you see the headers exchanged between your browser and the web server for each request on a given session (i.e.: html, images, CSS files, etc…). Get it here
- Tamper data is what you need if you want to mess around forms after being submitted but just before being POSTed to the server. Give it a spin if you’re into tampering your requests.
- Web Developer used to be the de facto extension when developing for the web. It has been replaced with Firebug’s features but if all that you want is outline certain elements or resize the window, this may still be the right tool for you. You can download it here.
Learnings from Twitter + Stamen
If you’re in the mood for a little bit of inspiration, here’s a pretty good presentation from Alex Payne (of Twitter) and Mike Migurski (of Stamen) on designing APIs (and designing on top of APIs). It’s probably material you’ve read or seen elsewhere - there’s no groundbreaking theory of everything in these slides -, but it does pack quite a few things to make note of.
Enjoy your weekend!
Large Hadron Collider
They flip the switch (to turn the LHC on, that is) in about a month - which is scary in a Half-Life Unforseen Consequences kind of way. If you don’t know what the LHC is, check out this page for information on the project. And cross your fingers.

Objective-J, Capuccino and you
There’s some crazy weird people out there. People who have code chops so hardcore that they implement languages and on top of other languages. People like the 280North guys who ported Objective-C and Cocoa into Javascript in the shape of Objective-J and Capuccino. I noticed something was odd when I was trying to figure out why 280Slides wouldn’t load on Firefox, and opened Firebug only to see a bunch of .J files being loaded and a piece of superglue called Objective-J.js. I knew something was up, but didn’t have much time to investigate.
- (CPData)dataOfType:(CPString)aType error:({CPError})anError
{
var dictionary = [CPDictionary dictionary],
data = [CPData dataWithString:@""],
archiver = [[CPKeyedArchiver alloc] initForWritingWithMutableData:data];
Luckily my friend Dion over at Ajaxian did, and scored an interview with the 280North guys about Objective-J, Cocoa and Capuccino. It’s a pretty interesting listen (it’s a podcast), so make time for it if you enjoy this kind of brain-munching runtime-porting stuff. Now you do have to excuse me while I wrap my head around all these brackets in my browser window.
Engine Yard Express
We’re big Engine Yard fans. We also happen to be their clients (both Goplan and Totspot run on their platform), which makes a lot of sense, because they’re a fantastic Ruby on Rails host. So we were pretty happy about their release of Engine Yard Express, a VMware image that simulates their slice environment, so that we can test out our setups locally before moving them into their infrastructure.
It’s pretty helpful stuff if you happen to be offline often when working on things you want to test out in an environment that resembles your final production infrastructure. I’m telling you, these EY guys know their stuff.
Yay! And there was light.
Welcome to Webreakstuff Labs, our development and experimental blog. Unlike our serious blog, this is not about any particular topic. The Labs blog is about whatever is inspiring us, things we’re building (for fun or profit) and the occasional random chit-chat. It’s more of a raw feed of inspiration and geeky commentary about the things we care about like Ruby, Rails, Processing, Data, Visualization, and Experimental design. Do subscribe, you’ll have fun.
