Stewart Smith — Jed’s Other Poem

Jed’s Other Poem
(Beautiful Ground)
music video

Music video for “Jed’s Other Poem (Beautiful Ground)”—a song by indie rockers Grandaddy, from their sophomore record The Sophtware Slump. Programmed in Applesoft BASIC on a vintage 1979 Apple ]⁠[⁠+ computer, this is the world’s first open-source music video.

Jeddy⁠-⁠3, a humanoid robot built from spare parts, is a recurring character on Grandaddy’s second studio album, The Sophtware Slump (2000). Over time Jed’s creators, distracted by their subsequent inventions, lose interest in him. Left alone and in a fit of despair, the gloomy Jed drinks himself into a permanent shutdown. According to Jason Lytle’s lyrics, before Jed’s system crashed he would write poems. Poems for no one. This song, “Jed’s Other Poem”, is one of those poems; authored by—and now serving as an elegy for—the neglected and departed Jeddy⁠-⁠3.

My music video for Grandaddy’s song “Jed’s Other Poem.” This is the second cut (hosted on Vimeo). The first cut (hosted on YouTube), regrettably clips off the closing lines “Test tones and failed clones and odd parts made you.” (Which one do you think was duplicated by more folks?)

Hardware nostalgia

I created the simple text-based animations by programming them in Applesoft BASIC on a vintage 1979 Apple ]⁠[⁠+ computer—a computer so primitive that it is only equipped with 48K of memory. (That’s orders of magnitude less than your smartphone.) It contains no hard drive, relying on previously formatted 5¼-inch floppy diskettes to boot up to a command prompt—the iconic blinking cursor. My particular model could only make use of majuscule (“uppercase”) letters, but expansion cards to enable minuscule (“lowercase”) letters were common in this machine’s heyday.

An Apple ]⁠[ is not a Macintosh; those hadn’t been created yet in 1979. Macintosh would be released half a decade later in 1984, and was the first home-use personal computer to feature a graphic user interface and mouse. (Recall that the slightly earlier Apple Lisa was targeted at the enterprise market rather than home consumers.) Meanwhile, this pre-Macintosh Apple ]⁠[ series relied on a keyboard and command line interface. While primitive graphics were possible, general operation of the machine was an exclusively text-mediated experience.

Hey, wait—that’s my computer! As seen in Res Magazine, volume 9 number 4 (Summer 2006); the cover featuring Michel Gondry. Note the missing V and B keys on the keyboard, which had broken off during the making of the Jed video. (That was also my Moog Prodigy and Commodore 64.)

Hey, wait—that’s my computer! As seen in Res Magazine, volume 9 number 4 (Summer 2006); the cover featuring Michel Gondry. Note the missing V and B keys on the keyboard, which had broken off during the making of the Jed video. (That was also my Moog Prodigy and Commodore 64.)

Choosing a vintage Apple to evince Jed’s final words was a nostalgic choice for me that also dovetailed neatly with Grandaddy’s “broken down technology” aesthetic. The Apple ]⁠[⁠+ was the computer of my childhood. I have a vague memory of interacting with one as a pre-schooler, but it was the anachronistic hand-me-down in late grammar school that stirred my blood with six colors. Although I was living years behind my peers with their colorful 486 machines running Windows 3, I was riding a bicycle for the mind. The years spent teaching myself how this system ticked by making my own simple games—and tearing apart others’ programs—laid a foundation for my future career in code and interface design. I had an emotional attachment to that particular blinking green cursor; it was the voice of an old friend.

Eventually my childhood machine, along with its manuals and library of diskettes, found a new family during a summer tag sale. Years later, in order to make this video I had to acquire a replacement via eBay. What a trip it was to reacquaint myself with this device. Programming on its keyboard was physically tiring as the keys are bulky with lengthy travel action and heavy resistance. (Be thankful for the decades of subtle keyboard evolution that we all take for granted today.) The Apple ]⁠[ series was the last Apple product designed primarily by Apple co-founder, Steve Wozniak, and as much as this video is a love letter to Grandaddy, it’s also a heartfelt hat tip to Woz who made this miracle machine possible.

Discovering Grandaddy

I created the Jed video as a hobby; my self-initiated nights-and-weekends project for spring and summer of 2005. But the seeds of Jed were planted a few years earlier. The Sophtware Slump album was released in the spring of 2000, the end of my freshman year at the University of Connecticut. That was the peak of Napster and its MP3 file sharing service. Myself and other Radiohead fans were idly combing peer-to-peer trading networks for anything that might be related to the upcoming Kid A record, (Radiohead’s long awaited followup to OK Computer). I was effectively retreading an old obsession I’d had in the lead up to OK Computer’s release; downloading rare or unreleased audio files to compile into a little collection for myself and friends. (See Hypoxia.) I wasn’t aware that Grandaddy even existed.

Grandaddy’s sophomore record, The Sophtware Slump (2000). Note the sticker that reads “Named one of the ten best records of the year that you didn’t hear—Spin Magazine, January 2001.” The water-damaged pages of this album booklet don’t fully open anymore, thanks to Hurricane Sandy.

Grandaddy’s sophomore record, The Sophtware Slump (2000). Note the sticker that reads “Named one of the ten best records of the year that you didn’t hear—Spin Magazine, January 2001.” The water-damaged pages of this album booklet don’t fully open anymore, thanks to Hurricane Sandy.

My introduction to Grandaddy came via their Sophtware Slump closing track “So You’ll Aim Toward the Sky” which was available on Napster, but mislabeled as an unreleased Radiohead rarity dubbed “Far away.” I was entranced by the song—and certain that it wasn’t Radiohead. I felt compelled to learn who had actually created and performed this magical track. Thankfully, I did eventually identify it, and in doing so introduced myself to the previously unknown world of Grandaddy. I absolutely fell in love with The Sophtware Slump. It became a late night staple while working on my student graphic design projects. I listened to the entire album end to end more times than is reasonable for sanity. If I were in a coma I’d still be able to sing every lyric. (In my mind, at least. I don’t think coma patients often sing aloud.) I was hooked. Fan for life.

Concept and production

There was a small motion graphics assignment (perhaps my Junior year?) to create a 30 second typographic animation using Macromedia Flash. (As I recall, the selection of text was left to our own choosing.) This assignment became my first sketch for a Jed’s Other Poem music video; animating some of the lyrics in monospace type and employing the blinking cursor to mark the beat. It serves as early documentation of the idea, but the aesthetics are off target. (There is one more digital precedent for this video in my repertoire and it comes from even earlier: high school. I coded a rudimentary text-driven animation of my own creation in QBasic. Perhaps I’ll unearth that someday, but it’s bad teenage heartache poetry; often best left interred.) Other than that, my main inspiration was the joy of handwriting out the lyrics to a song as you are listening to it; the just-in-time documentation as a form of expression itself.

I liked the idea of using a seemingly expressionless interface to espouse emotional lyrics. During that time in college I’d been making art in general that held a digital nostalgia; a throwback to my grammar school days playing with actual Apple ]⁠[s and old arcade games. But I would put this concept away for a few years, graduate from UConn, and move to Brooklyn, before picking it back up again. In early 2005 with an eBay-purchased authentic Apple ]⁠[⁠+ in hand, I was ready to reinvestigate this singing command line. The Apple model I received wasn’t quite as fancy as the one I’d played on as a kid; it had a generic screen rather than the original monochrome Apple display. There was no RAM expansion, modem, printer card, or minuscule character card. But it would do. I got to work experimenting.

Shooting the video

This wasn’t paid work—it wasn’t part of any day job. It was a renegade personal project. As such, I only made progress on it by squirreling away time alone on nights and weekends. After months of accumulating these little scraps of productivity, I was finally satisfied with the results—or perhaps just exhausted with the toil of it. I enlisted friends Jeff Bernier and JP Chirdon to help me capture the execution on video. That day happened to be Sunday, September 11th. It’d only been four years since the namesake terrorist attacks. From my bedroom in Williamsburg, Brooklyn we could step out the window onto the fire escape and climb the ladder up to the roof for a clear view of the ghostly tower lights that had become an annual memorial. It was an oddly incongruous visual and emotional backdrop to filming a quirky retro-computing music video for a song about robot.

My bedroom and workspace in Williamsburg, Brooklyn during the summer of 2005. An anti-Bush administration poster, CDs piled on a boombox speaker, iTunes, iPod, and that old Apple computer sitting on my cutting mat—right where the video would be shot two months later. The hand-drawn neuron surrounded by gibberish near the upper right of the photo is the firing equation for a McCulloch-Pitts artificial neuron. That same fake library book card above the monitor can be seen flapping in the close of the video. The window visible at left led out to the fire escape and up to the roof. Later I’d move to the front of the apartment and Mr. Ben Haynes would take over this back bedroom.

My bedroom and workspace in Williamsburg, Brooklyn during the summer of 2005. An anti-Bush administration poster, CDs piled on a boombox speaker, iTunes, iPod, and that old Apple computer sitting on my cutting mat—right where the video would be shot two months later. The hand-drawn neuron surrounded by gibberish near the upper right of the photo is the firing equation for a McCulloch-Pitts artificial neuron. That same fake library book card above the monitor can be seen flapping in the close of the video. The window visible at left led out to the fire escape and up to the roof. Later I’d move to the front of the apartment and Mr. Ben Haynes would take over this back bedroom.

It was evening when Jeff and JP arrived at my place. Darkness was convenient; it meant we didn’t have to black out my windows to have control of the lighting. I may have handed out some bottles of cold beer from the fridge. Jeff set up the tripod and camera as JP arranged the lamps. Once we were rolling I manually typed the RUN command to execute the code for the camera. At that point it was just a waiting game; letting the program play itself out. We could step out into the night air, make small talk and such; gazing west at those two vertical columns of light emerging from Manhattan’s Financial District. With a few takes in the can, it was off to Jeff’s nearby home and video editing system to add in the music and export the final video file. We were done before midnight and I posted the video to my website. (Sure, we cut and released the video on the 11th, but out of respect for the weight of that particular day, I consider Jed’s anniversary to be September 12th instead.)

Attribution


Reception

To say that my video “went over well” would be an understatement. But before we go any further, I want to express my full recognition that my video’s success hinged on what a beautiful song Jason Lytle and Grandaddy had created. Were it not for the music—which I of course had zero to do with—no one would have taken notice of my work. I am forever in debt to those gentlemen and their talents. (Please go purchase their music and catch a live show if you can.)

Home team support

I’d been working for David Reinfurt at his small Manhattan studio, O-R-G, but hadn’t mentioned my personal project while it was still in progress. Once it was done, however, I sheepishly brought it into the studio to share it with him. To my delight he enjoyed it—and better still, recommended I participate in an exhibition he was putting together for AIGA titled “Type,Write.” The catch was that the exhibition opened later that week! The simplest solution was to hand over the video file, rather than figure out logistics for displaying the vintage computer itself—particularly because I had no solution for keeping the live execution of the program synched with the music. The pre-compiled video would have to do.

Ephemera from AIGA’s “Type,Write” exhibition held in Boston, September 14–18th, 2005.

Ephemera from AIGA’s “Type,Write” exhibition held in Boston, September 14–18th, 2005.

As I reflect back on this moment, what an amazing little assembly of folks that I accidentally fell backwards into. (Thank you, David!) Years after this I’d share a studio space with Jürg Lehni in London. Within a decade or so I’d work on a virtual reality music video with Jonathan Puckey for LCD Soundsystem. This short list is full of friends and heroes. And it would be Jed’s first exhibition of many.

Going viral in 2005

I’d made this video purely as a form of expression. I hadn’t been commissioned, and I had no means or motive to profit off of it. I just felt strongly that this idea should exist in the world. (I hear this sentiment echoed from other creative folks—that some project in question wasn’t “their idea” but that the idea “found them” and so it had become their duty to actualize it. Nothing to do with assignments or commissions.) I’d hoped some people would notice; that it would be well received by a handful of mentors and peers. But I had no expectations beyond that. I was just a 23 year old with silly fixations, a nerdy toolset, and a means of sharing my creations online. It turns out that was enough.

What did it mean to “go viral” back in 2005? This was the dawning of “Web 2.0”, an era of wikis, folksonomies, and personal blogs. Social media as we know it today did not exist yet. Early personal publishing platforms like Blogger and LiveJournal were evolving into proto-social media sites like Friendster and MySpace—but all of these still had more in common with Geocities than Instagram (which wouldn’t exist for another five years). Flickr was blazing an interesting trail, but flamed out and stopped innovating shortly after achieving popularity. (Had it kept on its toes, Instagram would never have taken root a decade later.) Facebook did exist, but it was “TheFacebook”, only 18 months old, and only available to Harvard students—so it may as well not have existed. Twitter, Instagram, and TikTok were still just twinkles in the eyes of their respective developers. (Anyone remember MoPort.org—the “mobile reporting” platform? It was Twitter before Twitter—and I’m referring to when Twitter was a magical force for good rather than “X marks the fascist.”)

So where does one even post a video? YouTube had only been live for five months and was a small, independent company; its acquisition by Google still over a year away. I’d never heard of it. Meanwhile, they already had their own original video service, Google Video—but I’d never heard of that either. So I went for the self-publishing option: embedding a QuickTime video file into my own personal portfolio website. There was no way to “like” the video, to “subscribe” to my simple portfolio, or repost the movie itself. It’s also of note that iPhone (and Android) did not exist yet—so all of this reading, clicking, and watching had to happen on a desktop (or laptop) machine. To watch my video someone had to be sat down, reading a news site or blog they enjoyed, happen across a link to my website, click it, and then hope their computer and browser could actually decode a QuickTime movie. That’s a lot of user friction.

A close crop of Newstoday—an online graphic design message board—as seen on Monday, 19 September 2005—back when scrollbars were visible by default. Apparently it took me “four moths” to create my video. (Love you, Matt!)

A close crop of Newstoday—an online graphic design message board—as seen on Monday, 19 September 2005—back when scrollbars were visible by default. Apparently it took me “four moths” to create my video. (Love you, Matt!)

Perhaps my first online break came from Matt Owens of Volumeone, who posted a quick paragraph and link on the popular graphic design message board Newstoday. I don’t think I’d met Matt in person by that point in my life, but he is the twin brother of Mark Owens—someone I had indeed met multiple times through David Reinfurt. So there was a bit of personal connection there, though a degree removed.

Within a day or two I could tell that my work had spread beyond Newstoday when I started receiving random emails of praise for my video from folks outside the design community. This was encouraging—and may have gone to my head a little bit. I’d been thinking about going back to school and had recently met with John Maeda, then at MIT’s Media Lab. I was eager to impress him and, knowing his affinity for the Apple 2 series, brashly cold-emailed him a link. This was his response:


From: John Maeda <*****@media.mit.edu>
Date: September 21, 2005 6:01:54 PM EDT
To: Stewart Smith <*******@stewdio.org>
Subject: Re: APPLE ][+

Stewart, that's old school. Nice work. John

On Sep 21, 2005, at 5:31 PM, Stewart Smith wrote:
100  HOME
110  INVERSE
120  PRINT "hello mr. maeda"
130  NORMAL
140  PRINT
150  PRINT "i made a music video on my apple 2"
160  PRINT "thought you might like it"
170  PRINT
180  PRINT "http://www.stewdio.org/jed"
190  END

While his same-day reply plastered a big grin on my face, it apparently did little for my Media Lab prospects. Of the three graduate programs that I applied to in the following months, MIT was the one school that rejected me. I was much luckier with Randy Pausch’s Entertainment Technology Center at Carnegie Mellon, and Sheila de Bretteville’s Yale Graphic Design program. What a crazy fork in the road. (Also, if you have not watched Randy’s tear-jerking “Last Lecture”, please stop reading this drivel and instead watch that right now. And if you need a laugh afterward, this was my stupid hack to get Yale to pay for my Yale student loans. Spoiler: It didn’t work.)

Amanda Congdon, hosting the 30 September 2005 episode of Rocketboom which was entirely devoted to my Jed video. (This could only have been cooler if she’d held up a copy of Grandaddy’s album for the camera to see, rather than straight cutting to the video. Alas.)

Amanda Congdon, hosting the 30 September 2005 episode of Rocketboom which was entirely devoted to my Jed video. (This could only have been cooler if she’d held up a copy of Grandaddy’s album for the camera to see, rather than straight cutting to the video. Alas.)

By the end of the month my in-box was flooded with kind words, and my video was showing up in all sorts of places. I was gobsmacked to discover an entire episode of Rocketboom (admittedly only a few minutes long) was devoted to my Jed video. They really leaned into the anachronism of my Apple ]⁠[⁠+, attempting to evoke that machine’s era by tinting their footage amber and replacing the audio of host Amanda Congdon’s voice with the sound of a Super 8 camera’s film reel playing back on a home projector. (Early Super 8 film had no means of recording audio, though later versions did.) A cute idea, but the execution of it left Rocketboom’s audience thoroughly confused, with many concluding that the episode was broken somehow.

Rocketboom’s “Casual Friday” episode for 30 September 2005. Note the “missing” sound before my video kicks in at 0:57. How I wish I knew what she said!

More design forums, tech sites, music rags, and personal blogs picked up on Jed. For a brief time it felt like the video was everywhere. With each new wave of web attention came subsequent ripples of friendly emails from strangers who’d been amused or felt emotionally touched by it. Autumn of 2005 felt incredibly special to me.

If there was a downside to my video’s popularity, it was the financial cost of hosting a viral QuickTime file. My web hosting service charged me quite a bit in bandwidth overages and I needed a way out that allowed my work to remain visible. I created a Google Video account and uploaded Jed. Later, when it became obvious that all the eyeballs were actually on YouTube (and that Google would shut down its own video service after acquiring YouTube) I jumped ship too. This also coincided with a general shift from personal blogs and email to social media and user comments—and those Jed comments are fun to revisit every few years.

Within a year my little video had appeared in numerous print magazines, film festivals, and art exhibitions. And in the autumn of 2006 I packed up all my belongings and schlepped them from Brooklyn to New Haven where I began my MFA studies. As the Interwebs grew, the metric for “going viral” would inflate exponentially—to a bar that my Jed experience no longer clears. But back in 2005–2006? It was hot.

Riding back down

Although the main wave of attention had crested, there were still occasional little splashes. For example, in June 2007 Justin Cone posted a link to my Jed video on Motionographer. That lead to a brief Jed writeup by Seth Brau on Cool Hunting. Then a few months later, renowned design and branding guru Michael Bierut (credited as “MB” in the screen grab below) posted a brief Jed shoutout on Design Observer.

Screen grab of Michael Bierut’s Jed shoutout on Design Observer in November 2007.

Screen grab of Michael Bierut’s Jed shoutout on Design Observer in November 2007.


It’s currently September 2025 and in response to me updating this very writeup for Jed’s 20th anniversary (and Grandaddy’s US tour celebrating their Sophtware Slump record’s 25th anniversary) I’ve already seen tiny reaction ripples here and there. But I’m going to stop now before the snake eats itself.

Filip Visnjic’s short writeup on Jed’s 20th anniversary for his Creative Applications community. Much love to the oldschool “o_O Shiny” folks—you know who you are.

Filip Visnjic’s short writeup on Jed’s 20th anniversary for his Creative Applications community. Much love to the oldschool “o_O Shiny” folks—you know who you are.


Applesoft BASIC

When I began work on the video I hadn’t touched Applesoft BASIC in years. Slowly the idiosyncratic practices came back to me—like the art of always spacing out a program’s line numbers by 10 units or more. Why do this? Because creating a program happens one line at a time via the command prompt, rather than within a text editor. Any command line input beginning with a number is assumed to be a line of code, and that number is used as the line number. So by typing 1000 PRINT "OK" you’ve created an instruction at line 1,000 to print the string "OK" to the screen. Should you accidentally type 1000 HOME, this would replace your previous print instruction at line 1,000 with one that clears the screen instead.

Spacing out the line numbers accounts for the possibility that you may have to go back and edit a routine; inserting new lines of code between existing line numbers. If you don’t have the free line numbers to use, you’ll have to re-type everything using new line numbers—and that’s horrendous. You can see here how I initially stuck to the pattern of skipping 10 units between line numbers, but then did have to go back subsequently and insert new instructions between. (While debugging the timing sync, I needed to further adjust the speed of execution by changing my local delay unit variable, DLY%, based on my master delay unit variable, MDY%.) The varying spaces between line number and its instruction are controlled by the BASIC interpreter; not an artifact of my typing.


5400 DLY% = MDY% / 80
5410 X = 1
5420 Y = 13
5430 STRING$ = "I TRY TO SING IT FUNNY LIKE BECK"
5440  FOR I = 1 TO  LEN (STRING$)
5450 CHAR$ =  MID$ (STRING$,I,1)
5460  GOSUB 9000
5470  NEXT I
5471 CHAR$ = ""
5472 DLY% = MDY%
5473  GOSUB 9000
5479 DLY% = MDY% / 80
5480 X = 1
5490 Y = Y + 2
5500 STRING$ = "BUT IT'S BRINGING ME DOWN"
The bold lines illustrate why it’s a good idea to space your line numbers at least 10 units apart. You never know when you’ll have to go back in and insert a few extra lines.

Note the variable name suffixes: a dollar symbol $ indicates a text string while a percent symbol % indicates an integer. The subroutine found on line 9000, called here by lines 5460 and 5473, is the “printing cursor” animation routine. Because the whole program shares a single variable scope, there’s no need to pass values for the string to be printed or its intended X and Y location on screen. The subroutine will execute based on whatever the current values are for those variables:


9000  REM  ### CURSOR FUNCTION ###
9010  IF X < 1 THEN X = 1
9020  IF Y < 1 THEN Y = 1
9025  IF Y > 24 THEN Y = 24
9030  HTAB X
9040  VTAB Y
9050  INVERSE 
9060  PRINT " ";
9070  NORMAL 
9075 I$ = INKEY$
9076  IF I$ = " " THEN  GOSUB 9400
9080  FOR PAUSE = 1 TO DLY%
9090  NEXT PAUSE
9100  HTAB X
9110  VTAB Y
9120  IF CHAR$ <  > "" THEN  PRINT CHAR$:X = X + DIR
9130  HTAB X
9140  VTAB Y
9150  PRINT " ";
9160  FOR PAUSE = 1 TO DLY%
9170  NEXT PAUSE
9180  RETURN 
Again, the bold lines indicate commands that were inserted in subsequent iterations. Their line numbers are not spaced 10 units apart like the others.

I swear the program took longer to execute as I added more and more lines of code, as if more memory was required to sift around the ever-growing list of instructions. I don’t know if this was truly the case, or just my imagination. But if I recall correctly, I began working on the project with a certain value for the master delay setting, MDY%, and by September I had greatly reduced this value in an attempt to keep previously synchronized animation routines in time with the music. The dirty secret is that regardless of my efforts, we did have to tweak the timing of the final video in order for it to execute perfectly in sync with the music. So it goes.

The saddest recursion

This is my favorite line of the entire program—the LIST command. Used on its own from the command line, it lists the instructions for the current program in memory. It can also be used to list specific lines or ranges of line numbers. This is incredibly useful when debugging a program; to be able to call up and view chunks of the code. (Again, there is no text editor to scroll up and down through. Programs are entered directly into the command prompt one line at a time. Painfully.)


5897  LIST 

By putting this command inside of a program, it causes the program to list itself—as if it’s unraveling before you; a dramatic reveal of its own guts spilling out. This is what happens to Jed’s poem—or perhaps Jed, himself—as seen beginning at 2:13 in the video and continuing until the end. It’s a fitting final curtain of decomposition; this waterfall of instructions that made the piece and is now bursting forth from the piece itself. The zoom out expands the frame, re-contextualizing what we’ve just witnessed, and allows us a more contemplative and respectful distance from this unraveling.

Although I’ve always been tickled by artifacts that reveal the process of their own making, I don’t know if I would have placed as much emphasis on it had I not been working for David Reinfurt at the time of creating this video. David helped me better understand and articulate this sort of technique. It’s something he’s been fascinated with as well. Here’s a clip of David giving a talk at Google in early 2018 about one of his design heroes, Muriel Cooper. At about 10:42 into the video he draws our attention to Muriel’s design for the cover of her Bauhaus book and how its artwork is a register of the process that created it. This is far from her only employment of that technique, and if you aren’t familiar with Ms. Cooper (or David), you really ought to watch the full lecture.

Designer, author, and artist David Reinfurt presents the work of Muriel Cooper, founder of MIT’s Visible Language Workshop.


Exhibiting the Jed Apple

In early 2009 I entered the Art Directors Club’s Young Guns awards, a portfolio competition for creatives under 30 years old. ADC describes their competition thusly:

Young Guns recognizes the vanguard of creative professionals 30 years of age and under. Founded in 1996, the portfolio-based competition has grown to become one of the most coveted awards for young creatives around the globe. For many, being named a Young Guns winner is a sure sign of a skyrocketing career, as well as a source of validation for all of the stressful days and sleepless nights that have come with early successes.

I’m not sure about all of that. But I was fortunate to be inducted into the Young Guns “YG7” class. Young Gun winners are included in the celebratory exhibition—and I knew exactly which piece I wanted to display. Rather than the video file for Jed’s Other Poem, I submitted my “prepared Apple ]⁠[⁠+ computer” that I’d used to make the video, including the 5¼-inch floppy diskette that would drive the animation. I wanted the real, live executing thing to be the display piece—in contrast to the flat video which had already had the honor of going viral online and being seen by many eyeballs. My setup did not include audio as that wasn’t part of the executing program itself, and the animation wasn’t guaranteed to remain in sync with accompanying external audio anyhow. (This is just as well. The opening party was delightfully raucous and the music for my piece would have been drowned out by the DJ duo, which included fellow Yale design alum Luke Harris.)

One awkward photograph of Jed booting up while on display at the Young Guns 7 awards exhibition party on Wednesday, 21 October 2009. The open Apple ][+ casing with custom clear acrylic cover is just barely visible in the lower left of the photo.

One awkward photograph of Jed booting up while on display at the Young Guns 7 awards exhibition party on Wednesday, 21 October 2009. The open Apple ][+ casing with custom clear acrylic cover is just barely visible in the lower left of the photo.

Reboot as loop

There was one wrinkle, however. My original program was not made to loop. It executed once, and then politely ceased control back to the command prompt. I could have added a simple GOTO statement at the end of the control flow to force it back to the head of the program—but this seemed lame. Why not “loop the entire machine” instead? This was the existing line that halted the program:


6005  END 

After considering the opportunity for a while, I created a special “Jed disk” by using the INIT command to format a floppy that would execute my Jed program on boot. This at least solved the problem of executing the animation as soon as the computer was powered up; no need to type RUN JED.BAS or provide further instructions to the exhibition minders. But it didn’t solve the loop. To do this, I needed to invoke a reboot command—but unlike LIST, a reboot cannot be issued from the perspective of a program. It has to appear to come from the command prompt itself. I changed the above line to this bit of magic:


6005  PRINT CHR$(4) + "PR#6"

As described by Robert Gomez, CHR$(…) is a function that retrieves the keyboard character assigned to the numerical value in the parenthesis. For example, PRINT CHR$(65) prints the letter A to the screen. In this case, character number four is the equivalent of keying in Control+D. This tells the computer that the next printed string should be executed as an OS command rather than printed to the screen. That’s the first half of this compound line.

The second half of this line is an OS command that pipes output to a peripheral controller card sitting in one of the motherboard’s expansion slots. Which card? The one sitting in the slot indicated by the # symbol. For example, printer cards were usually installed in expansion slot #1, so PR#1 would ideally pipe subsequent output to your printer card, sending your next string outputs to your tractor-fed dot matrix printer. But in this case, we’re connecting to the card in slot #6, which is by convention the floppy disk drive. By pinging that disk card we’re actually triggering a warm boot from the attached disk drive. With that properly formatted boot disk in place, Bob’s your uncle.


Open-sourcing Jed

My piece ends with the program listing its own source. Within two weeks of publishing the video online I received my first enquiry for the source code itself from Richard “Apple II addict” Jackson. Shortly after, a Mr. Jean-Jacques Cortes emailed me with as much code as he could transcribe by hand—164 lines!—before the video’s text became illegible during the zoom-out finale. “How can I get the rest?”, he pleaded. Great question.

I had coded this thing on an actual 1979 Apple ]⁠[⁠+. Its only means of transferring files was a 5¼-inch floppy disk drive—a physical media format long extinct by the year 2005. My vintage Apple had no USB ports. No Apple FireWire ports. No Wi-Fi connectivity. Certainly no Bluetooth. No DVD burner. Not even a CD burner. I suppose if I’d had a modem expansion card to slot into the old motherboard, I could have tried some kind of physical networking wizardry. (Kermit, anyone?)

Data as audio

And then I remembered something. These machines have an audio input / output jack—but it’s not for connecting speakers or a microphone to your computer. It’s for loading and saving data to audio cassette tapes! This meant I could get data out of my old Apple as sound, and pipe that into my modern laptop’s line-in port with a simple auxiliary audio cable. It was a gleeful sprint from my apartment to Mikey’s Hookup on Graham Avenue to purchase the fanciest minijack cable they had on offer. Then it was a matter of finding an Apple ][ emulator for my laptop that could convert this screechy audio back into usable plain text data. I found Virtual ][ v4.1, a fantastic little emulator that not only juggled data like an authentic Apple, but also mimicked the beeps and disk grinds of the genuine article.

From binary to audio and back. A zero bit is made up of one cycle of 2 kHz, (250 microseconds per half cycle) and a one bit is one cycle of 1 kHz, (500 microseconds per half cycle). This works out to 2000 baud for zeros only and 1000 baud for ones, or a “loose average” of 1500 baud. (Do you really think your code is 50% zeros and 50% ones?) Source: The Apple II Cassette Interface, 1984.

From binary to audio and back. A zero bit is made up of one cycle of 2 kHz, (250 microseconds per half cycle) and a one bit is one cycle of 1 kHz, (500 microseconds per half cycle). This works out to 2000 baud for zeros only and 1000 baud for ones, or a “loose average” of 1500 baud. (Do you really think your code is 50% zeros and 50% ones?) Source: The Apple II Cassette Interface, 1984.

Piping out the Jed code via the cassette tape output port from the original 1979 Apple ]⁠[⁠+ computer, through an audio aux cable, into my then-current Macintosh PowerBook laptop running an Apple ]⁠[ emulator. This photo is actually a bit of a prank as I’d also hooked up the old monitor as a second screen for my laptop while waiting for the binary data to transfer over—hence the desktop interface appearing on it.

Piping out the Jed code via the cassette tape output port from the original 1979 Apple ]⁠[⁠+ computer, through an audio aux cable, into my then-current Macintosh PowerBook laptop running an Apple ]⁠[ emulator. This photo is actually a bit of a prank as I’d also hooked up the old monitor as a second screen for my laptop while waiting for the binary data to transfer over—hence the desktop interface appearing on it.

With those puzzle pieces in place I liberated the source code from its beige tomb onto my PowerBook with the BSAVE (Binary Save) command. It was a strange feeling; having spent so much time physically laboring on the old Apple’s keyboard with its often frustrating constraints. I suddenly now had the ability to use a modern keyboard, text editors, syntax highlighting, even some measure of version control. (Although not as we know it today; Linus had only released the first version of Git that spring, GitHub was still a few years off, and Subversion felt like it was for professionals—which I was definitely not.) This meant I could now code on my laptop with all of its modern conveniences, then pipe the results right back into my old Apple via that audio cable. But I’m happy I worked directly on the old hardware. Something about going through the real process rather than faking it added a foundation of authenticity that remains with me to this day. Perhaps it wouldn’t matter to fans of the video if I’d done it the other way around. But it mattered to me. It still does.

The Virtual ][ vintage Apple emulator with a Jed disk image loaded.

The Virtual ][ vintage Apple emulator with a Jed disk image loaded.

World’s first open-source music video

Now that I’d made my source accessible to modern machines, I could follow through on a wild idea: why not open-source this thing—give the code away for free? (Yes, open-sourcing still felt a bit radical in 2005, at least to me.) I collected my Jed pieces together: the recorded audio data stream as an AIF file, the recovered source code as a text file, and a binary disk image for use in emulators such as Virtual ][. Lastly, I hastily typed a short text file describing the package contents; encouraging downloaders to “have fun running and tweaking as you see fit” in lieu of more official license verbiage. I ZIP’d this up and published it on my website.

That was Monday, 12 December 2005. As far as I know, “Jed’s Other Poem” is the world’s first open-source music video. (If you know of another candidate, do come forward. But I’ve had my ear to the ground on this for two decades, and have yet to discover a code-based music video with publicly released source prior to mine.) I emailed those two inquisitive gentlemen back with a link to the Jed source code package. By this time several more folks had also asked for my source code. I posted it to my website, making it freely available to all.

On Monday, 12 December 2005, I released the “Jed’s Other Poem” source code as plain text, a disk image for Apple ]⁠[ emulators, and as an audio file for use with cassette tape drives.

On Monday, 12 December 2005, I released the “Jed’s Other Poem” source code as plain text, a disk image for Apple ]⁠[ emulators, and as an audio file for use with cassette tape drives.

Originally the ZIP file containing the code was available solely from my own website. (Linus Torvalds had only created Git a few months earlier, and GitHub—today’s default platform for sharing code repositories—wouldn’t exist for another few years.) But now, on the occasion of my music video’s 20th anniversary, I’ve decided to take the long-overdue step of publishing my Jed code to GitHub.


Backwards compatible

In the spring of 2010, popular software makers Panic Inc. were excited about their new office space. They posted photos of its interior to their blog and newsletter. I immediately noticed something interesting: a 1980s era Apple //e computer tucked away on some back shelves. On a whim I emailed the folks at Panic to ask if they’d run my Jed code on it.


From: Stewart Smith / Stewdio
Subject: panic office photos
Date: April 30, 2010 7:44:43 AM PDT

I just saw some photos of your office 
and couldn’t help but notice an Apple //e. 
I have an odd request. 
Back in 2005 I created a music video for the band Grandaddy 
by programming a text animation on an old Apple ][+. 
You can see the video here.

So for my request: 
would you do me the honor of running the source code 
on your old Apple //e and sending a few pictures? 
(Or even posting them to your Flickr?)

I imagine you could load the code onto the old machine 
by using my “cassette tape” source code file. 

Apparently that sounded just fine to Mr. Cabel Sasser and the Panic crew. But what would be the most appropriate means of playing that audio data stream into the Apple //e’s cassette drive port? Well… Apple had just released the first generation iPad—and Cabel was in that first wave of purchasers. He downloaded my audio file to his iPad’s iTunes library, plugged one end of an auxiliary audio cable into its headphone jack, the other end into the //e’s cassette port, and hit play. With the BLOAD (Binary Load) command, the //e listened to the audio stream and converted it back into text. Cabel recorded a sweet video and posted it on the Panic blog.

Panic Software’s vintage Apple //e and brand new, first-generation iPad (2010), working together to load and execute my Jed code via the old Apple’s cassette drive audio port.

Panic Software’s vintage Apple //e and brand new, first-generation iPad (2010), working together to load and execute my Jed code via the old Apple’s cassette drive audio port.

Cabel commented: It’s an obvious solution in retrospect, but there is something very unreal and amazing about tapping a button on a multi-touch screen and watching an Apple //e fill up with data. To quote Andy Baio, “that’s like WALL·E connecting to EVE.” Yes. To push data from 2010’s Apple iPad to 1983’s Apple //e is nearly three decades of backwards compatibility—thanks to the power of the almighty audio jack.

Remixable

I’d worried my rusty BASIC code was more or less useless to folks who might wish to build on it. And if it were confined to actual Apple ]⁠[+ hardware, I’m sure it would be. But with emulators and modern hacks, it’s much easier to push around the code; to copy and paste bits as well as renumber the lines of the program. This has opened the doors to experiments like this: Nicky Ramone’s fan video for The Chameleons’ 1983 post-punk anthem “Up the Down Escalator.” You can see how Nicky has built his own composition here, but it’s making use of my familiar Jed subroutines. It’s delightful to put something out in the world and know that folks have enjoyed taking it apart and putting it back together—particularly when they have excellent taste in music.

Nicky Ramone’s fan video for The Chameleons’ 1983 post-punk anthem “Up the Down Escalator.”


Road to legitimacy

Grandaddy didn’t know I’d made this video. I was operating purely as a fan, making fan art. As the video went viral I began to realize that I’d cornered myself into some potentially dangerous territory. In the aftermath of Napster’s rise, record companies had become awfully litigious when it came to folks sharing their copyrighted audio for free on the Internet. This is in effect what I had done by embedding the QuickTime file of my unauthorized music video on my website. Meanwhile, I really wanted to share my creation directly with the band. (I’d actually met them a few years earlier when they were touring on their Sumday record. It may have been at Lupo’s Heartbreak Hotel where I interviewed them for my music and politics zine, Tweed.) Though tempting, I wasn’t sure if reaching out to them was wise.

Making contact

Not long after my video’s release, Grandaddy posted a request to their website: They were collecting fan-recorded footage for a planned DVD release. My video wasn’t a concert recording, but this put my rising temptation over the edge and I decided to press my luck. I figured if they liked my video, that would be fantastic. And if the band or the record company, V2, were upset about it, I’d immediately take it down (and of course apologize). I created a profile on the band’s message board and responded to their request for footage with a link to my video. And held my breath.

Grandaddy’s drummer, Aaron Burch, responds on the band’s message board, asking for my email address and a copy of my video in order to include it on their upcoming DVD release.

Grandaddy’s drummer, Aaron Burch, responds on the band’s message board, asking for my email address and a copy of my video in order to include it on their upcoming DVD release.

To my great relief, Grandaddy were delighted with my video. Their drummer, Aaron Burch, seemed to be the main point of contact on the band’s message board. We got in touch via email and he assured me that they were interested in including it on their DVD. (Madness!) But sadly, the band’s DVD never materialized. They made the decision to break up at the tail end of 2005, announcing this in January of 2006. I was crushed—less about my missed opportunity, and more about a band that I treasured having decided to call it quits.

Avoiding a lawsuit

More tough news came later. V2 Records was not particularly pleased about what I’d done. Not only was I giving away their copyrighted music for free, my video was composed almost entirely from lyrics that had their own separate copyright. This meant that even if I stripped the audio and kept only the visual composition online, V2 would continue to look upon my actions with unkind legal eyes. It turns out, however, that the good folks at V2 actually liked my music video—and rather than have it taken down, they were eager to find a middle ground. Jeanne Drewsen, V2’s Executive Vice President of Legal and Business Affairs, reached out to me directly. At first I was in total denial of what I was up against; attempted to claim it was all somehow “fair use”, which was a bit of stretch at best. Jeanne was patient. And kind. Eventually we agreed that V2 would “purchase” my video for the price of zero dollars, and in return I would have the right to post it online as a portfolio piece—including the source code. Signing that contract made my self-initiated fan video the official video for the song. (And prevented V2 from suing me.) Not bad.

My contract with V2 Records (now Universal Music Group) who acquired my video for zero dollars; gave me the right to post it and exhibit it as a portfolio piece. Note their praise for the video, and the enthusiasm for Res Fest. We had several exchanges like this. Thanks again for your patience, Jeanne!

My contract with V2 Records (now Universal Music Group) who acquired my video for zero dollars; gave me the right to post it and exhibit it as a portfolio piece. Note their praise for the video, and the enthusiasm for Res Fest. We had several exchanges like this. Thanks again for your patience, Jeanne!

The irony is that two decades afterward, folks publishing copyrighted music to social platforms is just par for the course. The platforms even enthusiastically facilitate it, negotiating related money exchanges with the record companies on the side. How different this world is now compared to the one we lived in these years ago.

Sticking the landing

You know what’s really cool? When one of your all-time favorite bands reunites, puts out a new record, announces a 25th anniversary tour to celebrate their breakthrough album, and then posts your silly little fan-video to their official social media profile. This future we’re living through in 2025 is mostly a garbage fire. There are serious global-scale problems that require patient cooperation and deep engagement to even begin to fix. But sometimes it’s these left-field artifacts of humanity that inject extra little blips of joy and hope back into my heart. We apes with imagination might be worth saving after all.

Grandaddy’s Instagram reel of my “Jed’s Other Poem” video, coinciding with its 20th anniversary as well as Grandaddy’s 2025 US tour to celebrate The Sophtware Slump’s 25th anniversary.

Grandaddy’s Instagram reel of my “Jed’s Other Poem” video, coinciding with its 20th anniversary as well as Grandaddy’s 2025 US tour to celebrate The Sophtware Slump’s 25th anniversary.


Legacy

“Jed’s Other Poem” was the first personal project of mine to go viral. While I’m very proud of my thought process and execution, I know that the real driving force behind my video’s popularity is Grandaddy’s music. I’m just a ride-along. I am honored that my efforts may have introduced a new wave of folks to what I feel is one of America’s most underrated bands.

I received so many positively effusive emails from complete strangers. It was and is the most “pure” work I’ve put out in the world. I never aimed to skim any money off it (and I never did). I only wanted to capture the feeling of the music. And I’m so thankful that it’s resonated with as many folks as it has. If you search for it on YouTube you’ll find that it’s been re-uploaded and emulated many times over. It’s been two decades since I spent all of those nights and weekends listening to this song on repeat while crafting each line of Applesoft BASIC to create the animation. I have kids now; kids that are old enough to make their own decisions about what plays on their own speakers. Every now and then, entirely unprompted, they put on “Jed’s Other Poem”—and it always arrests me. Thank you, Jason Lytle. Thank you, Grandaddy.

Open-source music videos

I do stand by my claim that “Jed’s Other Poem” is the world’s first open-source music video—having made my source code available in December of 2005. The following year, Pearl Jam released their “Life Wasted” music video (2006) under a Creative Commons license. (See the corresponding Creative Commons press release.) This license allows anyone to legally copy, distribute and share the clip for noncommercial purposes. But the video is footage—not the execution of source code. I don’t see much of a link here other than the common umbrella term “open source.” (Comically that’s enough to confuse supposed-oracles like ChatGPT when asking it to identify the world’s first open-source music video.)

Meanwhile, Radiohead’s “House of Cards” music video (2008) bears a closer cultural kinship. Directed by James Frost with Technical Director Aaron Koblin, the video was “filmed” using LIDAR rigs rather than traditional cameras. The end product is a recorded playback of that 3D data. Aaron and Radiohead open-sourced some of the point cloud data, as well as a Processing-based viewer application, coinciding with the video’s release.

Radiohead’s “House of Cards” music video (2008), directed by James Frost with Technical Director Aaron Koblin.

Radiohead’s “House of Cards” music video (2008), directed by James Frost with Technical Director Aaron Koblin.

I don’t see a direct connection between Jed and “House of Cards”, but it’s worth citing here because the latter was also birthed from a love of code, and portions of that data and code were then open-sourced. “House of Cards” was only a few years after Jed; maybe something was in the air at that time. It’s also amusing to me that the closest example (both in concept and chronology) of an “open-source, programmatic music video” comes from Radiohead—which is how I accidentally discovered Grandaddy in the first place while scouring Napster for Radiohead rarities and unreleased tracks years prior. Sometimes the universe folds back in on itself. It’s also worth mentioning that Aaron’s a swell guy, and a few years after our respective videos we’d end up colleagues at Google. Small world, indeed.

Still Alive

When it comes to influence… I can’t prove that Valve Software had “Jed’s Other Poem” in mind when their level designers created “Still Alive”, the musical grand finale to their 2007 masterpiece, Portal. But what I can say is that Portal was released two years after my music video. Later, in the early 2020s I had the pleasure of working at Unity with a Mr. Bay Rait, the renowned 3D modeler and animator who just so happened to have worked at Valve on Portal back in the day. (And coincidentally, he’s Bonnie Raitt’s nephew.) Bay hadn’t worked on the finale itself, but he was of course very familiar with it. When I explained that I thought perhaps the “Still Alive” music video was inspired by a personal artwork of mine, he was appropriately skeptical. But then I showed him my video. “Spooky how close it is. My god.” His words. But you be the judge:

Awards, press, notables