Forge Code


I’m writing this post from my iPhone here in Amsterdam. I’ve been travelling with Catherine through Europe for the past week and a half, which is something we’ve dreamed about doing for years now. We’ve just been to England, are now in the Netherlands, and we’ll be travelling through Germany, the Czech Republic, Austria and Italy before heading home to Melbourne. Also on the cards is the Lowlands music festival here in the Netherlands, which should be an awesome way to experience a different side of Dutch culture.


If you’re reading this, you may have noticed that there’s been something of a lull in posts on Forge Code over the past month or so. WWDC 2009 landed squarely in the middle of my final exam period.

At WWDC 2009

Two days gone, three to go. WWDC 2009 has been great so far. I’ve met some really interesting people, and have finally adjusted my body clock to SF time!

After getting down to Moscone West at around 5am on Monday morning, I managed to score a seat pretty close to the front for the Keynote:

Palm’s WebOS ‘Media Sync’ iTunes Integration Revisited

I arrived in San Francisco this afternoon on my trip to WWDC 2009. The weather is great, I’m very jet-lagged after the flight(s) from Melbourne to SF, and I’ve finally had a chance to respond to the ongoing debate on Palm’s WebOS ‘Media Sync’ iTunes integration.

In response to my last post, Gruber wrote:

I disagree with Forge that an analogy to Microsoft and SMB is apt. Being the clear market leader doesn’t necessarily mean that Apple holds a monopoly, a term which has been thrown around far too loosely in the aftermath of Microsoft’s court cases in the U.S. and E.U. Many markets have a clear leader, but very few market leaders hold a monopoly.

Why Palm’s WebOS ‘Media Sync’ iTunes Integration CAN Be Legit

Gruber writes:

In terms of legal risk, this move almost makes me think that Palm is trying to provoke Apple into filing a lawsuit. The danger for Palm in such a suit is with all of the former Apple engineers now working for Palm. (There are many.) Did they use inside knowledge of the iPod/iTunes USB interface to implement the WebOS “media sync” feature? Palm’s not stupid — or at least Jon Rubinstein is not — so I would wager that Palm was careful to “clean-room” reverse-engineer the protocol. But if Apple sues, Palm would be forced to prove this in court, and in the meantime, they could be faced with the public perception that they’ve stolen Apple’s IP.

It’s one thing for Apple not to facilitate syncing with 3rd-party (non-Apple) players, but another altogether to actively go out of their way to stop it happening. Can you imagine the fallout if Microsoft were to add code into the SMB protocol that blocked access to non-Microsoft systems?

Creating the Interface for Bjango’s Beats

Beats is a cool iPhone app from fellow Aussie developers Bjango for DJs and musicians.

Marc Edwards has just posted an animation of their work on the UI, which gives a fascinating insight into designing a top quality iPhone app. The time lapse animation style communicates the design process better than any video or article I’ve seen.

Possible Fix for VPN Client Issues in OS X 10.5

Most readers will probably find this post uninteresting - if you don’t know what a VPN is and aren’t interested in networking, tune out now!

OS X 10.5 comes with GUI configured clients for both PPTP and L2TP/IPSec VPNs. It also comes with a VPN server, in the form of the command line ‘vpnd’ program. Getting vpnd configured and running involves setting up a plist with the right settings and a few other small things. It’s possible to DIY, but if you want to save yourself the pain (and there can be a lot of pain involved), grab a copy of iVPN.

I have had countless issues getting the OS X 10.5 VPN clients to talk to the OS X 10.5 VPN server (vpnd), but after reading a tip on this Apple Support Discussions thread, I think I may have solved all of my remaining issues in one go (fingers crossed).

All I had to do was put the VPN client at the top of the “Service Order” list…

Forks in the Path of GUI Evolution

Lukas Mathis at ignore the code on Oberon:

Steven Frank’s essay on the current state of the desktop UI reminded me of Oberon, a delightfully insane system I used back when I was studying computer science at ETH Zürich. The first thing you have to understand about Oberon is that it evolved entirely outside of the normal genealogy of user interfaces.

Accessing Gravatar With a Shell One-Liner

I’ve been playing around with different ways to use Gravatars recently. The basic concept of Gravatar is very simple - you upload an avatar to an account that is identified by your email address. The avatar can then be downloaded by anyone, anywhere, anytime as long as they have your email address. This allows any type of software that knows people’s email addresses to add a human touch the visual presentation of anything related to that person.