Archive for the ‘entertainment’ Category
Playstation 3 leap year bug
March 1st, 2010 at 9:46 pm
As a big fan of Reingold & Dershowitz’s Calendrical Calculations, I’m always on the lookout for calendar-related programming news. This morning I heard (via @jamesthomson) that the Playstation 3 has a leap year bug that screwed up a lot of users yesterday when it became midnight GMT and the calendar flipped from February 28 to March 1.
In addition to my nerdy calendar interest, there was a family angle. My son plays Modern Warfare online with many of his friends. Last night he told me that a few of them were locked out because they couldn’t get online. It seemed weird that 3-4 kids would have network problems simultaneously, but now we know it wasn’t a coincidence.
Unless there’s a leak out of Sony, we may never learn the precise cause of the bug, but it must have acutely embarrassing for an international electronics giant to have to post this:
We are aware that the internal clock functionality in the PS3 units other than the slim model, recognized the year 2010 as a leap year.
Let’s first note that recognized is the wrong verb; you wouldn’t say you saw Ernest Borgnine in a restaurant and recognized him as Brad Pitt. How about mistook? More to the point: can you imagine spending millions of dollars to develop a product that can’t figure out whether a given year is a leap year or not?
My guess is that the firmware takes every even-numbered year to be a leap year. The PS3 came out in late 2006, too late for the bug to have an affect that year. 2008 was, of course, a real leap year, so the faulty code worked. Yesterday was the first time in the PS3’s product life that the bug would cause a problem.
I’m pretty sure that Sony has no real fix. The solution, like Microsoft’s solution for the Zune’s leap year bug back in 2008,1 was to simply wait until the calendar flipped again. Now that February 29 March 1 is over in the GMT zone, the bug is safely tucked away. If my guess is right, it won’t resurface until 2014, by which time most “fat” PS3s will be out of service.
-
Yes, that was a self-link. I’m positioning myself as the go-to blogger on leap year bugs. ↩
BBC iPlayer site-specific browser
February 24th, 2010 at 10:00 am
As I’ve mentioned at great length in earlier posts, I use Audio Hijack Pro to record BBC Radio shows that are streamed over the internet but don’t come in podcast form. Until recently, I’d been using Safari to open the stream URL. Generally, this worked out fine, but if I wanted to browse while recording something in the background, I had to follow two rules
- Don’t open any sites that play sounds, as these will be recorded on top of the show.
- Don’t quit Safari when I was done browsing, as that will kill the recording.
Sometimes I’d forget to follow these rules and ruin a hour or more of recording. Whenever this happened, I’d try to fix the problem by swearing at myself, but that never seemed to work.
What has worked is creating a site-specific browser (SSB) for recording. I used Fluid1 to create an SSB, called BBC iPlayer, that opens a generic BBC page.

BBC iPlayer, then, is the application whose sound output gets hijacked by AHP.

AHP tells BBC iPlayer to navigate away from the generic page to the URL for the stream. Now I can browse in Safari without worrying that something I do will screw up the recording.
Luckily, the various scripts I wrote for getting the streaming URL from the BBC—all collected in this GitHub repository—are browser-agnostic, so they didn’t have to be edited at all. Only the settings in AHP itself needed updating.
I was going to use the current BBC logo as the icon for the BBC iPlayer SSB, but its horizontal layout doesn’t work well as an icon. So I found a screenshot of the old spinning blue globe logo (the one you’d always see during Monty Python’s Flying Circus) on this BBC logo history page and did a bit of editing.

It doesn’t look great at a small size, but it’s instantly recognizable to me.
One more thing: As you can see in the AHP screenshot, one of my upcoming recordings is of an episode of Radio 2’s semi-regular show, The Record Producers. The subject of this Saturday’s show will be Todd Rundgren. Obviously, I have no idea if the show will be any good (personally, I’m hoping they don’t spend too much time on Bat Out of Hell), but Todd fans will probably want to listen regardless.
Unintended Consequences of Math
February 17th, 2010 at 11:30 pm
I thought last week’s episode of In Our Time was particularly good, even though I already knew most of the facts presented and disagreed with much of the discussion of those facts. Actually, maybe I liked it because I disagreed with it. It gave me a lot to think about, which thinking I will now inflict on you.
In Our Time is a weekly radio show broadcast on BBC Radio 4, the hifalutin BBC station. People outside the UK can get the podcast. Each episode covers a fairly restricted topic, with panel discussion moderated and prodded by the host, Melvyn Bragg. Unlike most American shows of this type, In Our Time puts real experts on its panels, not journalists hawking their latest books. Each show’s panel is usually made up of professors of the subject from various British universities. The scope of the show is immense, as you can see from looking at its archive. The most recent three shows, for example, covered
- George Eliot’s Silas Marner;
- the 14th-century philosopher Ibn Khaldun; and
- the unintended consequences of pure math.
It’s this last one that got me thinking.
Most of the show was given over to stories, told in the style of James Burkes’ Connections series, of concepts developed purely for their own mathematical beauty (that’s the pure math of the episode’s title) that suddenly became useful for practical purposes decades or centuries later.
The first of these stories, told by the delightfully-named Colva Roney-Dougal of the University of St. Andrews, purportedly explains how the solution of cubic equations led to the electric chair. In the 16th century, while investigating the solution of cubic equations, Cardano found square roots of negative numbers in his solutions. This led to the use of complex numbers. It turned out, hundreds of years later, that complex numbers were very convenient in the analysis of alternating current.
(Phasor image blatantly stolen from here.)
If you know anything about the competition between Thomas Edison and George Westinghouse over use of DC and AC, you can see where this is going. As part of his campaign against AC, Edison touted its use in electrocution.1 Therefore, we’re supposed to think, the electric chair was an unintended consequence of complex numbers.
But, and this is pointed out in the show, while complex numbers make the analysis of AC easier, they’re not required. In fact, the electric chair was first designed before anyone used complex numbers to analyze AC. So yes, it’s interesting that complex numbers can be used in AC analysis (as they can be used similarly to analyze mechanical vibrations and problems in plane elasticity), but it really isn’t right to call the connection a consequence.
The use of the term consequence is even less apt in the second example: the application of conic sections to celestial orbits and the trajectories of projectiles. There’s no question this is an interesting connection. The Greeks studied conic sections for their intrinsic beauty, and it was definitely an exercise in pure math. There’s no particular reason to believe they’d be applicable to gravity-controlled motions. But again, this isn’t a consequence, it’s a discovery. Planets didn’t start orbiting in ellipses because Kepler said so.
(Image from Duk at Wikipedia.)
The third story eventually works its way (via Cardano and de Moivre) to Gauss’s use of the normal distribution to predict the position of an asteroid. The asteroid had been observed for only a short time before the view of it was blocked by the sun. Gauss recognized that the observations prior to its disappearance had errors that followed the normal distribution and was able to give the best prediction of where it would be after it reappeared.
The normal distribution had been described by previous mathematicians—de Moivre and Laplace, in particular—studying games of chance and other random phenomena, and Gauss’s use of it to analyze observational errors was definitely a consequence of that earlier work. But here I would disagree with the characterization of that earlier work as pure math. Early studies of probability were intensely practical because of their connection to gambling. There was nothing pure about it.
I would classify the fourth connection, between non-Euclidean geometry and relativity, as I did the conic section/orbit connection: interesting but not a consequence because there’s no cause and effect relation.
The last story, finally, does what all the stories were supposed to do: it describes how the study of prime numbers, once thought of as the purest of pure math topics, now has a very practical and thoroughly unexpected application in cryptography, keeping our credit card numbers safe as we shop online. The historical connection between the pure math and the practical application wasn’t made very strongly—it was basically some hand-waving about Alan Turing—but the story may have been rushed because the show was nearly over.
I was amazed that the show finished without a single mention of “The Unreasonable Effectiveness of Mathematics in the Natural Sciences,” a famous paper written in 1960 by a physicist, Eugene Wigner. (How famous is this paper? Type “unreasonable” into your browser’s Google search field and see what comes up. It was the seventh suggestion when I tried it.)

The theme of the paper, as you can guess from the title, is how amazing it is that mathematics—often developed for completely different purposes—works so well to describe the physical world. While the In Our Time episode’s theme is not exactly the same as this, it’s damned close. Even the episode’s title is an echo of the paper’s title.
Fairly early in the show, one of the guests,2 John Barrow of the University of Cambridge, dives right into the main topic of “Unreasonable Effectiveness,” giving a very reasonable explanation of why many topics in math have applicability beyond their original conception. In his view, the whole of math is a collection of patterns, with the number of patterns increasing as math has progressed. It is, therefore, not surprising that some of these patterns match the patterns found in nature. How Barrow manages to go through this explanation without mentioning Wigner’s paper, I’ll never understand, but this was my favorite part of the show.
I doubt I’ll have as much to say about this week’s episode, but I bet I’ll enjoy it.
-
No, I’m not going to link to the video of the electrocution of Topsy the elephant. I’m sure you can find it on your own if you really want to see it. ↩
-
Occasional listeners of In Our Time know that the guest panel consists of three experts and may be wondering who the third guest is. Regular listeners will have guessed that it’s Marcus du Sautoy of Oxford, who seems to appear on every BBC show on math. ↩
All you need
January 18th, 2010 at 10:02 pm
This page has some huge Beatles nerdery charts. The authorship/collaboration timeline is probably the best1,

but I also like the one that shows the song keys per album.

Least interesting, I think, is the self-reference chart because it’s so heavily dominated by “Glass Onion.”
There’s also a Charting the Beatles Flickr group, which I’ve just started to explore isn’t as big or as interesting as I thought it would be when I first saw it.
-
I’m a little surprised that “While My Guitar Gently Weeps” is credited solely to Harrison. Surely Clapton had some creative input on the guitar solo. ↩
One-off recordings with Audio Hijack Pro
December 15th, 2009 at 7:05 pm
I’ve written once or twice about using Audio Hijack Pro to record a few weekly BBC radio shows from their internet streams. I use the BBC’s Listen Again feature to schedule the recordings not when the shows are running, but late at night when I’m not using my office computer. The BBC also runs irregular programs of just one or two episodes that I like to record. In the past, I’ve always just recorded these one-off shows when I see that they’re available; there was no obvious way to schedule one-time recordings of these programs because I wouldn’t know the stream URL in advance.
Since the BBC revamped its web site, the stream URLs for upcoming shows are easy to determine. Just go to the page with the show’s description and copy the eight-character string at the end of the URL

The stream URL will be that eight-character string appended to the end of http://bbc.co.uk/iplayer/console/.
I’ve set up a dummy recording session in Audio Hijack Pro called “BBC” that has all my usual settings. When I want to record a one-time show, I make a copy of it and change the URL, the schedule, and the tags.




An AppleScript called “Add Show to iTunes Radio Playlist” runs after the recording is made. It’s a simplified version of the AppleScripts I use for the weekly programs; it does everything they do but get a track listing from the show’s web page.
1: (* Audio Hijack Script *** (C) Copyright 2003-2007, Rogue Amoeba Software, LLC
2: "set shufflable" and "set bookmarkable" lines added on 20070725
3: "add to Radio shows" line added on 20080904 *)
4:
5: on process(theArgs)
6:
7: --Coerce args to be a list
8: if class of theArgs is not list then
9: set theArgs to {theArgs}
10: end if
11:
12: --Into iTunes ye files shall go
13: tell application "iTunes"
14: repeat with theFile in theArgs
15: set aTrack to (add theFile)
16: delay 60
17: set bookmarkable of aTrack to true
18: set shufflable of aTrack to false
19: add (get location of aTrack) to playlist "Radio shows"
20: end repeat
21: end tell
22:
23: end process
As you can see from the comments at the top, the script is adapted from an example provided by Rogue Amoeba. My additions are Lines 16-19, which set a couple of track properties and put the track in my “Radio shows” playlist. The delay 60 command provides plenty of time for the track to get into iTunes before we try to set its properties. I’ve found that if I run the script without the delay, Lines 17-19 don’t do anything. The script is saved in the ~/Library/Application Support/Audio Hijack Pro/Recording Scripts folder.
One last script. A couple of years ago I wrote a Python script that printed out the schedule of of weekly shows to be recorded. With the addition of a few lines, it now prints out both the weekly and one-off shows:
God's Jukebox: S------ from 12:30 AM to 3:35 AM (185 min)
Monty Python's Wonderful World of Sound: --t---- from 10:30 PM to 11:35 PM (65 min)
Sounds of the 60s: S------ from 12:10 PM to 2:15 PM (125 min)
Sounds of the 70s: -M----- from 8:00 PM to 10:05 PM (125 min)
Trevor Nelson Soul: ---W--- from 8:00 PM to 9:05 PM (65 min)
The weekly shows and one-offs are distinguished by the case of the letter indicating the day of the week. Notice that tonight’s Monty Python show uses a lowercase t instead of uppercase. The script is called ahtimers, and it uses the appscript library.
1: #!/usr/bin/env python
2:
3: from appscript import *
4: import datetime
5:
6: # Get a list of all the sessions.
7: allsessions = app('Audio Hijack Pro').sessions.get()
8:
9: # Make a list with the sessions that have scheduled timers.
10: timersessions = []
11: for s in allsessions:
12: for t in s.timers.get():
13: if t.scheduled():
14: timersessions.append(s)
15: break # go to next session after finding a scheduled timer
16:
17: # Get the length of the longest name of a timersession.
18: longest = max(len(s.name()) for s in timersessions)
19:
20:
21: # Make a 7-character string with the days that the timer runs.
22: def timerdays(t):
23: daylist = ['-'] * 7
24:
25: # Put a lowercase letter in daylist where the next recording is scheduled.
26: dstring = 'smtwtfs'
27: wday = (t.next_run_date.get().weekday() + 1) % 7 # convert from Mon=0 to Sun=0
28: daylist[wday] = dstring[wday]
29:
30: # Put uppercase letters in daylist where regular recordings are scheduled. This
31: # may overwrite the lowercase from the section above.
32: if t.runs_Sunday():
33: daylist[0] = 'S'
34: if t.runs_Monday():
35: daylist[1] = 'M'
36: if t.runs_Tuesday():
37: daylist[2] = 'T'
38: if t.runs_Wednesday():
39: daylist[3] = 'W'
40: if t.runs_Thursday():
41: daylist[4] = 'T'
42: if t.runs_Friday():
43: daylist[5] = 'F'
44: if t.runs_Saturday():
45: daylist[6] = 'S'
46: return ''.join(daylist)
47:
48:
49: # Print the info for all the sessions with enabled timers.
50: for s in timersessions:
51: for t in s.timers.get():
52: if t.scheduled():
53: dur = t.duration()
54: durstr = '(%d min)' % (dur/60)
55: st = t.start_time()
56: et = st + datetime.timedelta(seconds = dur)
57: dow = timerdays(t)
58: ststr = st.strftime("%l:%M %p")
59: etstr = et.strftime("%l:%M %p")
60: fmtstr = "%" + str(longest) + "s: %s from %s to %s %s"
61: print fmtstr % (s.name(), dow, ststr, etstr, durstr.rjust(9))
The additional lines are 25-28. Two things are worth noting:
appscriptuses Python’sdatetimemodule when returning date information, anddatetimetakes Monday to be the beginning of the week. Since I consider Sunday the beginning of the week, Line 27 converts the output ofweekday()to my convention.- Both one-time and weekly timers will return a value for
next_run_date, so thedayliststring will have lowercase letters for both types of program after Line 28. Lines 30-46 go on to overwrite the lowercase letters with uppercase letters for the weekly timers.
When I get to the office tomorrow morning, the Monty Python documentary will waiting for me, ready to be synced to my iPod.
Shine on
December 8th, 2009 at 7:00 am
Yes, I remember where I was 29 years ago when I heard the news.
Meatballs and arches
November 28th, 2009 at 11:59 pm
My sons and I saw Cloudy with a Chance of Meatballs last night at a local second-run theater and enjoyed it thoroughly. Like all kids’ movies, it had Lessons For Us All (I think that’s a legal requirement), but it managed to keep them pretty well confined. And any movie able to use both James Caan, Mr. T, and Al Roker effectively is worthy of support. But I did have one problem with the film.
The story is about Flint Lockwood, a failed inventor, and the people who live with him on a little island in the Atlantic. The island is a dreary place where everyone lives on a diet of sardines. After years of screwups, Flint finally comes up with a device that works: a machine that alters the genetic components of water to create any kind of food. The machine gets shot up into the sky, where it gathers water from the clouds and rains food down onto the island. This starts out wonderful, but then turns dangerous.
You might raise an eyebrow at the notion of water having genes, but that’s an issue for a biochemist. I’m a civil engineer, and what horrified me was the brief view we get of the dam on the island.
The dam is built to hold back the excess food. Much more food falls from the sky than can be eaten, so Flint makes a machine that scoops up the leftovers and flings them across the island into a sort of garbage reservoir retained by a dam. The dam seems to be modeled on Hoover Dam, with a nice horizontal arch.

(Image adapted from snakefisch at Wikipedia.)
Arches are used in dams for the same reason they’re used in bridges and buildings: their geometry allows you to span large distances without generating tension in the structure. This is important when the structure is made of masonry or concrete, materials reasonably strong in compression but notoriously weak in tension. To work, an arch has to be curved into the load; upward in bridges and buildings to resist downward gravity loads, and into the water to resist sideways pressure in dams. You see how Hoover Dam is curved into Lake Mead.
And that’s what horrified me about the dam in Meatballs: it’s curved the wrong way!1 Being curved away from the load puts the dam entirely in tension. No wonder it—spoiler alert!—bursts and floods the town with leftovers during the climax. It should never have lasted as long as it did.
Normally I’d keep nerdy thoughts like these to myself, but releasing your inner nerd is one of Meatballs’ Lessons For Us All. I eagerly await a meteorologist’s comments on that clockwise-spinning spaghetti tornado.
-
I’ve scoured the Internets but can’t find an image of the Meatballs dam. Trust me, it’s curved the wrong way. ↩
Adapting BBC Radio recording scripts
October 13th, 2009 at 5:06 pm
Reader Chris Nelms sent me a nice email over the weekend. He’s a fan of several BBC Radio 4 programs and had been recording them with Audio Hijack Pro for listening to in his car—similar to my time-shifting of Radio 2 shows, except that Chris’s recordings probably have more legitimacy, as he’s a UK resident and has presumably paid the BBC license fee. When the BBC changed its program URL scheme, it broke his AHP setup. He found my scripts for recording Radio 2 shows (first discussed in this post, then updated and put in a GitHub repository) and adapted them for Radio 4.
The most important changes were to my Python radio2.py module. That module starts like this
1: import datetime
2: import urllib
3: import BeautifulSoup
4: import re
5:
6: # The particulars for the shows we're interested in.
7: showinfo = {'jukebox': (5, 'Mark Lamarr'),
8: '70s': (6, re.compile(r'Sounds of the 70s')),
9: '60s': (5, re.compile(r'Sounds of the 60s')),
10: 'soul': (2, 'Trevor Nelson')}
11:
12:
13: def recentScheduleURL(showday, day=datetime.date.today()):
14: 'Return the schedule URL for the most recent showday (0=Mon, 6=Sun) on or before day.'
15:
16: backup = datetime.timedelta((day.weekday() - showday) % 7)
17: programDay = day - backup
18: return 'http://www.bbc.co.uk/radio2/programmes/schedules/%d/%02d/%02d' % (programDay.year, programDay.month, programDay.day)
19:
20:
21: def programCode(show):
22: 'Return the code of the program page for showname on the most recent showday.'
23: try:
24: schedHTML = urllib.urlopen(recentScheduleURL(showinfo[show][0])).read()
25: schedSoup = BeautifulSoup.BeautifulSoup(schedHTML)
26: return schedSoup.find(name='span', text=showinfo[show][1]).parent.parent['href'].split('/')[-1]
27: except KeyError:
28: return None
To adapt it to Radio 4, Chris changed the schedule URL string in Line 18 to Radio 4’s URL and he changed the showinfo dictionary in Lines 7-10 to reflect the shows he listens to and the days of the week on which they air. Because the BBC’s site overhaul made its URLs more uniform in structure, those changes were all that were needed.
I didn’t ask Chris which shows he records, but I did notice that, unlike the Radio 2 programs I listen to, many Radio 4 shows are daily rather than weekly. This makes crafting a workable showinfo dictionary a bit more challenging. For example, the Today program runs in the morning, Monday through Saturday. If you wanted to record each episode in the afternoon or evening of the day it aired, there are a couple of ways to go about it.
The brute force technique would be to create a showinfo entry for each day the show airs:
6: # The particulars for the shows we're interested in.
7: showinfo = {'montoday': (0, re.compile(r'^Today$')),
8: 'tuetoday': (1, re.compile(r'^Today$')),
9: 'wedtoday': (2, re.compile(r'^Today$')),
10: 'thutoday': (3, re.compile(r'^Today$')),
11: 'fritoday': (4, re.compile(r'^Today$')),
12: 'sattoday': (5, re.compile(r'^Today$'))}
13:
14: def recentScheduleURL(showday, day=datetime.date.today()):
15: 'Return the schedule URL for the most recent showday (0=Mon, 6=Sun) on or before day.'
16:
17: backup = datetime.timedelta((day.weekday() - showday) % 7)
18: programDay = day - backup
19: return 'http://www.bbc.co.uk/radio4/programmes/schedules/fm/%d/%02d/%02d' % (programDay.year, programDay.month, programDay.day)
20:
21:
22: def programCode(show):
23: 'Return the code of the program page for showname on the most recent showday.'
24: try:
25: schedHTML = urllib.urlopen(recentScheduleURL(showinfo[show][0])).read()
26: schedSoup = BeautifulSoup.BeautifulSoup(schedHTML)
27: return schedSoup.find(name='span', text=showinfo[show][1]).parent.parent['href'].split('/')[-1]
28: except KeyError:
29: return None
The search criterion for the show name had to be a regular expression with start and end anchors (^ and $), because Radio 4 also has a daily show called Farming Today, the name of which would interfere with a search that didn’t have the anchors. Note that I’ve also made the necessary change to the schedule URL string in Line 19 (née 17).
The problem with the brute force approach is that it requires six different AHP sessions and six different audio source AppleScripts, one for each day of the week. A better approach would be this:
6: # The particulars for the shows we're interested in.
7: showinfo = {'today': ((0,1,2,3,4,5), re.compile(r'^Today$'))}
8:
9: def recentScheduleURL(showday, day=datetime.date.today()):
10: 'Return the schedule URL for the most recent showday (0=Mon, 6=Sun) on or before day.'
11:
12: if isinstance(showday, tuple):
13: backups = [ (day.weekday() - d) % 7 for d in showday ]
14: backup = datetime.timedelta(min(backups))
15: else:
16: backup = datetime.timedelta((day.weekday() - showday) % 7)
17: programDay = day - backup
18: return 'http://www.bbc.co.uk/radio4/programmes/schedules/fm/%d/%02d/%02d' % (programDay.year, programDay.month, programDay.day)
19:
20:
21: def programCode(show):
22: 'Return the code of the program page for showname on the most recent showday.'
23: try:
24: schedHTML = urllib.urlopen(recentScheduleURL(showinfo[show][0])).read()
25: schedSoup = BeautifulSoup.BeautifulSoup(schedHTML)
26: return schedSoup.find(name='span', text=showinfo[show][1]).parent.parent['href'].split('/')[-1]
27: except KeyError:
28: return None
Here, I’ve generalized the recentScheduleURL function to accept either a tuple or an integer for the showday argument; either way, it finds the most recent episode. Taking advantage of this, I’ve used a tuple to define the days of the week on which Today runs. Now a single AHP session and a single AppleScript will suffice to record all the episodes in the week.
I like this approach so much, I’ve incorporated the tuple option into radio2.py. Although I don’t need it now, I can foresee a time when I’d want to record a daily show. My thanks to Chris Nelms for his help.
The updated version is available at the GitHub repository.
Weak steel
October 7th, 2009 at 10:51 am
Because I wrote a post last week about the first episode of “British Steel: How British Heavy Metal Conquered The World,” a BBC Radio 2 documentary about the early history of heavy metal in England, I feel obligated to follow up with a post about the second episode, which aired this past weekend. But my heart isn’t in it.
The second show, like the first, focuses on three bands—in this case Motörhead, Def Leppard, and Iron Maiden. I just don’t find them as interesting or funny as the first episode’s trio of Black Sabbath, Deep Purple, and Judas Priest. Too dull, too derivative, and—in the case of Def Leppard—too much exposure on early MTV. The one funny bit comes late in the show, when the heavy metal historian Martin Popoff talks about metal fans hating Def Leppard’s Mutt Lang-produced albums because they were “dumbed down.” I’m pretty sure he wasn’t speaking ironically.
The show touches briefly on Ozzy Osbourne’s early-80s, post Sabbath comeback, which reminded me of my favorite Ozzy story. At some point during that period—the bat-head-biting-off days—Ozzy had a gig at Assembly Hall in Champaign, Illinois, where I was living and going to school. He collapsed almost as soon as he came out on stage, and the show was cancelled. The student newspaper, the Daily Illini, covered the show and got a quote from a kid in line at a concession stand after the cancellation. “If Ozzy dies at this show,” the kid said, “I want the T-shirt.”
Spinal Tap was real
October 1st, 2009 at 12:24 pm
This morning I listened to this show on my ride into work and I have never laughed so much. It’s a BBC Radio 2 documentary called “British Steel: How British Heavy Metal Conquered The World,” and it’s about the early days of heavy metal. Here’s the show’s description:
Heavy metal fan Justin Lee Collins tells the story of the British pioneers who drew up the blueprint for “the Devil’s pop music”. Metal gods like Black Sabbath, Deep Purple, Judas Priest, Motorhead and Iron Maiden, whose vast record sales and enduring influence have made heavy metal the global music phenomenon it is today. In the first programme, find out how heavy metal music started right here in Britain over 40 years ago. Black Sabbath have to take the accolade for being the originators, when they rose from the fiery furnaces of the industrial West Midlands. Their doom-laden rock was the complete antithesis to the hippy movement of the late 60s and the four Brummies soon conquered the world with their monster riffs, dark lyrics and an appetite for rock ‘n’ roll excess. Equally as important were Deep Purple, a five piece band of exceptional musicians whose all-out hard rock music laid down the foundations for all heavy metal bands since: high pitched screams, heavy guitars, a battery of drums and enough testosterone to power an army. And if that wasn’t enough to kick-start a heavy metal revolution, Justin reveals how the arrival of Judas Priest a few years later, would confirm the UK as the epicentre of all things metal.
As you may know, BBC shows are typically available for streaming for seven days after they’re aired. Usually I record the shows with Audio Hijack Pro and don’t get around to listening to them until the seven days have passed. In those cases it doesn’t do much good for me to make a recommendation. But for this show, there are still two days left for streaming, and if you’re a fan of early metal—or just amused by it—you will love this show. It’s the first of two parts; the second part airs this Saturday.
In keeping with the show’s title, American bands are barely discussed. Bands like Vanilla Fudge and Iron Butterfly1 are mentioned, but the focus is on guys from the gritty industrial north of England (there’s a lot of talk of the gritty industrial north), and that’s as it should be.
What makes “British Steel” so much fun? Mostly, it’s the dead seriousness of the presentation. Like the music itself, the show takes something that is, at its root, absurd and treats it with great portentousness. Did you know that Deep Purple was once in the Guinness Book of Records as the world’s loudest band?2 They interview a guy who was in a band called Budgie and act as if it’s perfectly normal.
The Spinal Tap parallels are unavoidable. In discussing the classical influences on metal, they play a Ritchie Blackmore solo reminiscent of Nigel Tufnel’s Boccherini interlude in “Heavy Duty.”
And as the presenter goes through the names of the early Judas Priest albums—done with a reverence befitting a list of fallen war heroes—you swear he’s going to include Intravenus de Milo.

Can’t wait for the second episode.
-
We do get to hear a few bars of “In-A-Gadda-Da-Vida,” for which I’m grateful. When I was a kid, there was a joke about how a true intellectual was someone who could listen to the William Tell Overture without thinking of the Lone Ranger. I believe the heavy metal equivalent is the ability to listen to “In-A-Gadda-Da-Vida” without thinking of Francis Dolarhyde. ↩
-
I did, in fact, know that when I was 14, but had forgotten it until now. ↩










