Archive for October, 2005

The Singularity … Chilling Stuff

Two recent podcasts from the Accelerating Change 2005 conference really gave me a chill. Check out Verner Vinge’s keynote presentation, and Moira Gunn’s interview with Ray Kurweil.

So what’s so scary here? Here’s wikipedia’s definition of Technological Singularity:

In future studies, a technological singularity (also referred to as just the Singularity) is a predicted future event when technological progress and societal change accelerate due to the advent of superhuman intelligence, changing our environment beyond the ability of pre-Singularity humans to comprehend or reliably predict.

Vinge and Kurzweil are credible futurists, and based on the incredible pace at which computer technology is emerging, both state that a Technological Singularity is a real possibility during our lifetime. Vinge talks about both “soft takeoff” and “hard takeoff” singularities; in the latter, computer intelligence could transcend human intelligence in a matter of days or hours.

So, you wake up one morning and the world has changed in ways we can no longer understand; we wouldn’t even be able to understand if the freshly-emerged intelligence attempted to explain it to us. Think of trying to explain your car to a snail: that is how far beyond our comprehension the new intelligence could be.

To me, this is scary stuff … coming from credible sources. Kurzweil has a new book on the subject.

Vadim Likes XT for XSLT …

Based on a request we got from Upayavira, Vadim ran benchmarks on the XT XSLT processor using the same test suite we used for GT2005, and was favorably impressed. XT performed as well as XSLTC, while using a bit more memory, but still less than all the other contenders benchmarked to date. We will include XT results in our final writeup of the benchmarks (not yet completed, still working on Gregor testing.)

Vadim made a comment that XT might become his new favorite XSLT processor, which surprised me because (a) Vadim is a big proponent of All Things Apache and (b) XT does consume more memory than XSLTC. I asked him about this, and here’s how he responded (direct from an e-mail):

Major one is overall system complexity. The less count of moving parts, the better. XSLTC:

  • Requires byte code engineering: BCEL library dependency.
  • Requires templates to be less than 64Kb: Not sure if it is fixed in XSLTC, but possible to fix.
  • Slow re-loading: Bytecode generation & loading is slower than parsing into Templates object.
    • Side effects: Generated classes will utilize some non-heap memory.
  • ClassLoaders had to be re-loaded in order to re-load XSLT. Sometimes it is PITA to reload a ClassLoader …
    • Side effects: Re-loading of XSLT causes HotSpot to start from scratch.
  • Size: Xalan+BCEL = 3.2Mb; XT = 0.5Mb

XSLTC is not bad, actually, but if its performance improvements are only marginal (as shown), then I prefer XT.

I’m not completely sold yet; XT is currently a one-person project, not much is happening on new development, and we haven’t yet given it a heavy workout on a large set of XSLTs to see what breaks. Regardless, quite interesting …

Podcasting Hands-on

Yes, I am podcasting-obsessed. Not content to simply listen, I decided I had to experience the joy of creating a podcast hands-on. The Cocoon GetTogether 2005 event held in Amsterdam Oct. 5th through the 7th presented a great opportunity, a genuine need. Last year’s GetTogether sessions were videotaped with the intent of publishing the videos on-line, but because of the comparatively high effort involved in producing and publishing video, they never made it onto the web.

With a burning desire to get hands-on podcasting experience, I volunteered on the cocoon-dev list to capture and publish audio for this year’s GetTogether. A few people expressed a desire for video instead of audio, but most shared my keep-it-simple-and-make-it-happen perspective. Another factor is time-shifting: a key benefit of podcasting is its ability to time-shift into any timeslot where our ears and mind are available. Video is more limited for time-shifting, incompatible with a number of timeshifting opportunities such as drive time, workout time, etc.

Choosing the Hardware

The first decision was what hardware to use for audio capture. I had two separate audio capture needs: first, to capture audio from the GT2005 sessions, which meant connecting into whatver A/V equipment they had at the NEMO Science Museum where GT2005 was being held; and second, to capture audio from interviews, ideally with two microphones on separate recording channels. Plugging a microphone into the jack on the laptop was definitely not going to cut it.

My first thought was to use my home music studio setup, which features Pro Tools and Reason software, Mbox hardware, various studio microphones, etc., which would be more than adequate quality-wise for recording and producing podcast audio. The problem is, this setup isn’t very portable, and furthermore my kids use the studio a lot and would not be pleased to have it disappear for a week while I was in Amsterdam. Finally, my current laptop is pretty lame, and I wasn’t sure it could even run Pro Tools, which is notoriously finicky about hardware and OS configuration.

The best portable platform for pro-quality podcasting is probably a PowerBook paired with a FireWire-based recording interface like a PreSonus Firepod; and in fact I’ve been looking for an excuse to buy a PowerBook … Unfortunately, the timing was really bad, with Apple overdue to release a new PowerBook line. (They’re still overdue!)

MicrotrackI decided to make a trip to Guitar Center, a major US music chain with a strong professional audio department. When I walked in the door, I was leaning towards buying the latest Mbox or maybe a Firepod; but then the pro-audio guy showed me the just-released M-AUDIO MicroTrack 24/96.

Just a tad larger than a full-size iPod, the MicroTrack captures professional-quality audio in WAV or MP3 format. It has two 1/4″ TRS jacks for stereo recording using pro-grade microphones; with the right cable you can connect XLR-cabled mics, even condenser mics that require “phantom power.” These same inputs can connect to the line output of a mixer. Recordings are saved directly on Compact Flash storage; I bought a 2GB card, which has a 30+ hour capacity when recording to MP3, or 3+ hours to WAV. The MicroTrack has a USB 2 port, and when you it plug it in, it looks like a USB hard drive. It looked pretty much perfect.

I already had one Audix OM-2 mic, so I bought a second one, a couple of table-top mic stands, the right cables, and a whole raft of adapters so that I could connect to pretty much any A/V hardware that they might have at the NEMO. The whole setup fit into one compartment in my laptop bag—most of the space was taken up by cables and microphones.

On-site in Amsterdam

Podcasting Interview SetupThe MicroTrack worked like a charm. I did interviews during the Hackathon on October 5th and 6th; it is ironic that a single microphone is larger and heavier than the MicroTrack!

Also on the 6th, Arjé Cahn (hippo.nl) and I travelled by bicycle over to the NEMO to check out their A/V setup in their theater where the next day’s presentations would take place. The theater was nicely equipped with a full pro sound system including a Mackie mixer, so interfacing was a snap.

Setup at the NEMO Museum On the day of the GetTogether itself, October 7th, it was just a matter of plugging in, pushing the record button, and keeping an eye on the input level displayed on the MicroTrack’s LCD display.

On-the-fly Production

My original plan was to capture audio files in large but lossless WAV format, bring them back to Chicago with me, and do post-production using Pro Tools. But in Amsterdam, I decided to switch to MP3 recording, because the WAV files were pretty unwieldy—a single 20 minute interview could generate a 150MB file, which was then slow to copy or FTP around. I also downloaded and installed Audacity, an open source audio recording and editing tool, to see if I could do the audio post-production right there in Amsterdam.

Editing On-the-fly
Photo by Steven Noels

Audacity worked well overall (see one possible caveat below) and enabled me to edit the audio immediately as sessions were recorded. We nearly achieved same-day publishing, but the NEMO’s network crapped out at the last minute on Friday and I didn’t get things uploaded to the GT2005 site until Sunday.

John Berry pulled together the podcast’s RSS feed, and I was able to test subscribing under iTunes and synch with my iPod. The result looked and sounded good; and as they say on TWIT, the podcast was “in the can.”

Lessons Learned

  • Interviews require careful preparation. I tried to “wing it” but soon realized that both I and the person being interviewed needed to understand what the questions were going to be, in advance, otherwise it would be very easy to stumble around, run into unhappy subjects, etc.
  • Audacity downsampling troubles. Somehow I managed to introduce some voice distortion when I took the original MP3 files (captured at 128K) and downsampled them to 64K. This might be a limitation of using MP3 (rather than WAV) as my source format; or of Audacity; or just a problem with how I went about it. I haven’t had time to diagnose yet, but plan to.
  • Gain is key, and MP3Gain is nice. I learned that getting nice fat gain on your MP3s is important, and that the MP3s coming out of the Microtrack tended to be low-gain. I found another piece of open source software called MP3Gain that does a nice job fattening up the gain.
  • Don’t forget to set the ID3 tags on the MP3s. When I compared our podcast with those produced by IT Conversations inside iTunes, I noticed that theirs had Artist listed while ours didn’t. At first I thought this information was being pulled from the RSS feed, but later determined it actually comes from the ID3 tags in the MP3 files themselves. Next time I’ll remember to set those …
  • Consider capturing WAV versus MP3. I have great respect for Doug Kaye at IT Conversations, and apparently they capture audio as WAV rather than MP3. I’m still not sure if this is a must; it might even be an artifact of the devices and software normally used to capture audio. But next time around I’ll definitely rethink WAV versus MP3 recording
  • iPod earbuds are NOT for audio editing. Actually, they’re not really that good for anything…. Get some good quality headphones!

Hooked on Podcasts

When I bought an iPod mini several months ago, I had in mind listening to technology sessions like those on IT Conversations. At the time, I didn’t fully grasp the concept of podcasting; and for that matter Apple’s iTunes 4 didn’t directly support podcasts. So I started out by downloading MP3s manually from the IT Conversations site, and importing them into iTunes.

Then Apple released iTunes 5, which allowed me to subscribe directly to any podcast RSS feed. A podcast feed is very similar to a standard RSS news feed, the difference being a new <enclosure> element that identifies MP3 audio enclosures for each feed item. iTunes periodically checks my subscribed feeds for new audio content, downloads whatever it finds, and then automatically pushes the new content to my iPod whenever I synch. Apple also extended the iTunes Music Store to track an extensive, categorized list of available podcasts (virtually all are free); subscribing from the Music Store is a single click process. So starting with iTunes 5, getting exactly the audio content I want onto my iPod became completely automatic and painless.

So what’s the big deal? As one of the leaders at Agile, it is critical that I stay current on trends in web technology. Before podcasting, I would use precious “on-computer, on-line” time to skim RSS feeds, blogs, the del.icio.us popular page, slashdot, and so on. Given the scarcity of my on-computer, on-line time, I managed maybe 10 minutes a day staying current.

When iTunes 5 arrived and the effort involved in acquiring podcast content dropped essentially to zero, my approach to staying current changed radically, thanks to “time-shifting.” To receive the knowledge contained in a podcast, all I need is my mind and my iPod—no hands, no eyes, no computer, no internet connection. Drive time, lunchtime, workout time, all of those slices of in-between time can now be part of my staying-current time. These days, I find an average of 30 to 60 minutes a day to listen to podcasts, without consuming any of my precious on-computer, on-line time. This represents a 300% to 600% increase in getting-current time versus the old routine.

This quantity benefit, as huge as it is, is overshadowed by the quality factor. The knowledge I absorb by listening to a podcast is an order of magnitude deeper than what I got from web skimming. I find that even a careful read of a Paul Graham article can’t compare with hearing a Paul Graham podcast. Having listened to Paul, I feel like I know him, that I understand where he’s coming from and how he thinks.

A recent example: I have been fascinated by the Open Laszlo open source project. I’ve read a lot about it, played with the demos, and talked about it with others at Agile. But still my knowledge was shallow—I really didn’t fully “get it.” Then I listened to a podcast interview with David Temkin, and I knew—what Open Laszlo is, how it came about, how it relates to Flash, why we might want to use it to create rich internet applications (RIAs), how the RIA space compares with AJAX, what Laszlo Systems’ business model is, and so on.

Steve Wozniak. Brewster Kahle. John Seely Brown. Larry Lessig. Bill Joy. Guido van Rossum. Tim O’Reilly. All delivered daily to my iPod, up-close and personal, with a richness far surpassing the written word.

Here’s what I subscribe to at the moment:

  • IT Conversations: Simply the best, Doug Kaye and company have been around the longest (pre-dating podcasting with web audio content) and for me, their content hits the absolute center of my staying-current target
  • This Week In Technology: Well produced and fun, though a little light on useful content at times
  • PBS’s Nerd TV with Robert X. Cringley: Very new, some great in-depth interviews

Cocoon GetTogether 2005 Podcast

The Podcast for GT2005 is now available. The feed comprises each of the Friday sessions as well as three individual interviews conducted during the Hackathon.

Here’s how you subscribe to the feed in Apple iTunes:

  • Upgrade to iTunes 5 or 6
  • In iTunes, on the top menu, click Advanced / Subscribe to Podcast
  • Paste the feed URL http://agilepartners.com/gt2005.xml into the URL field and click OK

iTunes will then download the newest entry in the feed (which happens to be Nico’s presentation), and display the remaining entries with a “Get” button next to them; just push Get next to any of the presentations you want audio for, and iTunes will grab it for you. This content will then automatically show up on your iPod the next time you update.

Presentation PDFs and individual audio files can be found on the GT 2005 slides and recordings page.

Photos from the event are on Flickr at http://www.flickr.com/groups/cocoongt2005/

You can learn more about GT2005 at http://www.cocoongt.org/GT2005-Home.html