Stop mutating, evolve


It’s been quite a while since I’ve updated the Rob Report, but I have some things to chat about on the technical front. Most of my work these days is on the Mac, and my main hobby project is PandoraBoy, which will probably dominate these blog posts for a while. It’s been a great project for teaching me how to deal with some interesting parts of Cocoa, while being small enough to keep my brain around.

My current project for PandoraBoy is getting control of station changing. I now have a set of proxy NSURLProtocols that I can use to eavesdrop on the Pandora traffic (rather than having to post requests like listStations twice). That’s how I grab album art. I’m using it to learn much more about how Pandora talks to its server, allowing me to provide more Mac-friendly ways to send those messages. I’ve demonstrated now that I can send launchStationFromId messages from Cocoa, so now I just need to collect the results of listStations so I have the IDs to send. Shouldn’t be hard now.

In the process, I discovered FireBug, which is just incredible. Using it, I understand Pandora’s code much better and am now mulling about what I could do with all this information. But my next project will probably be talking to Airport Express (after I fix a couple of new bugs in the 0.4 line). I’m pretty close to calling this thing 1.0….