The Long Road to RapidWeaver 4
Two years ago, I had a wonderful job working on a truly excellent piece of software named cineSync. It had the somewhat simple but cheery job of playing back movies in sync across different computers, letting people write notes about particular movie frames and scribbling drawings on them. (As you can imagine, many of the drawings that we produced when testing cineSync weren’t really fit for public consumption.) While it sounds like a simple idea, oh boy did it make some people’s lives a lot easier and a lot less stressful. People used to do crazy things like fly from city to city just to be the same room with another guy for 30 minutes to talk about a video that they were producing; sometimes they’d be flying two or three times per week just to do this. Now, they just fire up cineSync instead and get stuff done in 30 minutes, instead of 30 minutes and an extra eight hours of travelling. cineSync made the time, cost and stress savings probably an order of magnitude or two better. As a result, I have immense pride and joy in saying that it’s being used on virtually every single Hollywood movie out there today (yep, even Iron Man). So, hell of a cool project to work on? Tick ✓.
Plus, it was practically a dream coding job when it came to programming languages and technologies. My day job consisted of programming with Mac OS X’s Cocoa, the most elegant framework I’ve ever had the pleasure of using, and working with one of the best C++ cross-platform code bases I’ve seen. I also did extensive hacking in Erlang for the server code, so I got paid to play with one of my favourite functional programming languages, which some people spend their entire life wishing for. And I got schooled in just so much stuff: wielding C++ right, designing network protocols, learning about software process, business practices… so, geek nirvana? Tick ✓.
The ticks go on: great workplace ✓; fantastic people to work with ✓; being privy to the latest movie gossip because we were co-located with one of Australia’s premiere visual effects company ✓; sane working hours ✓; being located in Surry Hills and sampling Crown St for lunch nearly every day ✓; having the luxury of working at home and at cafés far too often ✓. So, since it was all going so well, I had decided that it was obviously time to make a life a lot harder, so I resigned, set up my own little software consulting company, and start working on Mac shareware full-time.
Outside of the day job on cineSync, I was doing some coding on a cute little program to build websites named RapidWeaver. RapidWeaver’s kinda like Dreamweaver, but a lot more simple (and hopefully just as powerful), and it’s not stupidly priced. Or, it’s kinda like iWeb, but a lot more powerful, with hopefully most of the simplicity. I first encountered RapidWeaver as a normal customer and paid my $40 for it since I thought it was a great little program, but after writing a little plugin for it, I took on some coding tasks.
And you know what? The code base sucked. The
process sucked. Every task I had to do was a chore.
When I started, there wasn’t even a revision control
system in place: developers would commit their
changes by emailing entire source code files or zip
archives to each other. There was no formal bug
tracker. Not a day went by when I shook my fist, lo,
with great anger, and thunder and lightning appeared.
RapidWeaver’s code base had evolved since version 1.0
from nearly a decade before, written by multiple
contractors with nobody being an overall custodian of
the code, and it showed. I saw methods that were over
thousand lines long, multithreaded bugs that would
make Baby
Jesus cry, method names that were prefixed with
with Java-style global package namespacing (yes, we
have method names called
com_rwrp_currentlySelectedPage), block
nesting that got so bad that I once counted
thirteen tabs before the actual line of code
started, dozens of lines of commented-out code,
classes that had more than a hundred and
twenty instance variables, etc, etc. Definitely
no tick ✗.
But the code—just like PHP—didn’t matter, because the product just plain rocked. (Hey, I did pay $40 for it, which surprised me quite a lot because I moved to the Mac from the Linux world, and sneered off most things at the time that cost more than $0.) Despite being a tangled maze of twisty paths, the code worked. I was determined to make the product rock more. After meeting the RapidWeaver folks at WWDC 2007, I decided to take the plunge and see how it’d go full-time. So, we worked, and we worked hard. RapidWeaver 3.5 was released two years ago, in June 2006, followed by 3.5.1. 3.6 followed in May 2007, followed by a slew of upgrades: 3.6.1, 3.6.2, 3.6.3… all the way up to 3.6.7. Slowly but surely, the product improved. On the 3rd of August 2007, we created the branch for RapidWeaver 3.7, which we didn’t realise yet was going to be such a major release that it eventually became 4.0.
And over time, it slowly dawned on me just how many users we had. A product that I initially thought had a few thousand users was much closer to about 100,000 users. I realised I was working on something that was going to affect a lot of people, so when we decided to call it version 4.0, I was a little nervous. I stared at the code base and it stared back at me; was it really possible ship a major new revision of a product and add features to it, and maintain my sanity?
I decided in my naïvety to refactor a huge bunch of things. I held conference calls with other developers to talk about what needed to change in our plugin API, and how I was going to redo half of the internals so it wouldn’t suck anymore. Heads nodded; I was happy. After about two weeks of being pleased with myself and ripping up many of our central classes, reality set in as I realised that I was very far behind on implementing all the new features, because those two weeks were spent on nothing else but refactoring. After doing time estimation on all the tasks we had planned out for 4.0 and realising that we were about within one day of the target date, I realised we were completely screwed, because nobody sane does time estimation for software without multiplying the total estimate by about 1.5-2x longer. 4.0 was going to take twice as long as we thought it would, and since the feature list was not fixed, it was going to take even longer than that.
So, the refactoring work was dropped, and we concentrated on adding the new required features, and porting the bugfixes from the 3.6 versions to 4.0. So, now we ended up with half-refactored code, which is arguably just as bad as no refactored code. All the best-laid plans that I had to clean up the code base went south, as we soldiered on towards feature completion for 4.0, because we simply didn’t have the time. I ended up working literally up until the last hour to get 4.0 to code completion state, and made some executive decisions to pull some features that were just too unstable in their current state. Quick Look support was pulled an hour and a half before the release as we kept finding and fixing bugs with it that crashed RapidWeaver while saving a document, which was a sure-fire way to lose customers. Ultimately, pulling Quick Look was the correct decision. (Don’t worry guys, it’ll be back in 4.0.1, without any of that crashing-on-save shenanigans.)

So, last Thursday, it became reality: RapidWeaver 4.0 shipped out the door. While I was fighting against the code, Dan, Aron, Nik and Ben were revamping the website, which now absolutely bloody gorgeous, all the while handling the litany of support requests and being their usual easygoing sociable selves on the Realmac forums. I was rather nervous about the release: did we, and our brave beta testers, catch all the show-stopper bugs? The good news is that it seems to be mostly OK so far, although no software is ever perfect, so there’s no doubt we’ll be releasing 4.0.1 soon (if only to re-add Quick Look support).
A day after the release, it slowly dawned on me that the code for 4.0 was basically my baby. Sure, I’d worked on RapidWeaver 3.5 and 3.6 and was the lead coder for that, but the 3.5 and 3.6 goals were much more modest than 4.0. We certainly had other developers work on 4.0 (kudos to Kevin and Josh), but if I had a bad coding day, the code basically didn’t move. So all the blood, sweat and tears that went into making 4.0 was more-or-less my pride and my responsibility. (Code-wise, at least.)
If there’s a point to this story, I guess that’d be it: take pride and responsibility in what you do, and love your work. The 4.0 code base still sucks, sitting there sniggering at me in its half-refactored state, but we’ve finally suffered the consequences of its legacy design for long enough that we have no choice but to give it a makeover with a vengeance for the next major release. Sooner or later, everyone pays the bad code debt.
So, it’s going to be a lot more hard work to 4.1, as 4.1 becomes the release that we all really wanted 4.0 to be. But I wouldn’t trade this job for pretty much anything else in this world right now, because it’s a great product loved by a lot of customers, and making RapidWeaver better isn’t just a job anymore, it’s a need. We love this program, and we wanna make it so good that you’ll just have to buy the thing if you own a Mac. One day, I’m sure I’ll move on from RapidWeaver to other hopefully great things, but right now, I can’t imagine doing anything else. We’ve come a long way from RapidWeaver 3.5 in the past two years, and I look forward to the long road ahead for RapidWeaver 5. Tick ✓.
FOMS 2008
The Foundations of Open Media Software (FOMS) workshop took place last month, from the 24th to 25th of January. FOMS is a rare opportunity for open-source multimedia developers and industry folks to get together all in one place, and the result is two days of intense discussion about issues such as encapsulation formats, codecs, video and audio output APIs, media commons, and metadata—not to mention sharing a common hatred of Flash. The first FOMS was held last year in 2007, and was a great melting pot for people from very different open-source multimedia projects, such as xine, xiph.org, GStreamer and Nokia, to get together. This year’s FOMS proved to be just as successful; this time with folks from Sun, Opera and the BBC joining the fray.
One wonderful thing about this FOMS was that a large number of the xiph.org folks (Monty, Derf, Rillian, Jean-Marc and MikeS) were all there. xiph.org are one of the main providers of freely available multimedia standards, and it’s rare that their members have an opportunity to meet in person. It’s a little strange that they met in Melbourne rather than in the USA where the majority of their members are, but hey, I’m sure they won’t complaining about that!
For me, there was a bit of an ominous atmosphere leading up to FOMS due to the recent outbreaks of “discussion” in December 2007 about the HTML5 recommended video codec. (I use the one “discussion” lightly here, since it was a lot more like hearing one’s angry neighbour trying to break down a brick wall with their head, for about a week.) It seemed obvious that the HTML5 video codec problem would be discussed at length at FOMS, but I hoped that it wouldn’t dominate discussion, since there were a lot better things to do with the combined intellectual might of all the attendees than talk about issues that were mostly political and arguably largely out of their hands to solve.
I’m glad to say that the HTML5 video codec problem was definitely discussed, but with a great focus on finding a solution rather than wailing on about the problem. Ogg Theora and Dirac, represented by xiph.org and the BBC at FOMS, are two of the contenders for the HTML5 baseline video codec recommendation, and it was excellent to see that people were discussing technical aspects that may be hindering their adoption by the W3C, always keeping the bigger picture in mind.
There were also breakout groups that threw down some short-term and long-term goals for the FOMS attendees: I personally took part in a discussion about metadata, text markup of video (subtitling, closed captions, and transcriptions), and video composition and aggregation (“video mashups”). Shane Stephens would present a great talk at Linux.conf.au a few days later about Web 2.0-style community-based video remixing; if you’re interested at all in video mashups and video mixups, be sure to check out his talk!
If you’re interested at all in the open-standards multimedia space, the proceedings of FOMS are available online thanks to the FOMS A/V team, with a big thanks to Michael Dale for bringing his incredible metavid video content management system to the humble FOMS site. (You may also be interested in the W3C Video on the Web Workshop Report that was very recently released.) In an area that’s as complicated as multimedia, FOMS is tremendously valuable as a place for open-source developers to meet. It was a great complement to Linux.conf.au, and here’s hoping it’ll be on again next year!
The Australian Open 2008
On the 19th of January, I left Sydney’s beautiful shores for a holiday in four parts: the Australian Open, the Foundations of Open Media Software (FOMS) conference, Linux.conf.au, and Kiwi Foo Camp. I’m in the middle of writing up about the conferences, so this is the first small blog entry in a series of four.
The Australian Open had upset-after-upset this year, being the first one in a very long time where neither the first nor second seeds made it through to the final. We had a five-day ground pass that we didn’t quite use all five days of, but still managed to catch a couple of fantastic matches on it:
- James Blake vs Marin Cilic: all brawns and no brain. There’s so much to like about two big guys always serving stuff at over 200km/h, and the only tactic is to just hit stronger and harder than the other guy. (“If violence doesn’t solve your problem, you’re not using enough of it.”)
- Hanley & Paes vs Bopanna and Ram: It’s amazing watching the top double seeds’ reaction speed at the net: you realise just how much innate talent these guys have, because no amount of training is going to make you that quick.
- The Woodies vs Pat Cash and John Fitzgerald: I’m glad I got to see Woodbridge and Woodforde play at least once in my life. Now I’d just like to see a mixed legends pair of Agassi and Graf…
- Rafael Nadal vs Jo-Wilfried Tsonga: Ah, our precious semi-finals ticket. I expected this to be a three-set match; I just didn’t think it’d be a three-set match where Nadal lost. (When was the last time Nadal lost in three sets to anybody?) Tsonga was playing quite possibly the best tennis I’ve ever seen in my life. Even The Scud playing in his best form couldn’t have matched Tsonga that night.
It’ll be interesting to see whether Lleyton Hewitt regains a better reputation amongst Australians after this year’s Open, thanks to his marathon five-set win against Marcos Baghdatis that finished at 4:33am. It’s amazing how much the media can distort reality: most people forget that Hewitt was #1 in the world for two years running, before Roger Federer came onto the scene, and is probably Australia’s best player in the past thirty to forty years. Pat Rafter never made it to #1; Pat Cash never made it to #1. Arguably Hewitt created some of the controversies himself, but I’m still amazed that so many Australians hold serious animosity toward him.
Tennis is one of those sports where watching it on TV doesn’t give you any indication of just how fast the balls are flying around, how fast a 200km/h serve really is, how fast the players are moving on the court, and how fast they’re reacting. I’m very glad to say that two friends I went with to the Australian Open had never seen a live tennis match before, and both of them loved it.
As well as plain ol’ tennis, we did of course take in a lot of the Melbourne culture, visiting many of the fine cafés and rustic alleyways in the city, heading north to the Yarra Valley for a day, going to the markets at Southbank, and eating pancakes at Stokers. One highlight was seeing James Morrison and Deni Hines at the Palms in the Crown Casino. I think our little group of four at the Palms were the youngest people in the entire audience… by about a decade. Morrison’s amusing obsession with his new vocoder keyboard and Deni Hines’s majestic voice made for a fantastic night of jazz.
All in all, my little Melbourne holiday proved to
be a ton of fun and be incredibly relaxing at the
same time. This was all good days indeed, since I
needed a ton of energy to survive through the next
week…

Conferencing, January 2008
I’m going to be doing a small bit of cityhopping in the next few weeks:
- 19th to 23rd of January: in Melbourne for the Australian Open,
- 24th to 25th of January: in Melbourne for FOMS (Foundations of Open Media Software),
- 26th to 28th of January: more Australian Open in Melbourne,
- 29th to 31st of January: in Melbourne for Linux.conf.au,
- 1st to 3rd of February: in Warkworth, New Zealand for Kiwi Foo Camp.
If you’re reading this and will be in Melbourne or
Warkworth on those dates, drop me an email and let’s
go drinking be civilised!
All's Well That Eats Well
In the past two weeks, I’ve been wining and dining it up indeed…
- 30th of September: Dinner at Capitan Torres in the CBD, one of the finer Spanish restaurants in Sydney. Their paella and grilled octopus tapas are godly, and their chorizo is ohhhh mmmmm yumm.
- 1st of October: High Tea at the Gunner’s Barracks in Mosman, with stunning views of Sydney harbour, lovely tea, and a perfect 30° day.
- 5th of October: Lunch at Forty One at Chifley Plaza; $35 for melt-in-your-mouth salmon, and stunning views from 40 levels above Sydney (even from the bathroom!)
- 6th of October: Breakfast at Echo on the Marina in Roseville (near Echo Point park). An excellent place on the North side to go to for brekky; for the Eastern suburbs yuppies, I also love Trio at Bondi Beach.
All this after recovering from a ski trip where I had the best cabernet savignon and raspberry strudel in my entire life (thanks Matt)! Of course, I’d also interspersed fine restaurant samplings with visits to the best gelato place in the entire freaking world. So life ain’t too bad right now.
For the Sydneysiders, remember that October is Good Food Month! Make sure you check out the Let’s Do Lunch deals, where the best restaurants in town do $35 lunches. (Well, except for Tetsuya’s…) There’s also night noodle markets markets at Hyde Park… sigh, what a shame I’ll be off to Singapore this month and will miss out on the festivities. Oh well, I suppose heavenly dumplings, $2 chicken rice and chilli crab will have to do instead; boo hoo, O woe is me, etc etc.
WWDC Craziness

- Meet new people (✓),
- Catch up with fellow Aussies I haven’t seen in years (✓),
- Go to parties (✓),
- Behave appropriately at said parties (✓),
- Use the phrase “Inconceivable!” inappropriately (✓),
- Work on inspiring new code (✓),
- Keep up with Interblag news (✗),
- Keep up with RSS feeds (✗),
- Keep up with personal email (✗),
- Keep up with work email (✗),
- Installed Leopard beta (✓),
- Port code to work on Leopard (✗),
- Successfully avoid Apple Store, Virgin, Banana Republic et al in downtown San Francisco (✓),
- Keep family and friends at home updated (✓),
- Mention the words “Erlang”, “Haskell” and
“higher-order
messaging” to
puny humansfellow Objective-C programmers (✓), - Write up HoPL III report (✗),
- Find and beat whoever wrote NSTokenField with a large dildo (✗),
- Get food poisoning again (✗),
- Sleep (✗),
- Actually attend sessions at the conference
(
✓✗).
Today is a Good Day
First, fuel costs are down:
Second, I actually finished an entire tube of Blistex before I lost the stupid thing. I believe this is the second time in my life that this has happened:
Third:
Fourth, my personal inbox looks like this right now:
Zero messages, baby. Yeah! (Well, OK, my work inboxes still have a ton of messages… but zero personal mails left is really pretty nice.)
Plus, this is being published from Auckland airport, on the way to San Francisco. Not a bad day at all.
Doctor Doom, eh?
You are Dr. Doom
|
Blessed with smarts and power but
burdened by vanity.
|
Lest We Forget
“The price of freedom is eternal vigilance.” — Thomas Jefferson
I never did modern history at school, so I was spellbound by Wikipedia’s entries about World War I and World War II. I hope that Company of Heroes will be the closest thing that I ever get to experience to a real war.
Geek Culture and Criticism
What’s happened to Kathy Sierra, and what she wrote about angry and negative people, inspired me to write a bit, so let me indulge myself a little. I live in the computing community, with other like-minded geeks. Computing geeks have a (deserved) reputation for being a little negative. This is not without cause: there’s a lot of things wrong in our world. A lot of the technology we use and rely on every day is brittle and breaks often, and as Simon Peyton-Jones says, we’re quite often trying to build buildings out of bananas. Sure, you can do it, but it’s painful, and it’s downright depressing when the bricks are just over there, just out of reach. Our efforts for releasing software is often met with never-ending bug reports and crash reports, and it’s quite sobering looking at our task trackers.
It’s impossible to resist ragging on something or abusing something. This is part of geek computing culture. We have to work with a lot of crap, so it’s easy to be critical and complain about everything around you. However, from this day forward, I’m going to try to at least make any criticism not totally destructive. (I don’t think I’m vitriolic, mind you, but I’ll make a conscious effort to be more constructive now.) Wrap it up in some humour; offer some suggestions or alternatives. Resist using inflammatory language as much as you can when you’re personally attacked, or simply walk away from it. Re-read everything you write and think “Is what I’m writing simply making people more bitter? Is it actually worth somebody’s time to read this?”
Be more gentle with your language and kinder to your fellow netizens. Don’t participate in flamewars. Don’t join the mob mentality and rail on Microsoft or C++ or Ruby or Apple or Linux when everyone else does. (You’re meant to be a scientist after all, aren’t you?) Break away from that self-reinforcing sub-culture that often comes with being a geek.
Now that I’ve got that off my chest, back to work!
Thoughts to Kathy Sierra
For those of you who were fortunate enough to see the magnificent Kathy Sierra keynote at Linux.conf.au this year but don’t read her blog, she’s received death threats and sex threats from some anonymous bloggers and comments. It was serious enough that she cancelled a presentation at an upcoming conference, and the police have been informed.
Wikipedia has some updated information on her harassment. Dave Winer, in a remarkably objective post, reckons it’s just a bunch of trolls and that those kind of death threats are nothing new. I think it’s a little too early to tell yet exactly what the hell is going on, but even if it is “just some trolls”, it’s still outrageous behaviour. Be sure to also read her update on the situation if you’re checking out the other links.
Lesson learned: don’t start a Web site that encourages abusive behaviour unless you’re prepared to deal with the consequences. In fact, just don’t start a Web site that encourages abusive behaviour at all. As Kathy herself says, angry and negative people can be bad for you. I wonder whether it was that article that triggered off some power-hungry kid’s frontal lobe.
Godspeed, Kathy. The world needs more people like you. Hopefully whoever made those comments will be punished—and redeem themselves.
Computing Heroes
I was chatting to a mate of mine about a remarkable book that I found the other day:

One of the greatest intellectuals of our century writes about computing systems and fundamental aspects of the brain. What’s there not to like here? I’m only halfway through the book, and it’s already got so much worthy material in it that I will recommend it to any other computing folks. It’s worth it for the Foreword alone.
Alas, von Neumann passed on a while ago. Right after our discussion, I find out that John Backus passed away last Saturday. Phil Windley comments that “Computer Science has always been a discipline where the founders were still around. That’s changing.”
Arguably computing’s most famous face-person right now is Bill Gates. I don’t see Gates being famous as bad: after all, the guy is a multi-billionaire, which naturally gives him a little bit of a reputation, and his philanthropic acts are to be admired even if one despises his business tactics. However, what does the greater public know about our real heroes? Alan Turing? John von Neumann? Grace Hopper? Alan Kay? John Backus? Donald Knuth? Edsgar Dijkstra? Doug Engelbart?
I remember when John Shepherd taught me CS2041 at university, he spent 5 minutes at the start of each lecture talking about “famous geeks” and what they did for our industry. We need to educate ourselves as an industry and learn and respect what these folks did; go back to our roots; respect our elders. I’d wager that a lot more mathematicians know about Bertrand Russell and Leonhard Euler than self-described programmers and computing geeks know about Alan Turing and Edsgar Dijkstra.
If you’re a programmer (or even if you’re not), go to Wikipedia’s list of Turing Award winners sometime and just start reading about people you don’t know, starting with the man who the Turing award’s named after. (I’m ashamed to say that I only recognise a mere 22 out of 51 names of the Turing Award winners, and I’m scared to think that I’m probably doing a lot better than a lot of other folks.)
I understand that people such as Knuth and Dijkstra made specialised contributions to our field, and that the greater public won’t particularly care for them (in the same way that a lot of the general public won’t know about Bertrand Russell or even Euler, but they’re known by pretty much every single mathematician). However, there are lots of computing legends who we can talk about at dinner with all our non-geek friends and family. Go get Doug Engelbart’s Mother of All Demos or Ivan Sutherland’s Sketchpad demo and show it to your friends. Tell your family about the role that Turing played in World War II, and the amusing story of Grace Hopper finding an actual bug inside her computer.
As Dijkstra said, “in their capacity as a tool, computers will be but a ripple on the surface of our culture. In their capacity as intellectual challenge, they are without precedent in the cultural history of mankind.” Computing is one of the most important things to emerge from this entire century. I hope that in twenty years’ time, at least Alan Turing will be a household name alongside Bill Gates. Let’s do our part to contribute to that.
FOMS and Linux.conf.au 2007
Wow.
FOMS and Linux.conf.au 2007 absolutely rocked the house. I go to my fair share of conferences each year, and even though I’m mostly a Mac OS X user these days, I can heartily say that there really is nothing that matches the flair, co-operation and vibrance of the Linux community.
The Foundations of Open Media Software mini-conference and workshop took place the week before Linux.conf.au to discuss problem areas in open-source media software and how to tackle them, and a number of worthy goals came out of it. One really important project is the advancement of totally free multimedia codecs that sites such as Wikipedia can use for their video: we’re gunning for Theora (video) and Vorbis (audio) support out-of-the-box for Firefox 3, which means that everyone will finally be able to watch video in a Web browser in a non-patented, totally open format without installing plugins or any other nonsense. Putting all the faces to names and seeing all the different projects co-operating to improve open-source multimedia and hit common goals is fantastic.
Linux.conf.au was just as stellar: the atmosphere was vibrant, talks were casual and informative, the organisation was the best I’ve ever seen for any conference, the parties were great, and the community just wonderful. Kathy Sierra’s keynote about Creating Passionate Users was the best keynote I’d ever seen at a conference, even rivalling Steve Jobs’s famous reality distortion field (and Kathy’s was arguably better, since she was actually delivering a ton of information rather than just unveiling “ooo shiny iPhone!”). As jdub would say, awesome. Thanks so much to the amazing Seven Team for organising the best conference I’ve ever been to, all the volunteers and helpers that made it go so smoothly, the A/V team that preserved the talks for all eternity (plug: including mine, of course :-).
Now to catch up on these 700+ RSS articles that I’ve abandoned reading for the week and await the return of life to normality. See you all at FOMS and Linux.conf.au next year!
Merry Christmas!
It’s been an introspective journey this year. But at least I have a new web site! Woo baby!
Here’s a public thank you to all my family and friends for always being so supportive, and all my workmates at Rising Sun Research and Rising Sun Pictures for a wonderful working environment and teaching me a ton about software development (as well as contributing so much to some awesome movies).
2007 is looking good already. See some of you kids at Linux.conf.au in January! (You are going, right? If not, why not?)
Merry Christmas everyone, and have a safe, relaxing and happy end-of-year holidays to bring in 2007!
Transitions
I’m not too sure that I can go much
farther
I’m really not sure things are even getting
better
I’m so tired of the me that has to disagree
I’m so tired of the me that’s in control
I woke up to see the…
Sun shining all around me
How could it shine down on me?
You think that it would notice that I can’t take any
more
Had to ask myself,
… what’s it really for?
Everything I tried to do, it didn’t
matter
Now I might be better off just rolling over
‘cos you know I try so hard but couldn’t change a
thing
And it hurts so much I might as well let go
I can’t really take the…
Sun shining all around me
Why would it shine down on me?
You think that it would notice that I no longer
believe
Can’t help telling myself
… it don’t mean a thing.
I woke up to see the…
Sun shining all around me
How could it shine down on me?
Sun shining all its beauty
Why would it shine down on me?
You think that it would notice that I can’t take any
more
Just had to ask myself,
… what’s it really for?
—Yoko Kanno and Emily Curtis, What’s It For
Trust in love to save, baby. Bring on 2007!
Dumb Money
I love this phrase. Dumb Money. As in:
a lot of “dumb money” will be pumped into the MMOG market by investors hoping to cash in on the next big thing…
The next time I have the chance to berate some obviously stupid business idea, I can just say “dumb money”. Schweet.
(The quote’s from a short news article by Inside Mac Games, if you’re really interested.)
Los Angeles and New York
After the inspiration and buzz experienced at WWDC in San Francisco, chilling out in Los Angeles and New York was a welcome (and much needed) change! I stayed with my cousins in Beverly Hills in Los Angeles, and was thus exposed to the privileged, the luxurious, and the affluent. I’m not exaggerating when I say that practically every car you see is a Lexus, Mercedes, BMW, Porsche, Ferrari, Maserati, Bentley, Lamborghini, or something equally upmarket, expensive, and very sexy. Even the humble Ben Sherman’s presence in the Beverly Center is quite a bit more styled than what you would find in Sydney. I had a taste of the Ermenegildo Zegna and Prada stores along Rodeo Drive and Beverly Drive, the former of which had a beautiful suede jacket for the mere price of USD$4600. Driving up Coldwater Canyon in Bel Air revealed enormous houses, each of which is at least as majestic as the biggest properties in Rose Bay and Bellevue Hill in Sydney; all of them are replete with lush gardens and fountains that they look like miniature ecosystems from the outside. It’s another world over there.
So, Los Angeles turned out to be a wonderful unreality of luxury, and seeing my cousins and family again after the intense week of San Francisco was great! I did my usual shopping rounds, dropping by Banana Republic, Borders, Barnes and Nobles, Club Monaco, Baby Gap (for my two cute nephews, not me!), Fry’s Electronics, the Apple Store, Best Buy, and more. Thanks to me being in holiday mode, I am now the proud owner of:
- a crazy-small Sony Micro Vault 2GB memory stick,
- the entire Robotech collection,
- Ghost in the Shell: Standalone Complex, 2nd gig
- Samurai Champloo
… amongst other goodies that I probably shouldn’t reveal in public. (No, nothing from Victoria’s Secret…)
The one thing that struck me on this trip was the sheer amount of stuff the USA offers, from clothes to gadgets to media content. Australia certainly offers a reasonable amount of variety and choice in its shops, but it’s nothing compared to the USA. You are simply overwhelmed the first time you walk into a Borders that occupies the entire building; it’s six floors full of nothing but books. I looked around for a long time in Australia for a book on the history of mathematics and found one or two; in a single Borders or Barnes and Nobles in the USA, I was spoiled for choice, having found no less than a dozen at every store. Fry’s Electronics features more than sixty cash register checkouts; the CDs at Amoeba Music in San Francisco has shelves and shelves of just movie soundtracks, and it’s mind-boggling to browse just the TV Shows section of any large store that sells DVDs and wonder where the section actually ends. Every satellite city in Los Angeles will have a mammoth shopping centre bristling with mini-economies, and every block in New York will be home to one or two major brand label stores, stacked full of Yet More Stuff.
And then, of course, there’s the crazy-go-nuts 24-hour Apple Store in New York, which I visited with Isaac at the excellent time of 1am. The culture that Apple have managed to create at this place is amazing: the store was full at 1am. It wasn’t like a can of sardines, but it was full enough that almost every single iPod, MacBook and iMac stand was being used by someone, and you had to avoid bumping into other people when you were browsing the shelves. I’m sure the live DJ playing reasonable dance music was part of the reason people flocked to the store at 1am, but there were also a ton of people who were just there sitting around just to be there and wanting to be seen there (in somewhat typical New York fashion). The Genius Bar, where people go to for support and service, really is like a bar: people sit down and start chatting up their neighbour, and since there’s no beer in the way, it actually is easier to start conversations with strangers. It’s all a slightly surreal experience if you haven’t been there before. (I was most amazed that I actually left there without buying a single thing…)
Outside of shopping, that week was time well spent indeed: I got to catch up with my cousins in Los Angeles very well (though spending three days there was far from enough), and my time in New York staying with Manuel and Gabi was wonderful: I managed to catch up with them a lot, found some to finish some projects I’ve had in the works for months since I finally had some time to myself, caught up with a few other friends in the two cities, and even babysat for them for the first time ever so they could have a night off. One highlight of the trip was visiting the absolutely spectacular New York City Museum of Natural History, which I highly recommend for any visitors: you could spend more than two days in there, and it’s one of those shrines that has been constructed with such thought and love that it really does inspire you to become a marine biologist, astronaut or geologist. In a time when the world is increasingly perceiving the USA as a country that’s somewhat fallen from grace, the Museum is a smiling reminder that the United States has also contributed so greatly to the advance of science and human civilisation.
As a small aside, I find it quite interesting that all the progressive cities and states tend to reside on the coast of the USA, with the inland states all being conservative (sometimes to a rather scary extent). Apparently the coastal folks like to distinguish between “America” and “Central America”. I dunno, maybe seeing chicks in bikinis swimming at oceanic beaches makes people more progressive or something. That sounds all good to me.
So now I’m back in the land of take-away instead of to-gos; back in a land where you can actually distinguish a $50 from a $5 by its colour (thank God), and back in a land where I can walk into most coffee shops and expect a good coffee instead of hunting around for Illy logos. The R&R in Los Angeles and New York has been wonderful, and a great wind-down to an intense week in San Francisco. I’m looking forward to getting back to reality and normality now that I’ve had my fair share of excessive consumerism and opulence!
(Go to my WWDC 2006 gallery to find all my photos from Los Angeles and New York).
Los Angeles to New York Playlist
- Zauron: Lovelight
- Thievery Corporation: Marching The Hate Machines Into The Sun (Featuring The Flaming Lips)
- Way Out West: Mindcircus
- Queens Of The Stone Age: No one knows (U.N.K.L.E. reconstruction)
- Necros: Orchard Street
- Chuck Biscuits: Outlands
- Chicane: Overture
- Tool: Parabol
- Tool: Parabola
- Underworld: Pearl’s Girl
- Cass and Slide: Perception (New Vocal Mix)
- Layo and Bushwacka!: Ladies & Gentlemen
- Baby D: Let Me Be Your Fantasy
- Radiohead: Karma Police
- Bedrock: Heaven Scent
- Faithless: God Is A DJ
- Tool: Forty Six and Two
- Badmarsh & Shri: Day By Day
- Sunscreem: Change (Angelic Remix)
- New Order: Blue Monday (Hardfloor mix edit)
- The Seatbelts: Butterfly
- Massive Attack: A Prayer For England
- Itch-E & Scratch-E: Transit
- Vision 4/5: Stormtrooper
WWDC 2006
Right, I believe I have found a no-frills formula for how to make your body think it’s going to self-destruct in an imminent fashion:
- Attend Apple’s World Wide Developer Conference (WWDC) thing
- Attempt to socialise and meet up with as many people as possible
- Attempt to keep up with all the latest and greatest tech news and world news whilst at WWDC
- Have three to four coffees per day thanks to the surprisingly excellent (and free) espresso service at WWDC
- Combine said three or four coffees per day with beer, wine, and beer (in that order — yes, ouch, me dumb dumb) at night.
- After having coffee, coffee, coffee, beer,
wine, and beer, we then attempt to stay up at night
to:
- catch up on the deluge of urgent email (as opposed to merely the important emails, which I can deal with later),
- install beta Apple operating systems,
- attempt to actually do some coding (ha ha ha),
- catch up with the folks back home, and
- rip those 15 new CDs you bought at Amoeba records to your bling iPod (fo sheezy, yo)
- Repeat everything the next day
It has been a full-on week indeed. This is the third World Wide Developer Conference that I’ve attended, and it’s by far the best one I’ve been to so far. It was interesting seeing the Internet’s lukewarm response to Steve Jobs’s keynote on Monday morning, although the excellent Presentation Zen site gave it some credit. As the Macintosh developers who attended the conference know, there’s actually a monstrous number of changes under the hood not spoken of in Jobs’s keynote that are really cool (which would be all that “top secret” stuff in the keynote); Mac OS X is truly coming into its own, both as a user experience and a developer’s haven. Apple’s confidence is starting to shine; let’s just hope that it doesn’t turn into arrogance. (I’m praying that Windows Vista doesn’t suck too much and actually gives Mac OS X some serious competition.)
And, of course, it wasn’t just the daytime that providing intellectual nourishment: I met up and chatted to dozens of people outside the conference, from successful Mac shareware developers, to low-level Darwin guys, folks from the LLVM and gcc compiler teams, other Australian students from the AUC, passionate open-source developers, visual effects industry folks, a ton of Apple engineers, oldskool NeXTSTEP folks, and even second cousins.
While the food at WWDC wasn’t particularly stellar this year, they did have a ton of these things:

Yeah baby, bananas! $12/kg back at home? How about take-as-many-as-you-frigging-stuff-into-your-backpack over here. I’m sure it was the Australians that were responsible for the entire table of bananas vanishing in around 90 seconds. (Not to mention the free Ghirardelli chocholate :).
There was something to keep me occupied every night of the week: even before WWDC started, there were Australia and New Zealand drinks organised on Sunday night, where I met up with a huge host of other Australian students and professional developers (some of whom got really, really drunk, and weren’t representing Australiasia particularly well in the international arena, I might add). On Monday I headed out to have the best burritos ever at La Taqueria on 25th and Mission with Dominic and Zoe, headed to the Apple Store and Virgin Megastore (oh dear Lord they are such evil shops to have in such near proximity to the conference centre), and met up with the one and only Chuck Biscuits from my old demogroup along with the Darbat crew to catch up on old times. Tuesday and Wednesday night was spent heading to dinner with some fellow RapidWeaver developers that featured some bloody good steak, and Thursday was the big-ass Apple Campus Bash, where I had wine, bananas and chocolate for dinner, and then proceeded to raid the Apple Mothership Store of far too many goods. (Put it this way: I travelled to the USA with one half-full bag, and now, uhh, I have two bags that are kinda full… oops.)
During the week I ended up discovering the totally awesome Samovar Tea Lounge in the Yerba Buena gardens thanks to Isaiah, where I not only had some Monkey Picked Iron Goddess of Mercy tea (seriously, how freakin’ awesome is that name?), but also snarfed up a handful of Scharffen Berger chocolate. (Hey RSR/RSP folks back home, have you guys finished those damn chocolate blocks on my office desk yet? Of course you have!) Amit Singh of Mac OS X Internals fame was also at the Apple Store at Thursday lunchtime giving a talk about his excellent 3kg 1600-page book, which I briefly attended before deciding that an afternoon of live true American jazz with Dominic was a much more tasty option on the platter.
And, just as I thought the outings were about to calm down when the conference finished on Friday at midday, I end up meeting a like-minded video metadata fellow in the lobby of the W Hotel San Francisco of all places (swanky as hell lobby, by the way), and ended up hanging out of a cablecar on the way to Fisherman’s Wharf and Ghirardelli Square, where a bunch of NeXTSTEP folks were having dinner. I seriously don’t understand how my body’s managed to cope with all the activity so far. But hey, at least I managed to avoid San Francisco’s rather dodgy Tenderloin district (warning: highly amusing but possibly offensive image on that page) :).
So, now that the week’s over, I currently have 31 draft emails that I need to finish writing: time to get cracking (sorry friends and enemies, I’ll get to you shortly!). Of course, clever me managed to get an entire hour of sleep before heading off to SFO airport for the next stop in my trip: Los Angeles. Stay tuned, same bat time, same bat channel…
Welcome to UTC -7
Ah, Berkeley: the quintessential American student town, where the young gather on the road’s median strip to sit on the grass (in cheery violation of the “Keep off the median strip” signs). Berkeley’s also home to Dominic and Zoe Glynn, my dear friends who I haven’t seen in far too long and have had an excellent time re-acquanting myself with again. It’s been a perfect warmup to the intense and crazy week that will be the Apple World Wide Developer Conference.
![]()
So, Friday was spent re-exploring Berkeley with Dom: for those who remember, I was here at the start of 2004, and it brought back good, good memories seeing the University of California at Berkeley, and the intersection of Bancroft Ave and Telegraph where all the froody 60s peace-out stalls are. Mahreen, if you’re reading this, you’ll be pleased to know that everything was pretty much exactly like we remember, except it’s a bit warmer right now!
After grabbing some lunch at Saul’s where I was reintroduced to American-size portions in the form of a West End Massive Corned Beef Sandwich, we stopped by the very dangerous and evil Amoeba records on Trafalgar, where I picked up no less than 15 CDs:
- Propellerheads: Propellerheads (the prequel to Decksanddrumsandrockandroll: a collector’s item, and I got it for an entire $1)
- Propellerheads: Spybreak!
- Sasha and John Digweed: Communicate
- James Lavelle: Fabriclive 01
- Future Sound of London: Lifeforms EP
- Future Sound of London: Lifeforms
- Photek: Modus Operandi
- Rˆyksopp: Melody A.M.
- Thievery Corporation: Babylon Rewound
- Monk and Canatella: Do Community Service
- Lamb: Remixed
- DJ Shadow: Preemptive Strike
- U.N.K.L.E.: Never Never Land
- Battlestar Galactica Season 1 soundtrack
- Battlestar Galactica Season 2 soundtrack
See, despite spending $150, I actually ended up saving money because for the price of those fifteen CDs, I could have bought a mere five CDs back at home. YA RLY! Hey music industry: price your stuff reasonably and people will buy them! Screw this $35 for an album crap back in Australia; I quite like the $8 I pay for a CD at Amoeba. I should add that I only looked at the Electronica section too; the damage to Dinga would have been far worse if I had bothered to wander through the House section, not to mention all the DVDs.
![]()
For dinner, we dropped in to none other than Pho Hoa, the famous Vietnamese Pho Bo shop on Shattuck St. Mahreen, no doubt your memory will be triggered by this as well: you’ll be pleased to know that I did, in fact, get the crazy-big serve of Pho Bo and finished all of it, and I of course had to have some Taro Bubble Tea. After that it was time for some beer and a good catch-up chat with Zoe and her cousin Andrew, which ended up going until about 5:30am when we all reluctantly crashed.
![]()
Saturday was even better: we had a cruisy late morning double-falafel for breakfast at the Fertile Grounds cafe in conjunction with some genuine Illy coffee. This was followed by an afternoon consisting of insanely great Cheeseboard Pizza, white wine, and hours of conversation up at Indian Rock, which provides a beautiful scenic view of Berkeley and the Bay Area. I love summer.
Meanwhile, Dom and Zoe’s place here rocks. The rent they’re paying is unbelievable good considering how nice the place is, and they even have the same comfortable futon that I slept on while I was staying with them in Toronto. Dom’s love for gadgetry shows: their Robot vacuum cleaner means they never bother vacuuming the house normally, and their little Prius automobile is awesome. I am so getting one of those as my next car: any car that has a Power button, voice recognise for GPS and telephone dialling, and does 5 litres per 100 kilometres has my vote.
Later today I’ll be meeting up with Yannis and Violette for Yum Cha, and after that it’ll be time to check in to the Courtyard Marriott at San Francisco, where I’ll be heading off to the Australia and New Zealand pre-WWDC drinks. Oh yeah, life is good right now!
(You can find all the photos from the first few days of my Berkeley expedition in the gallery.)
Sydney to San Francisco and Berkeley Playlist
- James Brown: Ain’t it Funky Now
- Massive Attack: Angel
- Seal: Crazy
- Rˆyksopp: Eple
- Tears for Fears: Everybody Wants to Rule the World
- U.N.K.L.E.: Lonely Soul
- Tool: Stinkfist
- Yoko Kanno: Fish-Silent Cruise Part 2
- The Wallflowers: One Headlight
- U2: All I Want Is You
- Vogue: Ambient Energy
- Freeland: Big Wednesday
- Yoko Kanno, The Seatbelts and Steve Conte: Call Me Call Me
- Faithless: Bring my Family Back
- Propellerheads: Cominagetcha
- Sunscreem: Cover Me (Trouser Enthusiasts mix)
- Yoko Kanno: Dujurido
- Decoder Ring: Escape Pod
- Tool: Eulogy
- Jazzanova: Fedimes Flight (Kyoto Jazz Massive remix)
- Starsailor: Four to the Floor (Thin White Duke mix)
- Lamb: Gabriel
- Handel: Lascia Ch’io Pianga (performed by Single Gun Theory)
- Cliff Martinez: Helicopter
- Mono: Hello Cleveland!
- Radiohead: Where I End and You Begin
- Thievery Corporation: Warning Shots