Monthly Archives: July 2006

Muybridge panoramas

In 1997 I walked into Half Priced Books to browse and left with a copy of “Eadweard Muybridge and the Photographic Panorama of San Francisco, 1850-1880”: for $5. I had been familiar with Muybridge through his series of photographs of humans and animals in motion, which have been a classic reference for animators for nearly a century.

Now, I’m coming back to his San Francisco photos as I prepare a podcast about that city. I am very excited about this one, and hope to have it finished soon after I return from WWDC. The “video games podcast”: was a lot of fun, but it had some problems that I hope to correct this time around.

I’ve tweaked this weblog design again, adding one of Muybridge’s panoramas to the header and experimenting with some different fonts and colors. I’ll switch the image out from time to time.

Book cover

Weblog design update

I just rolled out some design tweaks and “realignment”: to this site. The original design (if you could call it that) was whipped together several years ago and hasn’t really changed much since then. It even used HTML tables, a fact I was oddly proud of. The new site uses hack-free CSS, although there is a layout bug for some content sizes.

I also added a podcast feed link to all pages, links to my Flickr, 43 Things, and accounts, and each individual post archive page also now includes excerpts from other posts in that category. You can see this in action by visiting “this post from 2 years ago”: I’ve been clicking through my old archives tonight, and that one stood out because WWDC is fast approaching again.

Here are two before and after thumbnails of the same post. Not too exciting, but it’s nice to make even these small improvements. Next up are some planned design-y things for the header.

Before After


Video Games podcast

My second podcast episode is about video game music. You can download it here, or subscribe to the new podcast feed in iTunes.

» Download (MP3, 13.4MB)

» “Audio-only RSS feed”: (drag to iTunes)

I started working on this last year but it quickly became too ambitious and stalled. I picked it up again just a couple of days ago, simplified it considerably, and got it done. As usual, I learned a bunch, and look forward to improving a few things for the next one. Enjoy!

And some related links for the topic covered:

Buy at Amazon: “Lumines”:, “Electroplankton”:, “Katamari Damacy”:

All games at Gamespot: “Zelda”:, “Tetris”:, “Super Mario World”:, “Super Metroid”:, “Ys Book I & II”:, “Myst”:, “Electroplankton”:, “Ocarina of Time”:, “Lumines”:, “Myth”:, “Katamari Damacy”:

Remix credits: “Super Mario World by Jason Cox”:, “Super Metroid by The Wingless”:

Game history: “TurboGrafx-16”:, “Ys I and II (Classic Gaming)”:, “Ys I and II (PC Engine Bible)”:

Music archives: “”:, “Zophar’s Game Music Archives”:

More links: “Composing with Electroplankton”:, “Video game music emulators”:, “Bungie’s Myth”:, “Myth II demo”:, “Ocarina instrument”:

Comic-Con, Scanner, and independent shorts

Comic-Con San Diego has started. For a humorous look at the kinds of people you might see walking the show floor, check out the excellent series of “recent sketches on the Story Boredom blog”: I’ve never been to the convention, but have some friends who go most every year. Some of those people also worked on “A Scanner Darkly”:, which opened last weekend in wider release, banking an impressive $5000 per theater with a #9 opening at the box office. I saw the film last weekend and enjoyed it, especially the last half which seemed less burdened by unnecessary Linklater-ish dialog. In general I’m not a big rotoscoping fan, but the style held my attention and was well-executed.

In other animation news, the National Film Board of Canada has “put many of their classic films online”: (via “Peter Merholz”: Also see “this beautiful little film”: by CalArts student “Ian Worrel”: Despite what the big studios do, I love that traditional animation is thriving at schools and with independent animators.

RailsConf 2006

Airport sketch I attended “RailsConf”: in Chicago last month. There’s a lot of excitement in the Rails community right now, and it was nice to be there for the first year before it explodes to the even bigger event that the conference will be next year when O’Reilly takes over.

The talks were a mix of great to just okay. “Damon Clinkscales”: provided a solid introduction to migrations, and even though he had previewed the talk for me the night before I still picked up some useful tips. I was finally able to hear first hand what a fantastic speaker “Mike Clark”: is. James Duncan Davidson rounded out the weekend with a high-level “vision for deployments”: I also enjoyed presentations by “Paul Graham”:, the music and brilliance of “Why”:, the closing Rails core team panel, and of course “DHH on REST and embracing CRUD”: One of the nice things about open source is that soon after announcing the new ActiveResource framework, David checked in his code so you can immediately see “what he has been working on”: and play along.

As I look back on the schedule, there were many talks I missed completely, so I’m looking forward to catching the audio or video of some of those. Still, you could get a lot out of the conference just by talking to people between or during sessions.

While at the Austin airport, I filled a sketchbook page with random people waiting for the delayed flight. This man on the right was leaning against an abandoned ticket counter.

More gaming, year 2

At the beginning of last year “I wrote about my new Game Boy Advance”: and how it was finally the system that pulled me back into gaming, something that consoles and computer games could not do. A year later, the PSP is out, the DS is selling well (I own one), and the Xbox 360 is off to a solid start. So what happened with the questions I raised, in particular in regards to 2d games and Game Boy Advance games?

Sadly, earlier this year Nintendo hinted that there may never be a successor to the Game Boy Advance. Their “three pillar” strategy sounded good last year, but the DS turned out much better than anyone had hoped. With the DS Lite fixing all the major design problems with the original DS, it now seems more likely that Nintendo will focus on the Wii and let great DS games drive the handheld market until a next-gen DS becomes needed.

2d games, on the other hand, have seen something of a resurgence. Sonic Rush for the DS has the same feel as the Genesis games. New Super Mario Bros is also fantastic. The PSP has a beautiful if quirky 2d game coming soon in the form of “RocoLoco”: Even the Xbox 360 has its share of 2d games on Xbox Live, and at E3 Nintendo announced a “2d GameCube game set in the Paper Mario universe”: Nintendo’s Wi-Fi Connection has breathed new life into that original Game Boy game, Tetris; 4-player internet play with “items” is a completely new Tetris and more fun than I would have imagined.

Peterb’s essay “Design of Everyday Games”: has some great insight into game design complexity, using Advance Wars and other 2d games in several examples.

From the October 2005 Nintendo Power, Castlevania producer Koji Igarashi says:

bq. “2-D gaming can provide such a great game design–games with definite and solid gameplay. From a presentation standpoint, it may lack what 3-D can do, but let me yell once again, what games need are fun and exciting elements! 2-D games offer these things.”

No question, 2d is here to stay, and it’s only getting better. The Game Boy Advance had a good run, but now it’s time to say goodbye. See Modojo’s “The GBA’s Last Stand”:


I don’t blog much about “VitalSource”: in this space, but I should. When I joined the company, it was to return to designing and building Mac software, with the potential for working on something meaningful (education tools) as a refreshing bonus.

Over 5 years later, we have built up a great team and a mature set of products. Yesterday VitalSource announced it is being “acquired by Ingram Digital Ventures”:, which should be a good complement to the work we are doing. Ingram is the largest book wholesaler in the country, but I don’t think that fact really hit me until three days ago.

We were downtown with some time to kill before a performance. We stopped at the Farmers Market for some fresh peaches, flowers, and breakfast tacos. When we detoured to see if the library was open, I noticed these boxes outside and snapped a mobile phone picture.

Ingram boxes

An Inconvenient Truth

I saw the Al Gore documentary “An Inconvenient Truth”: last month. It’s a very important movie, and I hope everyone has a chance to see it.

They handed out copies of Seed Magazine at SXSW this year. There were a few articles on global warming, including “this depressing quote from James Lovelock”:, the environmental scientist responsible for the Gaia hypothesis:

bq. “The prospects for the coming century are pretty grim: If these predictions are correct, it means that all of the efforts that have been made, like the Kyoto and Montreal agreements, are almost certainly a waste of time. They should have been done 50 or 100 years ago. It’s too late now to turn back the clock, so to speak.”

What are we supposed to do with that? If we are scared and powerless, nothing will change.

The Bush administration agenda too is based on fear. Fear led us to IRAQ, to no-warrant wiretapping. Instead, with An Inconvenient Truth you leave the movie theater inspired, with a new sense of urgency. This is beautifully woven together — personal highlights from Gore’s life with his talk with facts with videos.

And as a Mac user, it’s nice to see “Keynote played such an important part”: in the production of his talks (via “James Duncan Davidson”:

Also, this on YouTube: “A Terrifying Message from Al Gore”: (Futurama!)


I write Mac software, but over the last year I’ve increasingly been building Ruby on Rails web apps as well. Today I finally took a look at “RubyCocoa”: I wanted to whip up a quick Cocoa app that would involve some text parsing, and a dynamic scripting language like Ruby is a much better fit for text processing than C, C++, or Objective-C.

It turns out RubyCocoa works amazingly well. I have only scratched the surface with a small test app, but I was blown away by its ease-of-use, Xcode integration, example projects, and apparent maturity. You have full access to AppKit from Ruby-based controllers and views, and a single NIB file can even reference both Objective-C and Ruby classes. Fantastic stuff.

I don’t know if it’s ready for commercial software use yet. For distribution, I tested including the RubyCocoa.framework inside the application package and the app launches and runs correctly on a system without the full RubyCocoa install. There may be issues with requiring a recent version of Ruby, but otherwise it’s a fully native app.

My only disappointment was in the Objective-C calling conventions. There are two versions to choose from: a style using underscores to separate named values, and a slightly easier Ruby syntax using symbols and extra parameters. Here they are:


[my_window setFrame:r display:YES animate:YES]

Ruby Underscores:

my_window.setFrame_display_animate(r, true, true)

Ruby Symbols:

my_window.setFrame(r, :display, true, :animate, true)

In my opinion, a better approach would be to take advantage of Ruby’s trick of allowing the last parameter to be a hash supplied without the curly braces. This feels more readable to me and more closely matches the Objective-C equivalent.


my_window.setFrame(r, :display => true, :animate => true)

In any case, that’s a minor complaint and doesn’t take much away from the beauty of writing native Mac apps in Ruby.

Creative professionals

My friend “John Rubio”: has launched a new site: “CREATEaPro”: A steady flow of good essays is already filling up the site. His latest, “10 Essential Tips to Becoming a Successful Creative Pro”:, is equally applicable to a wide range of disciplines, not just designers, illustrators, animators, or other artists the site is aimed at.

I like this paragraph from his introductory post:

“If I could go back, I would have paid more attention. I would have started my education not then, but at 8, when I first discovered the blackroom they had stashed behind my uncle Richard’s light table. I would have spent more time studying the racks of lead type before dismissing them as just things that got my hands and homemade clothes covered in ink.”

It underscores what seems to be the main theme of the site: get working and stay confident.

Sometimes I worry that I wasted too much time with trivial stuff, pushing away time for what is really important. But then I’ll encounter an artist or visionary who got a late start and still made the best of it. It’s never too late.

Unless you listen to “John Kricfalusi”: “After 24 if you haven’t already become really good, you will stagnate and your powers of learning and your rebellious youthful attitude will have died.”

Time for thinking

“Gillian Carson talks about vacation time”: on the Amigo blog:

“A holiday is a time for thinking, for relaxing your mind, for drinking beer and laughing and… for having ideas. The last time we went on holiday we came up with the idea for Carson Workshops, so I have great faith in letting your brain run free.”

I agree. Late last night I was working on a problem, something I had been struggling with in my spare time for a couple of weeks. I went back and forth between staring at an empty text editor and reading NetNewsWire. In other words, wasting time. I went out after midnight to get some milk and food for breakfast, and on the drive to the store I let my mind wander until my brain randomly struck upon an elegant solution to my coding problem. Back at my desk I implemented it in 10 lines of code and went to bed.

Have a happy July 4th everyone.