All A-Twitter Over Podcasting

V. got me back into podcasts by suggesting an episode of This WEEK in TECH. Another TWiT, All A-Twitter, got me curious enough about Twitter to spend my evening hacking it into my blog. As if I needed another technological obsession!

Last year’s flirtation with podcasts didn’t last; too many subscriptions and an unexpectedly clunky user experience doomed it after a few weeks. My subscription list is shorter this time. The iTunes/iPods experience is better if still a little clunky. What’s really making this affair last is boredom with my overplayed music collection and an eighth-inch in-dash jack.

My car, current love of my life, a 2006 Royal Blue Pearl Honda Civic Ex, has its own iPod. I got a black nano just for driving since I was too lazy to figure out how to use playlists with MusicLink, Honda’s iPod integration, on my old iPod. The podwide song or album shuffles would bring up some really disconcerting musical combinations, so it was easier to just have another iPod with consistent music that I could leave in car–especially since the MusicLink cable is in the glovebox and can be a real hassle to manipulate.

The commute would be perfect for podcasts, but my problems with music and MusicLink would be even more annoying with podcasts. So I started listening to podcasts at work, the lesser of two evils since conversation can be distracting but is better than being annoying. I listen to music at work to shut out things like my neighbor’s teleconference about the Siberian office’s PBX problems or chit-chat about last night’s game. An NPR program can be even more distracting because it’s actually interesting.

How could Honda get MusicLink so wrong when everything else about my Civic felt custom-built for me? It turns out that Honda did a better job designing MusicLink than documenting it. My one disappointment with the Civic was really just my own impatience at being lost in translation–a very poor first translation of the MusicLink manual. Hoping that Honda had an upgrade for MusicLink that might support podcasting led me to a fresh PDF that now has me using playlists and artist searches without too much digital-voice-induced annoyance. This Civic is close to eclipsing my other favorites–my HP48 calculator, my Amiga, and even my 1991 Midnight Blue Honda CRX DX. *sigh* It may be time to name it. But I digress.

I got halfway through a particularly fascinating Fresh Air at work yesterday, but I had a meeting with the GC and couldn’t just sit at my desk twirling the mouse until it ended. I decided to see what plugging my old iPod into the 1/8″ jack on the dashboard would do. Of course it did exactly the right thing! The music nano paused when I attached the podcast iPod! I could have my podcasts and my music without unwanted fidgeting! OK, go ahead and put me in the easily amused/impressed category.

This reminds me of my first fling with NPR, during my radical minimalism phase: For a year I didn’t watch television, turned off the ringer on my phone, and had three or less pieces of furniture per room. Radical minimalism gave me one of my most productive years, but it also my most antisocial year because of how much people rely on idle chatter about TV with strangers and casual acquaintances to break the ice. When you hate sports and don’t watch TV, there’s only the weather and that’s thirty seconds tops.

This was when I first succumbed to The Driveway Effect. My commute was forty minutes shorter than the hour-long programs running on NPR when I was on the road. It took TBS showing Babylon 5 daily for months, moving downtown coerced by A., and going freelance to moderate my minimalism. I gradually lost track of NPR as my schedule changed and other things clamored for my attention.

Now podcasts and an eighth inch jack are doing for NPR what TiVo and my LAN did for TV. I get what I want when I want it. This may be a love that lasts–and may even outlast the broadcasting format that birthed it.

Beer Tasting with Michael Jackson

No, it’s not that Michael Jackson. It’s this one:

For seventeen years this Brit has been visiting our shores and educating people about beer. This year the theme was extreme beer, something that’s become easier to find here in the States than in Europe, especially in the Philadelphia area. We’ve become home to some of the newest, best microbrews as well as the oldest brewery in America. This was my first year and I deeply regret missing the previous sixteen.

The event started out with a guided tasting of a broad selection of beers, mostly local but a few imports, from the extremely hopped up to the extremely alcoholic, from crystal clear to muddy dark, from malty to fruity. Two local brews garnered the highest ratings, and all but one were very drinkable. (I’ve found the beer equivalent of fried shrimp heads. Bleh!) I’ll blog about the beers themselves another time.

Mister Jackson is a colorful character with lots of great stories about beer and its evolution from the cradle of civilization 5,000 years ago to the Cradle of Liberty today. He alluded to some long-standing involvement by Penn’s Antiquities department; Dogfish Head’s Midas Touch came out of a Penn professor’s investigation of Minoan artifacts for instance. Dogfish Head’s founder, Sam Calagione, was on stage with Mister Jackson and helped keep the guided tasting on track; an improvement over previous years according to MB because of Mister Jackson’s tangential tendencies.

Afterwards came two hours of open tasting with several dozen booths and about a hundred beers. So much beer, so little time! I found a handful of amazing beers and surprisingly a few of them were fruity wheat beers. Generally I prefer beers that must be chewed, but these are well-balanced and refreshing; they will definitely grace my refrigerator during summer. My memory’s a little hazy towards the end–two hours of sampling beer will do that–but I did take notes. Hopefully they’re readable!

This will definitely become a regular event for me, and the organizers of the tasting are talking about expanding it from a one-day event to a week-long festival. Looks like I’ll have to block off another week for vacation along with the film festival.

— blogged from the Cosi at 12th and Walnut

Moved In

I have finally moved into my new (and hopefully last) home after five months of renovation madness and two months in temporary housing.

My first night (20 Feb) was a late one; I unpacked boxes and cleaned until about 2am, then had to get some project-related email out. President’s Day weekend was no vacation, and my first night was doubly strange with my familiar things unpacked in an unfamiliar setting and the setting itself transforming into a home from a hollowed-out shell with construction debris everywhere. There’s enough finished space for me to exist but leave the the contractors enough room to work because …

The renovations are not done. The furnished apartment had me hemmoraging green and living like a refugee, my possessions a distant memory. Now I just feel like I’m living in a warzone. At least it’s my warzone with victory on the horizon. The first day of Spring will likely see me settled.

I’m deliberating not taking any more pictures until it’s done; the pain and suffering in between has left enough mental scars that I don’t need physical or digital reminders. This has been an exhausting, all-consuming project with a budget blown to smithereens due to three things: Upgrading materials and technology, seat-of-the-pants design/changes, and working on an accelerating schedule. These were acceptable trade-offs given the horror stories I’ve heard of renovations running more than a year with a mambo line of contractors. It looks like we’ll make it through without me defenestrating contractors, designers, or myself–tempting as 31 floors makes it.

Signing off from my new home. Huzzah!

The Least of Many Evils

I have a production install this Friday, and I’m trying to put together everything for the turnover. One problem with Documentum’s Application Builder (DAB) tool is that it doesn’t install everything–especially permission sets–that I’m using heavily for this app. So I’ve spent the last few work-days looking at various ways to manage the move from dev to qa to prod. I’ve done this a bunch of different ways over the years, and no approach has been completely satisfying.

  • API/DQL Scripts — Documentum comes with tools like isql and sqlplus for interactive sessions using a SQL-like language or the underlying DMCL API. Both tools will take files as input, and every platform has these tools. The good is offset by the bad–no control structures. It’s a matter of faith (and luck) that the scripts will do the right thing when run on a partially-configured system.
  • Real Programs — I’ve written some smart programs to assess the state of the docbase and do the right thing. Languages like perl and python can make for some sophisticated scripts, the latter even using the Java API (DFC) within Jython. Greater control comes at the cost of greater complexity, a good thing when there’s time to test. Not having that, I’m reluctant to go into full-blown development mode.
  • Manual Creation — The ultimate fallback position is to print out my spreadsheets and build everything outside the docapp first in the administrator tool. It allows me to be the ultimate control structure which in theory needs minimal debugging. I don’t really want to spend my entire Friday night with a flaky web application and a docbase that’s had more work with less positive effect than Joan Rivers. The upside is I’m less likely to need that special shampoo after this kind of Friday night date.
  • Dump and Load — Another tool can serialize (or in python-speak pickle) any Documentum object and even pulls out all related objects for reinstantiating in context. It’s not good with large docbases, and it has a history of bad behavior when running over Sybase. Worst of all, it often brings too much context; all kinds of other things will come along for the ride that will require removing by one of the other methods elaborated here.
  • dm_procedure — I’m not a docapp alchemist, but I do know that it can run snippets of client code called dm_procedures before and after various stages of installing a docapp. Unlike every other approach, this one integrates the execution into installing the docapp. I like the turn-key approach since ideally I should be handing this over to an application support group rather than doing it myself. That either requires me documenting the pants off the install or having something simple and mostly foolproof. The enormous downside is that these code snippets are done in docbasic, a dumbed-down version of Visual Basic that includes functions to use the DMCL API. Those functions take string arguments that are concatenations of method names, identifiers for sessions and objects, and plenty of arguments. Doing DMCL in perl is painless with variables embedded in strings, but in docbasic it’s a real pain

I’ve done all of these things before, usually with more time and never with wonderful results. I refuse to just choose the least of many evils though; before calling it a day I started looking into calling the Java API (DFC) from within docbasic.

I’m not a huge fan of the DFC; it has some of the things I hate about Java in spades: unwieldy long names, class and method proliferation, and it attempts to be helpful to beginners at the expense of the flexibilty experts need. There are a few good things about DFC programming; an IDE like Eclipse brings some nice debugging and program-by-numbers features like code completion. It’s also getting harder and harder to find other API programmers, so the DFC has become my Lingua Franca with other, newer Documentum people.

Of course the IDE stuff doesn’t work for Java embedded into docbasic code. I’ll take a few hours tomorrow to see if docbasic takes some of the drudge out of DFC programming like Jython does, add a few generic dm_procedure/docbasic/DFC templates to my library, and at least know why never to do something like this again if it doesn’t work.


My 42nd year didn’t start well. The day itself had all the drama of HGTV meets Lifetime:

Episode 15340
12:00am JKTV 1440min TV-PG
Renovations continue to fall behind schedule causing friction with the general contractor. New friends, virtual and otherwise, appear as John’s personal life unpauses for a few hours. A night out on the town ends when a budding romantic relationship becomes more of an entanglement.

The weekend was more HBO than Lifetime, but you’ll have to wait for the DVD for the details. One thing I will share is the restaurant where I met V&N. Giwa is a great place for tasty Korean “fast food”; it’s on Sansom between 16th and 17th Streets. Everything was good including the kimchi which was hot but scaled back for an American palette. One word of warning though: It’s very small and our meal was punctuated with blasts of cold each time the door opened.


Oh no! I’ve incremented myself again!

I blog in honor of my 42nd birthday today–as good an excuse as any.

I meant to restart the blog with the new year after months (years?) of silence; deleting spam on my old blog with my old provider became a full-time job that didn’t pay the bills. A new provider and a fresh install of WordPress should take care of that!

I held off since the big news I wanted to deliver with that first post, that I’d finally moved into my new home, didn’t happen. After weeks of rushing the contractors to finish the renovations by my birthday, I still have to report no joy.

So no more waiting of birthdays, move-ins, or arbirtrary calendar dates! With this post, my blog is back in business. Stay tuned for more to come about life, liberty, and the pursuit of happiness from the war zone that is my home.

The best way to stay tuned is bookmarking my RSS feed. RSS, it’s a Good Thing(tm).