Retrogaming and retro-disking in Rome

I went down a little bit of a rabbit hole this weekend, thanks to an online index of Open Source Game Clones—basically, freely available re-implementations of old paid games. The first game I looked up was Caesar III, which was one of a few games (along with Marathon and Myst) that I played a lot on nights that Lisa was attending grad school classes, in our apartment in McLean, Virginia. It’s a city building game that allowed you to experiment with, as my college friend attorney Tim Fox would say, zoning. Namely — if you make streets too long, if you fail to build adequate agriculture or mercantile or entertainment options, your city fails to thrive and stand up against invasion.

Lo and behold, Caesar III has a few open source clone projects, of which one, Augustus, is an active project with a Mac port. So I went to check it out. Like Devilution, Augustus emulates the engine of the game — the actual Mac application that runs the game, takes input, handles saves, etc. It does not attempt to recreate the original game assets (art, storylines, music); instead, it requires you to provide them.

I actually still have my original Caesar III CD-ROM, but found that I couldn’t get it to read with my Mac’s SuperDrive. That, it turns out, is because modern Macs can no longer read HFS file systems, which many CD-ROMs meant to be read by Macs in the 1990s used. HFS was replaced by HFS Plus in 1998, which is still supported today, but if you have old media (floppies or CDs) formatted with HFS, you can’t read them with modern drives—at least, not without the help of additional software.

I explored a couple options to get access to the disk (as well as a few other disks that were in the same binder). All options required using the Mac Disk Utility to create a disk image (.DMG) file from the CD-ROM. Once done, you can then find software to read the image. One option that seemed promising was a set of command line utilities called hfsutils, which can be installed via Homebrew and which promised access to mount and access HFS-formatted disk images. But you need to be very precise with the commands to copy these files and I couldn’t figure out a way to work with them other than one at a time. (There is, of course, a way, using the -f flag and the wildcard, but I didn’t find that until later.)

Enter a most useful utility, Kevin Brewster’s HFS. It is very simple: drag an HFS formatted disk image onto the app window and tell it where to save the files. And it works! … Except… it copied the Mac installer out, which Augustus can’t use, and I couldn’t get the installer to run from within my Classic Mac emulation environment.

So I went to plan B. It turns out that you can buy the Windows version of Caesar III on GOG for about $6, and Augustus can use those game files. So now I’m up and running again, and re-learning all the frustrating bits of Roman zoning law.

But the exploration of HFS utilities wasn’t wasted time. I think the HFS utility will turn out to be a great way to get content off old floppies… and that’ll be the next project.

Macworld Keynote 2009

It’s not going to be a Stevenote (and on that note, best wishes to Steve as he gets his hormones back in balance and gets some protein in his system). But I’ll be watching all the more closely, to see how Phil Schiller takes on the challenge of igniting excitement in the Mac faithful. Like many product managers, I have picked up a few tips about presenting product over the years from Steve, and Phil will have his own style and his own techniques which I can hopefully also snarf.

Product predictions? I like John Gruber’s, and can lend credence to the iLife prediction because I finally got the most recent version as a Christmas present. Pretty sure there won’t be any new iPhone products announced today though (outside of the iPhone version of Delicious Library).

I’m pretty sure that Apple won’t be announcing the Mac Wheel today, though (hat tip to Chris Eng for the pointer):

Apple Introduces Revolutionary New Laptop With No Keyboard

Genius take II: indeed.

After last night’s disaster, I decided to give iTunes 8 another try. This time I made sure my library settings were correct in advance, and let it collect and submit the information while I ate dinner. No spinning beachball, no issues, this time around. 

So, Genius. I’m not evaluating the sidebar right now (though I will note that the message that appears when Genius can’t find any recommendations in the store is a pretty good predictor of whether the Genius playlist feature will work. And you know what? It does work, quite well.

The feature in a nutshell is a little like an old bar game: pick a song, then identify a bunch of other songs that go with it. All the songs are pulled from your library and you can vary the length of the playlist, and save it into your library if you choose. Pretty simple. So I decided to throw it some curves. First, “Nuki Suki” by Little Richard. It took this slightly profane funk gem from the master and mixed it with “Sexy MF,” “There Was a Time,” “Baby I Love You,” “The Hook and Sling” by Eddie Bo, “Up for the Down Stroke,” and Marvin Gaye’s “You Sure Love to Ball.” There were a few clinkers as well, like Ready for the World’s “Oh Sheila,” but at least everything was in the ballpark. 

So I tried something a little different: a movement from “Jesus’ Blood Never Failed Me Yet” by Gavin Bryars, from the recording with Tom Waits on vocals. What came back seemed to be mostly related to Tom Waits rather than Gavin Bryars: tracks from Waits, Smog, the Black Keys, the Cocteau Twins, Cat Power, and so on. So I tried another Bryars track but Genius couldn’t find matches. Also matchless: tracks from the Virginia Glee Club and the Virginia Gentlemen, probably because they aren’t available in the iTunes Store. But mixes around Hilliard Ensemble, Pink Floyd, Jane Siberry, Steinski, Jeff Buckley, and Neko Case were all pretty solid.

So I think those of us that like genre-busting mixes and unusual juxtapositions are probably safe: Genius doesn’t automate what we do just yet. But for a good 25 song groove it’s not bad, and for most people it will handily replace Shuffle as a way to plumb the depths of their library.

iTunes 8: first impressions

I installed iTunes 8 last night on my home machine, a MacBook Pro with 2 GB of RAM. The update wasn’t in Software Update, so I pulled it off Apple’s website. Then I had to update to get the latest QuickTime, begging the question of why they aren’t packaged together. But that was straightforward enough. Then I rebooted and fired up iTunes.

First it wanted to update all my album art–I suppose to build new thumbnails for the new grid view. When it finished looking at my 26,000 song library in five minutes I was suspicious. Sure enough: it had forgotten that my music lived on a network drive and silently reset the location to my laptop hard drive, causing all the songs in the library to be unplayable. Fortunately I’ve been through this before: Preferences, Advanced, and set the correct location for the folder, then wait fifteen minutes while all the song paths are reset. But man: I was really hoping Apple had fixed this one. I don’t restart iTunes often, but when I do I have to go through this dance more than half the time.

But OK: so far no worse than the old version.

The new grid view seemed nice enough, until I clicked something. Then it locked up tighter than a drum with a spinning beachball. About five minutes later the beachball cleared and I was able to play some music. I found of interesting that the grid view was only present some of the time. If I clicked through on the Jazz genre, it brought up the classic view of tracks next to album art. Maybe this was because of the number of albums (330) in the genre, but I found it a little disorienting.

Then: Genius. I don’t know if I would have called the feature that, since it has to upload the entire library to the cloud before it can work. I let it run for awhile but it wasn’t long before the spinning beach ball returned. I finally killed iTunes but it managed to keep any other application, including QuickTime, from playing any sound until I rebooted.

And when I rebooted, iTunes forgot where the music library was again.

I think Genius has promise–it came up with some interesting recommendations on my work computer. But that only has thirty songs on it. I have a suspicion that it doesn’t scale. At all.

Getting attention

There’s a cute comic up at WPLover that highlights an interesting UI trend: the rise of the speech bubble. If you don’t have a WordPress blog, you may never have seen this UI, but it’s pretty much as the comic strip shows it. In the dashboard UI, there are a series of tabs for common tasks–comment management, etc.–and if something needs your attention on one of those tabs, a “speech bubble” pops up with the number of things you need to address.

What the comic points out is that this makes perfect sense for comments (a speech bubble with the number of comments is a congruent metaphor). But indicating the number of plugins needing updates is a little different–should your WordPress plugins really be talking to you?

I think the first treatment of this concept that I saw was Apple’s new mail count in Mail.app, but they didn’t treat it as a speech bubble (there was no “tail” on the little red badge showing the count). This treatment is probably the more portable UI convention.

iPhone App Store, Day 1


After I played around a bit with the new firmware, I got on the App Store and started downloading. I got my hands on Exposure, MLB.com At Bat, Band, the Google app, Bloomberg, the BofA app, CheckPlease, Evernote, Facebook, AIM, Jott, midomi, the AP’s Mobile News, NetNewsWire, Remote, Salesforce, iPint, and PhoneSaber. I won’t be able to review each of them, but a few quick thoughts on the ones I’ve tried:

  • iPint: deleted. Not enough fun to make up for the big Carling logo that comes up on the beer pint at the end.
  • MLB.com At Bat: A much nicer way than the Red Sox web site to find out if Storrow Drive will be jammed up because of a home game at Fenway.
  • Exposure: I agree with The Unofficial Apple Weblog: Photos Near Me is creepy but kind of a cool way to explore the area around you. It was with Exposure that I first saw the request to use my location, and I was relieved to see it again this morning. Apparently authorizing the release of your location data is not just a one time thing. The app is a little slow over Edge, though.
  • BofA: doesn’t seem that much improved over their mobile web experience. A few of the graphics appear to be included in the app, but most of the rest is just like the website. Of course, the automatic location based ATM finder is good, but is that enough of a reason to install an app, even if it is free?
  • PhoneSaber: a giggle and a fun demo of the phone’s capabilities. What would be really cool is if you had two iPhones running PhoneSaber, and you could tell that they were near each other, that you could do a real duel.
  • Band: Bought it for the keyboard. Love it for the 12 bar blues mode.
  • Bloomberg: is slow over Edge, but not as slow as I would have guessed. Missing: a way to share stories from Bloomberg News.
  • Jared: Oh, Jared. So glad to see my old friend here. The voice of the Butcher of Song has not improved with age, and that’s how we like it. (Incidentally, does Jared win the award for the app ported to the most Apple programming environments? Classic, Newton (!), Mac OS X app, Mac OS X Dashboard widget, iPhone…)

Regarding the economics and revenue model from the App Store: First, I have to give kudos to the folks at MacRumors and TechCrunch for their ingenuity. Alas, it looks like they spilled the beans too soon, as all download counts have been re-zeroed out. But the preliminary indications ($55K in revenue from the US store before it even opens) should hopefully prove the viability of the revenue model.

And I definitely echo Daring Fireball’s point about the store’s reliability, a point thrown into even sharper relief by the fact that MobileMe is, as I speak, continuing to stagger about like a starlet in rehab: very pretty, a promising future, and completely incapable of standing upright for more than a few minutes at a time.

Day of updates: iPhone App Store, maybe MobileMe

Various sources report that the iPhone App Store will launch today. It’s clear that iTunes 7.7 is out, featuring the ability to control iTunes from a new free iPhone/iPod Touch app, and the New York Times says that Apple will be launching the app store.

What I haven’t seen reported anywhere is anything about a MobileMe launch today. But signs are good; right now I’m getting a maintenance screen on .Mac:

Fortunately, I’m still getting mail on my iPhone. But maybe this means a MobileMe launch is imminent too.

Update: Okay, I missed the .Mac status report on Apple support that indicated that MobileMe was actually supposed to launch last night; the maintenance window was from 8 pm to 2 am Pacific time. Right now the status isn’t pretty:

Update 2: As of noon-ish on the east coast, the update now says that all services are back online except for webmail and web pages: “With the exception of the new web apps, all of the following services are available: Mail, iChat, iDisk, Sync, Back to My Mac, and all published pages, including Galleries and iWeb sites.” Smart money has it that there’s a contingency plan being executed while they figure out why the new MobileMe apps aren’t RTWing successfully.

Followup: Mac OS X ARDAgent vulnerability advice

Various parties in the Mac community have weighed in and suggested the best way to address the issue highlighted in last week’s advisory regarding an escalation of privilege vulnerability in ARDAgent. While some have suggested that enabling the remote access service may actually correct the privilege escalation, there’s been enough evidence that it doesn’t really work. And a suggestion to clear the setuid bit that allows ARDAgent to act as root appears to kill it, for at least some commentators. That leaves only leave two options:

  1. If you don’t need to have anyone remotely manage your application, just delete or archive ARDAgent.app.
  2. Restrict ARDAgent from being able to perform do shell script (as described in Martin Kou’s blog)

It would be nice if Apple just closed the hole, wouldn’t it?

While you’re at it, don’t forget to update Ruby (it’s part of the default Mac OS X installation), if you’re using it, to close a whole bunch of holes–from numeric errors to buffer overflows–in the core Ruby runtime.

And can we stop pretending that the Mac OS X platform is magically secure?

WWDC Liveblogging the livebloggers

It’s hot here in Burlington, MA, pushing 98, but it must be even hotter in the Moscone Center with the liveblogging that’s going on right now. I’ve been looking at Engadget, CNet, Gizmodo, and TechCrunch for the updates. So far TechCrunch is up and down like a drunken sailor and Gizmodo is the fastest and most responsive.

News so far: there will be a 10.6 called “Snow Leopard,” and Steve’s gonna update him some iPhone.

iPhone points of interest: reiterating the enterprise features announced when the SDK was announced, including Exchange support, native Cisco integration. I note that all the liveblogging sources describe these as features of the iPhone 2.0 software, not the iPhone 2.0 itself; this holds out hope that my 1st gen model is good for at least one upgrade.

The SDK demo includes a feature called Core Location. I don’t even want to think how many business plans in my entrepreneurship class at Sloan back in 2001 imagined a similar feature for mobile phones, breathless with the knowledge that the government was going to require carriers to be able to triangulate handsets down to a few hundred meters to support 911 calls. Mobile dating service…on your handset! With…. contextually relevant ads!!!$! Maybe this iteration will give us some more imaginative apps for location technology.

I love that Sega is the first ISV to demo an app here. Again: iPhone is mobile gaming platform.

eBay mobile client: yawn. Facebook and Bloglines made more impressive mobile apps just by working in the browser, guys. You had 95 days on the SDK and this is all you could build?

Loopt demo. Regarding my note above… no, not really, unless you count integration with Google maps.

The TypePad client looks interesting. Wonder if it’ll work with WordPress?

The AP iPhone client is kind of brilliant in a way nothing else here is–because it not only sends down AP content, it allows you to send it up! Crowdsourcing the news at its finest.

I kind of like the piano simulator from Moo Cow Music. Their site is down but there’s a YouTube video of their demo (thanks, Google Cache).

(All these demos, btw, are called “demonstrating momentum.” I’m waiting for them to trot out that SalesForce demo again just to drive the point home to Wall Street.)

First new feature: central (Apple provided) push notification for all background apps. How well will that scale if Apple can’t even keep Webmail for .Mac running? Saying “it’ll scale” without details is a little sketchy in the post-Twitter world.

Free update for current iPhone owners = good.

Light Blogging Day

Probably another light blogging day. I’ve gotten into the part of the semester where, despite my best efforts, every day is a fire drill.

Unfortunately I can’t post my current assignment to my blog–it’s too long and the subject matter (forgiveness vs. utilitarianist philosophy) is a little too far out to try to make work as blog matter. Maybe later I’ll figure out how to tie it all together.

Quick pointer: Esta talks about hooking my grandfather up on e-mail this morning. Esta’s always been better than I have about keeping family ties close, and this story shows why.


Update: I finally received my replacement power adapter (see the discussion of my fire hazard problem here). Fortunately my problem was in the AC cord and not the “yo-yo” itself. Apple made an incremental change to the adapter recently that rendered the plug incompatible with the receptacle on my PowerBook G3. However, the AC cord is compatible with my old yo-yo, and it’s charging merrily even as we speak. So to sum up: if your yo-yo is broken and it’s a model M7332, make sure you replace it with an adapter that’s designed for your G3. However, if it’s your AC cord, you can order either one and it will work.

Interestingly, both models are “Model M7332.” But the one that works with mine is manufactured by Delta Electronics in Thailand and the new one comes from Dongguan Samsung Electro-Mechanics.