Clem looks on as Clyde shoots himself a Rocky Mountain Juniper, on the very first day of their two-week tree hunting vacation.
Daze of Our Lives

BBC Eraser Heads

This post is dedicated to the memory of tapes erased by the Beeb. They erased at will nearly everything Spike Milligan had done. They erased everything Dudley Moore and Peter Cook had done. They would’ve erased the Monty Python Flying Circus tapes, but time was on the side of that lot. This practice was carried on in the name of saving money on video tape. You’d think the war had still been on and rationing was in force. According to this authority,

The BBC routinely erased tapes to use them over again, and Python almost fell victim to the devastation. It was apparently saved because of two reasons. First of all, the shows were in color, rather than black-and-white. Monty Python’s Flying Circus was one of the earliest BBC comedy shows to be recorded in color; most of its predecessors (including programs by Peter Cook and Dudley Moore and Spike Milligan) were routinely wiped. And, American interest in running the series also gave the BBC reason to think that they might be able to squeeze a little more life out of the shows before giving up on them. Fortunately, they were correct.

According to Terry Jones,

the BBC execs initially didn’t particularly like Monty Python’s Flying Circus and that the BBC had a habit of wiping old shows to make room in their archives. “The shows nearly got wiped,” Terry is quoted as saying. “I smuggled the tapes out of the BBC before they could be erased. I copied them on to a Phillips VCR, the only home video then available. For a long time I thought the copies in my cellar would be the only evidence of the show.” Of course, the original tapes survived and have since become one of the biggest international selling videos and DVDs.

Granted, there have been recovery of historically significant video, often owing to resources in Australia, for some reason. Archival footage of 1960s Not Only, But Also was found there and distributed as a DVD relatively recently.

The Beeb is not alone in the practice of degaussing prime video material. Last July, NASA admitted the loss of the original television taping of the first manned lunar landing mission.

NASA admitted in 2006 that no one could find the original video recordings of the July 20, 1969, landing.

Since then, Richard Nafzger, an engineer at NASA’s Goddard Space Flight Center in Maryland, who oversaw television processing at the ground-tracking sites during the Apollo 11 mission, has been looking for them.

The good news is he found where they went. The bad news is they were part of a batch of 200,000 tapes that were degaussed — magnetically erased — and re-used to save money.

(…)

[T]here may be some unofficial copies of the original broadcast out there somewhere that were taken from a NASA video switching center in Sydney, Australia, the space agency said. Nafzger said someone else in Sydney made recordings too.

Instead of picking up the phone and calling Sydney, the bloke had a Hollywood studio restore material from secondary sources. No rocket science going on there. Un-effing-believable.

Javascript: Select box navigation

So, you have this form object such as the one illustrated below.

<form>
<select id="idname" class="button" size="1">
<option>Section I </option>
<option>Section II </option>
<option>Section III </option>
<option>Section IV </option>
<option>Section V </option>
<option>Section VI </option>
<option>Home </option>
</select>
<input class="button" onclick="selectOption('idname', URLarray)" type="button" value="Go" />
</form>

You could attach a routine written specifically for that object. Or you could initialize an array with the values for each option and call a routine that knows how to handle such an array passed to it. Here is an example of such a function named selectOption():

//generic list item function

function selectOption(ident, listItemURL)
{
var selObj = document.getElementById(ident);
var num = selObj.selectedIndex;
for (i=0; i<listItemURL.length; i++) {
if (i==num) {
top.location= baseURL + listItemURL[i];
break;
}

}
}

Somewhere before that function you’ll need to initialize an array to pass as a listItemURL parameter. Here’s an example:


var somearray1 = new Array(
'/directory/somefile1.shtml',
'/directory/somefile2.shtml',
'/directory/somefile3.shtml',
'/directory/somefile4.shtml',
'/directory/somefile5.shtml',
'/directory/somefile6.shtml',
'/index.shtml'
);

The form parameter URLarray in this case would be somearray1.

In the function, the optional variable baseURL is also initialized elsewhere, depending on the structure of the files. It is not required in this example as the values of the array in this case are based in the root directory by default. You might, however, want a base url, in which case you would declare it in a header page that would include the head portion of your shtml document. One way to do that would be as follows:



<script type="text/javascript">

var rootdir = "/";
var urlhost = location.host;
var locpath = location.pathname;
var pathtohome = locpath.substr(0, locpath.indexOf(rootdir));
var baseURL = "http://" + urlhost + pathtohome + rootdir;
document.write('<base href="' + baseURL + '" />');
</script>

This declaration would be placed before the function.

The long and short of it is you need only call one function to make a particular select box object work once you have declared an array of option values and successfully passed that array to the function.