"The application I've relevantly been assigned to maintain has quite the legacy," writes Jon Beebe, "it's been around since 1997 and has gone through dozens of different hands. Some might say that the work I do to it is built on the shoulders of giants, but not me. It's built squarely on the shoulders of Walker E. Richardson, Suuuuuuuuuupppperrrrr Geeeeeeeeennniuuuuusssss."
"I know Walker E. Richardson only through his code, but still, I feel that I know him quite well. After all, his code is everywhere, and it's often prefixed with something like this.
<!-- // filename:windows.js // javascript lib. for making pop up windows // walker e. richardson, suuuupppppppppppppppppperrrrrrrrrrrrrr geennnnnnnnnnnnnniuuuuussssssss --> <script src="windows.js"></script>
"For the not-so-web-inclined, those comments are in the HTML itself, and not at the top of the referenced JavaScript code. That was Walker E. Richardson's style: describe the libraries where you reference them, not within the library itself. Genius! As for the code he had to offer, here was the genius' way of padding numbers.
function twoPlaces( num ) { //Walker E. Pluribus Unum Richardson //suuuuuuuuuupppperrrrr geeeeeeeeennniuuuuusssss if ( num > 10 ) num = '0' + num; return num; }
"Oh, he'd also sign his functions every now and then... I think when he was particularly proud of them. I guess this function (which I still can't figure out what it does) wasn't quite worthy of his name.
function DebugObject(winOUT,debugOBJ) { if (! debugOBJ) return(false); if ( winOUT.document ) { var dOUT = winOUT.document; } else if (winOUT.contentDocument) { var dOUT = winOUT.contentDocument; } else { alert("cant find browser document"); return(false); } // end if }
"Best of all," Jon continues, "his liberal use of tabs when coding created a zen-like editing experience. "
function SetStartTimesFunc( myDate ) { var wantedTime = document.getElementById( 'SetStartTimes' ); CheckOnTimeInput( wantedTime ); var inputs = document.getElementsByTagName( 'INPUT' ); for ( var i = 0; i < inputs.length; i++ ) { var thisInput = inputs[i]; parts = thisInput.id.split(':'); if ( parts[0] == 'AuctionStart' ) { thisInput.value = myDate + ' ' + wantedTime.value; } } }
Jon added, "at least the user experience matched the code formatting. The suuuuuuuuuupppperrrrr geeeeeeeeennniuuuuusssss managed to use a half-dozen IFRAMES, cookies, and JavaScript on a single page to simulate AJAX-like behavior. That wasn't a hold-over from the mid-90's, it was more a 2009 thing."