The Nutwatch

The Internet is great. Not just for, well, you know, but also because every loon and their pet invisible unicorn has a site nowadays. I'm sure everyone's familiar with Timecube by now, but here are a few that you may not have heard of.

First up is one that our American friends have probably heard of since he's one of the candidates for the presidency. I picked up this little bit on Pharyngula:

"I have opponents in this race who do not want to change the Constitution," Huckabee told a Michigan audience on Monday. "But I believe it's a lot easier to change the Constitution than it would be to change the word of the living god. And that's what we need to do -- to amend the Constitution so it's in God's standards rather than try to change God's standards so it lines up with some contemporary view."

Since the bible is pretty much anti-democracy, anti-freedom and anti-human-rights, to hear this from someone running for president of a country that's supposed to be pro-freedom and all that is somewhat unnerving.

Pharyngula has many more stories on religious nuttery. Since Dr Myers is a biologist and a university professor, he's particularly keen on reporting what the Intelligent design movement and other creationist are up to. Since their eventual goals are the elimination of science, they're worth keeping track of.

The second item is Blogs4Brownback. This is a blog supporting another Republican candidate (who has since dropped out of the race), though I very much doubt there is an official affiliation. At least for Brownback's sake I hope not, because there's an bottomless pit of insanity here: from geocentrism (NOTE: very, very long) to flat earthism and from fridges work by divine intervention, not thermodynamics to The Statue of Liberty is Eeeevil, it goes on and on and on. Naturally, many comments have congratulated him on his brilliant parody of the Religious Raving Nutter, but he keeps insisting that he's dead serious. And as I have seen others genuinely believe this kind of stuff, I find it hard to tell. Poe's Law is definitely in full effect here.

Lastly, a tale of programming insanity. A few days ago I found this thread on thedailyWTF. In short, here's a guy who claims he's made the most important application EVAR called SpectateSwamp Desktop Search (SSDS). It's a desktop search tool made in VB5 (yeah, I know) that is platform-independent (yeah, LOL, I know) that searches through a text file (yes, singular) for references to up to 6 search terms using a an interface that couldn't be simpler: a command-line for easy to understand commands like `gf', `a' and such (yeah, I know). But wait there's more! You can also search videos and then play them randomly! After all, that is an essential feature of any search tool.

That's more or less the sales pitch. The rest of the forum dwellers would describe it differently. What the tool actually does is search through a single file and reports the results. To make it work for multiple files (plain text only), you're supposed merge all your separate files into one first. The rationale behind this is that you can search through a single file faster than multiple files. The fact that actually working with a single mega-file is cumbersome to say the least continues to escape him – as does the fact that many files aren't in a plain-text format anyway.

The video thing is also interesting. From what I gather, the tool doesn't actually search through the videos themselves; you're supposed to create a file with descriptions of what the videos are about (manually!) so that it can search that (What do you mean, “What about using metadata?”). But this file is not an index file. Oh no. Because indexing is Eeevil. Particularly automatic indexing. All those other desktop search apps are stoopid for using automatic indexing.

The SSDS interface is also much better than that of other search tools: instead of the complexity of a text box for search terms and a button, you can use a command-line with cryptic commands. And no, regular expressions are not supported. He doesn't even know what the term means.

I know it's not nice to be so negative over someone's creation, but he's been at this for ten years apparently and every techie he's come across has said the same thing: you're doing it wrong. Nicely at first, and then … not so nicely. But instead of listening to the advice he's been given, he ignores them and calls them part of the conspiracy to keep regular users in the dark. Sometimes a point-and-laugh approach is the only option.

For maximum effect, the source code is also available. It can be used as a prime example of why coding standards matter. Here's a snippet (some dead code removed for clarity):

line_12050:     'january 15 2001
   If array_pos <> 0 Then
        data_aaa = aaa + ""
        data_ooo = ooo + ""
        endstuff = "YES"
        array_prt = array_prt + 1
        aaa = array_aaa(array_prt)
        ooo = array_ooo(array_prt)
        SSS1 = KEEPS1       'january 24 2001
       If SSS1 = "A" Then SSS1 = ""    'january 25 2001
       SSS2 = KEEPS2
        SSS3 = KEEPS3       'january 24 2001
       SSS4 = KEEPS4       '09 june 2002
       SSS5 = KEEPS5
        SSS6 = KEEPS6
        GoTo line_12120       'january 21 2001
   End If
line_12053:                     'january 21 2001
   endstuff = "NO"             'january 21 2001
   data_aaa = aaa + " "
    data_ooo = ooo + " "
    tot_print = 0
    'below reduce multiple trailing spaces to 1
   JJ = Len(data_aaa)
    If JJ < 2 Then GoTo line_12070
    If Right(data_aaa, 2) = "  " Then
        data_aaa = Left(data_aaa, JJ - 1)
        data_ooo = Left(data_ooo, JJ - 1)
        GoTo line_12055
    End If

This is part of the wordwrap and highlighting logic. Yes, everything works with GOTOs. Every loop and every Else has been done with GOTOs. GOTOs with labels representing the line numbers. Likewise, the variable names seem to be picked alphabetically: aside from data_aaa, there's also data_a and data_aa and perhaps more. I've seen assembly that's more readable.

You can't really get the depth of madness from just a snippet. The whole thing is 10k+ LoC, and it's a single function!!! There are separate functions anywhere; it's just one humongous function managed by GOTOs and GOSUBs. Even simple loops and Else clauses are done this way, indicating that even after 10 years, he hasn't understood the language. This is also apparent by the loop at line_12055 which come down to two RTrim() calls.

I will say this in his favor though: I am impressed that the tool actually works (for suitable definitions of ‘works’). I'd wager that most programmers would have given up long ago. It must be a very interesting maintenance job too – imagine the mental hazard pay for it!

3 thoughts on “The Nutwatch

  1. I doubt if any other media player can do this. The "GOLF" option catalogs all the videos so that the first set of lines plays the full video at normal speed. Then the 2nd set plays the last 3 seconds at 1/10 speed. Not so stupid after all.

    Golfs most important 3 secs - Captured on Video

    Immediate replay of the final 3 seconds in slo-mo - For all the Golfers

    The only controllable segment when videoing a Golf Swing is the END. By turning OFF recording you enable the software to play just the final 3 seconds (the Swing) in slow motion. What a simple solution to recording and playing back a multitude of golf swings (90+ per tournament) TIMES 2 camcorders: one behind and one across.

    Golf swing clips can range from 3 to 15 or 20 seconds. Not that long but if played back in slow motion. It becomes way too long. A major New Feature of this software solved that. (it plays just the final 3 secs slo-mo) Now the nearly 200 video clips are set to play. Full speed and the 3-sec Slo-Mo

    Within minutes of leaving the course. That video is up and playing on a large screen while the participants are having their supper and awards. The video files are all loaded & running off a 2GB USB stick. They just loved it.

    If you use your video record button like THIS there will always be something worth showing in Slo-Mo right near the end. This measure of control over LIVE video events is better than nothing.

    What a wack'em smack'em screen saver This is. Random video from 2 tournaments (nearly 400 shots) Full speed and Slow-motion of the last 3 seconds. Pure action.

    When things can be done this fast. It's got to be simple and is. Nobody does golf swing slo-mo video playback faster than this. Nobody.

  2. You put on the Golf tournament so why not provide the video promotional opportunities. How great is that..

    SAMPLE of the Rotary Golf video demonstration at Osoyoos June 2010 (180 short video clips)

    The DVD version is much Better. Higher resolution, Instant switching between mini clips and the last 3 seconds (the Swing) in Super Slow Motion..

    This year we will have camcorders at 3 or more holes for even better coverage. The pros will be jealous. With 6 camcorders there will be 600+ video clips, that amount will still easily fit on a DVD.

    The SPECIAL playback software recognizes a short-short video(2 secs or less) as a break record. So within 15 minutes of leaving the course, the Big Clubhouse screens will be up and playing random-by-foursome (by hole). Nobody can do this faster or easier.

    Have the sponsor contribute a Mpg video or 2 to pitch for their latest and greatest NEW product!! These DVD's will be keepers for all the participants...

    What a cool screen saver, video of your friends at some of your favourite golf holes.

Leave a Reply

Your email address will not be published. Required fields are marked *