April 2007 Archives
At the PSIG meeting a few weeks ago, Jason Foreman demonstrated FizzBuzz first using Erlang, and then Quartz Composer. I didn't see how he implemented the QC version, but I was intrigued and decided to have a crack at it myself. Here's a QuickTime result, and the qtz file:
Most people my age like retro music. I like retro games. I was a big fan of the King's Quest series on the PC in the DOS days. I always played on a friend's computer (we only had an Apple ][). Luckily, Sierra/Vivendi has re-released games 1 through 7 under the name King's Quest Compilation for under $20. What's nice about this collection is that they are the original games, unmodified, not redone. This means, for example, that if the game used Mike Tyson, we get Mike Tyson, not Mr. Dream. Okay, I lied. This isn't entirely true. For some stupid reason, King's Quest 1 is the VGA remake from 1990, not the EGA original from 1983. But, alas, the others are original, and this compilation is still worth it. There's only one catch. It requires Windows 2000 and XP, and I run OS X.
Since KQ1 through 6 were written for DOS, they cannot be run directly on Windows 2000 and XP. To get around this, they actually ship with DOSBox, an open source Intel x86 and DOS emulator. The good news is that DOSBox is cross platform and runs fine on OS X, too. So, with a little command line magic, it's possible to get the King's Quest series to run directly on OS X:
If you've ever wanted to play around with a microcontroller, now may be the time. I just read that Digi-Key is currently running a nice promotion on a couple of Atmel AVR kits. They're selling the STK500 and AVR Dragon together for just $49. The STK500 alone usually goes for $79. I used one of these boards a few years back at a client, and it's a fun little prototyping board. I've been wanting one for myself since then, and this is quite tempting. The AVR is nice compared to, say the Microchip PIC, in that there's a gcc port with C library available for easy hacking without getting knee deep in assembly. Check out my del.ico.us AVR links for a bunch of goodies about using the AVR on OS X.
BTW, ladyada's ranting is an awesome blog for electronics.
I normally don't bring up MAME OS X releases here, as it has its own feed on its release page. However, the 0.114 release includes Quartz Composer integration, which I think is worth mentioning. Quartz Composer is one of my favorite OS X technologies, and I'm glad to (ab)use it where I can.
Each frame in MAME can optionally be rendered to a composition (using QCRenderer under the hood). This was surprisingly easy, since frames were already rendered to a Core Video OpenGL buffer. To be honest, I don't think this is really useful, and the composition effects I've included are more "hey, look what you can do with Quartz Composer". The biggest advantage is that end-users can now create visual effects without recompiling MAME. They can just pop open Quartz Composer and drop the file into ${HOME}/Library/Application Support/MAME OS X/Effects. Maybe someone can pull down cabinet models from the Internet and display the frame where the screen should be. Eh... even that's pretty useless. Ah well, it's fun to play with, at least.
I've just released version 1.0.1 of DDHidLib: DDHidLib-1.0.1.tgz. Changes in this version:
- Replace deprecated
stringWithCString:withstringWithUTF8String:. - Make
DDHidKeyboard.hpublic so it gets copied to the framework. - Plugged some memory leaks.
- Added a class for barcode scanners, thanks to Lucas Newman of Delicious Monster.
- Add support for point of view hat switches on joysticks.
Last month I gave a talk at Chicago Cocoaheads about Core Image. I've finally gotten around to posting the slides and sample code. The slides are probably not that useful unless you were there, but the code could be helpful as a starting point for learning Core Image. The example pictures are of my cat being all cute.

