Friday, December 28, 2007

Travelogue: The Move To Osaka

Weird, many people think I'm already in Japan. Anyway, It's T-Minus 7 hours before my first plane takes off, so here's a liveblog of my departure from Adelaide, Australia to Osaka, Japan. Check back often, I'll keep updating.

Friday, 28.12.2007
23:16 - I'm alone at the ETC, so iTunes is cranked up. I'm ripping Clone High for Rob, and trying to fit all my crap into my two large suitcases and two carry-on bags. I have about 50kg of stuff. This will not end well.

Saturday, 29.12.2007
4:21 - Well, it didn't end too poorly. My luggage is quite heavy, but acceptable. I'm all packed up, ready to call a cab and leave the ETC. Man, I really hope I don't lock myself out this time.

6:35 - Sitting in the Adelaide airport, waiting to board the plane. Beautiful sunrise as I sit here. Also, holy crap that was an expensive charge for overweight baggage: over A$300! Oh well, it had to be done, and wasn't much more expensive than the Australia Post would have been. Here's hoping the wine makes it through the trip!

22:27 - Well, that was a boring travelogue; no Internet access anywhere. *sigh* I'm in Japan now! Woo!

Tuesday, December 18, 2007

Fixing Leopard's .dylib Problem With Universal MacPorts

Apparently, Mac OS X Leopard has drastically altered the way its linker works. The Ruby community is running into problems installing gems, but this change extends beyond interpreted language modules, and some people are getting really irate. I ran into this stuff head-first today while trying to make a program building off of XNJB.

I'm building an Automator action deriving from XNJB, but for the life of me I couldn't finish compiling; the linker insisted that libiconv was not defining the proper symbols. Despite libiconv being in both the OS X 10.4u and 10.5 SDKs, as well as MacPorts, the program just would not link.

If you tell Xcode to only compile for your architecture, things work out alright. But what if you want to distribute your app? Isn't that what Universal Binaries are all about? Well, apparently, the real problem with Leopard is some complicated gcc/linker mojo (something about the way Leopard resolves .dylib locations), but it's easy enough to workaround if you link to MacPorts versions of your libraries; just recompile your ports as Universal Binaries. For me, I had to recompile several:

sudo port deactivate libiconv zlib libxml2 libxslt jpeg tiff libpng

sudo install libiconv zlib libxml2 libxslt jpeg tiff libpng +universal

Ugh, MacPorts needs some common nomenclature. (Yes, I know most of that isn't their fault.) Once those were installed, and Xcode was instructed to look in /opt/local/lib for libraries, everything compiled (to a UB!) just fine. If you've got this problem, hopefully this helps!

Maybe I can use this to finish that OS X build of Panda3D.....

Sunday, December 16, 2007

StreetSmarts Public Release

A really long time ago I planned on open-sourcing some of my stuff. "Some of my stuff" ended up being "none of my stuff," because I was just too damned lazy to clean it up.

No longer! I found out the code to StreetSmarts, my file renamer, is pretty cross-platform if one is inclined to use Mono on MacOS or Linux. So, I finished cleaning up the code, figured out what command lines would compile StreetSmarts in Linux and OS X, and VIOLA, now I've got a project up on Google Code.

You can give it a whirl, if you've got files that need renaming. Just head to http://streetsmarts.googlecode.com, download the version that's appropriate for your system (or checkout/compile from source), and have at you!

Are there simpler ways to do mass file renaming? Hell yes. Still, I'm happy to have produced something relatively interesting and open-sourced it.