Life & Technology

November 7, 2008

Fictionaut @ Rice Alliance Web 2.0 Forum

On Decem­ber 11th, 2008 I’ll be giving a ninety second pitch for Fic­tio­naut at the 6th Annual I.T. & Web 2.0 Ven­ture Forum held at Rice University.

September 25, 2008

Processing, cylinder-tree redone

I bor­rowed Samuel Bravo Silva’s excel­lent “cylinder_​tree” sketch and ported it to my native GL frame­work (called CBGame­works, soon to be released). Down­load Octopus.zip (51KB) (seen above). Keys ESDF move the camera. R peds upward. L tog­gles light­ing, off by default.

Source code (73KB) is avail­able for down­load, bun­dled with an undoc­u­mented and symbol-​stripped ver­sion of my CBGame­works library.

It’s truly amaz­ing what Ben Fry’s little frame­work has done to the demo scene in the past two years. Despite having made no real tech­ni­cal achieve­ment, Pro­cess­ing has become the de-​facto engine for inter­ac­tive art — exhibit­ing itself in gal­leries, on mag­a­zine covers, and all over the inter­net. Its suc­cess lies in its sim­plic­ity, its ele­gance — the shared value among artists and pro­gram­mers that con­nects both sides of the brain. And while it’s true that more pow­er­ful tools are avail­able, noth­ing else comes with such a clear method­ol­ogy, exten­si­ble design, and fanat­i­cal community.

Check out the pro­cess­ing group on Vimeo. Stun­ning. The top two pro­duc­ers, in my opin­ion, are Marius Watz (watz) and Robert Hodgin (flight404) of The Bar­bar­ian Group.

September 11, 2008

Radiohead’s city street

Available to down­load from Google is a small part of the data set from Radiohead’s recent House of Cards music video, shot entirely with­out cam­eras — just LIDAR and 3D cap­ture. Part of the idea is that fans will be able to remix the “footage” or mash it up in some way.

This is tremen­dously cool and very thought­ful of Radio­head to copy­left this part of their work.

Unfor­tu­nately Google or Radio­head has only pro­vided a one minute sample of the ani­ma­tion data, which isn’t much to work with. Of the 14,000 data down­loads and count­ing, I think this prob­a­bly explains why no one has come up with any­thing too strik­ing on the YouTube Remix Group.

Still, I grabbed the data and got to work. First step: better tools. Per­son­ally I feel the Pro­cess­ing code is just too slow and painful to work with. OpenGL really needs to be run through native code.

So the first app I wrote is a Obj-C based first-​person browser of the city street land­scape (which includes 1.3 mil­lion ver­tices). It’s intel Mac-​only and com­pletely untested, but if you’re daring it might be fun to play with. It takes a couple sec­onds to load all the points, but then runs sur­pris­ingly fast. I get 30fps on my first-​generation Mac­Book Pro.

hoc-teaser.png

You can down­load it here (21.6MB):
http://​files.​car​son​baker.​org/​h​o​c​/​H​O​C​-​C​i​t​y​S​c​e​n​e​V​i​e​w​e​r.zip

Or watch a quick demon­stra­tion on YouTube.

Two more apps are on their way. One just dis­plays the other land­scape; the other is a facial ani­ma­tion viewer of Thom. These projects are lay­ered on top of a custom OpenGL threaded graph­ics frame­work I built four years ago — just some­thing that comes in handy from time to time. In a way it has kind of evolved into its own mini-​version of Pro­cess­ing, with­out the per­for­mance penalties.

So, what about source code? Well, if Radio­head releases the entire data set then I’ll post sources for every­thing, includ­ing my graph­ics frame­work and the client code. I don’t know how hard it is to pre­pare the data, but I don’t think that’s too unrea­son­able of an idea. I think it’s win-​win — more people could put together better mon­tages with a more capa­ble tool.

If Google decides to release more of the data, one thing I sug­gested is not dis­trib­ut­ing the vertex points as CSV data. It makes it much bigger to down­load and slower to parse. Why CSV anyway? Hope­fully people aren’t open­ing this stuff up in Excel. Save it as binary! We can handle it. Here’s some code to do it:

http://​files.​car​son​baker.​org/​h​o​c​/​c​s​v​_​t​o​_​b​i​n​a​r​y​.​c.txt

Also — for anyone that might know:

It’s not clear to me how the Geo­met­ric Infor­mat­ics cap­ture hard­ware works. What’s the tech­nol­ogy behind it? How much does their GeoVideo system cost? I’m having a hard time find­ing this out.

August 25, 2008

Thom Yorke orbit

Watch the above video in high-​definition on Vimeo.

Source code is avail­able (1.5MB):
http://​car​son​baker.​org/​w​p​-​c​o​n​t​e​n​t​/​u​p​l​o​a​d​s​/​2​0​0​8​/​0​7​/​t​h​o​m.zip

The point data set is not included. Down­load it from the Google project site.

June 23, 2008

Time Machine on Linux

tux on a time machineRecently after switch­ing from Mac OS X to Debian, I found I needed to restore a couple files from the Time Machine backup that I kept. The drive works just fine as an HFS+ mount, but I couldn’t figure out how to retrieve any­thing within. When Google didn’t yield the answer, I began to explore on my own. Turns out Apple does a couple slick things with the file system to make incre­men­tal back­ups work.

So for anyone that needs to access their Time Machine from some­thing other than its asso­ci­ated Mac, here’s how you do it:

Mount the drive. On linux it should auto­mount if you have gnome-volume-manager installed. If you don’t see it in /media then run nautilus and check the desk­top. Still don’t see it? Read man mount. And then don’t forget the -t hfsplus flag.

Change direc­tory. My mount point is /media/Time Machine/. Within that path I find the direc­tory Backups.backupdb/. This rep­re­sents the direc­tory layout of your backup system. Inside that direc­tory is the name of your disk. Inside that are fold­ers labeled with dates cor­re­spond­ing to each incre­men­tal backup that was made. Pick the one you want, or choose the Latest sym­link. For exam­ple, my path is now:

/media/Time Machine/Backups.backupdb/Drive\ 1/2008-06-05-073745

Find your file’s folder. Within that path is a com­plete rep­re­sen­ta­tion of your filesys­tem. Nav­i­gate to the loca­tion of your file. If it’s not too big or nested too deep, it may be plainly vis­i­ble. How­ever there’s a good chance that its parent direc­tory doesn’t exist. Instead you’ll see a zero-​byte file for the parent that takes its name and acts as a pointer. Run ls -l and take note of the first num­bered column. Example:

...
-r--r--r-- 2155704 root 5791966       0 2007-06-25 02:54 Wallpaper
-r--r--r-- 2155725 root 5791967       0 2007-06-25 02:54 Web-Identity
-r--r--r-- 5441953 root 5791968       0 2007-06-25 02:54 Windows
-r--r--r-- 5511926 root 5791969       0 2007-06-25 02:54 Work

After the per­mis­sions you’ll see the direc­tory number that typ­i­cally refers to the number of direc­to­ries within that folder. For a file it should always be 1. Here it is not. What Apple has done is adjust the infor­ma­tion in this file’s inode to use it as a pointer to the direc­tory that con­tains the actual file. That way mul­ti­ple revi­sions of the same drive can coex­ist with­out dupli­cat­ing data.

Find the data. So in my case I want to grab some­thing out of the Wallpaper folder. First I make a note of the direc­tory number, 2155704 and then cd /media/Time Machine/.HFS+ Private Directory Data. This is where the data really lives. From there just cd dir_2155704 and voilà!