Yeraze's Domain 3.0

Supercomputers, Programming, and Life in Mississippi

Entries for August, 2007

The Trouble with TouchScreens

I’m not a big news watcher, and I try my best not to simply reproduce information you can find elsewhere on the net.  However, this one is big enough to warrant an exception.  An excellent report by Dan Rather entitled "The Trouble with TouchScreens" aired recently, and someone has put it up on Google Video.

Doh.. Looks like Google Took it down.
It’s an hour long, and covers a wide scope of information with some really interesting discoveries:
  • Calibration problems with Voting Touchscreens
  • Quality Control issues with Voting Touchscreens related to high-humidity (like the Humidity in Florida)
  • The fact that these units are assembled in Manila
  • The fact that 30-40% of these units leave the Factory, knowingly defective
  • Virtually no product testing prior to leaving the factory
  • An interview with Michael Shamos discussing the reliability problems facing current systems, and what’s needed to make workable ones
  • And much more…

And to make it even better, he talks to people behind the botched 2000 Presidential Election.  Talking with the people who make the paper ballots, he discovers that the ballots sent to Florida in that election were purposely made different from other ballots, both in composition and layout.  He also discusses the possibility that it was done intentionally to further the cause of electronic voting machines, now sold by that same company.

It’s a great insightful show, and I highly recommend that every American see it.

Update 8/17/2007:  Looks like google took the video down.  By the guy behind "The Brad Blog" has a WMV version for download.

[tag:news][tag:voting][tag:danrather]  

vPIP MediaWiki Plugin v1.0

I was surprised to find so much interest in the vPIP Plugin I wrote for Mediawiki.  In response to all the interest, and what I’m pretty sure was a few cut-n-paste errors from folks trying to get the PHP code, I’ve bundled it all up into a TAR.BZ file for download, and wrote up some quick Installation/Usage instructions that you can find here (also linked under the "Scripts" page up top).

If you’re curious what I mean about Popularity, simply check out the screenshot to the right (Colors courtesy of Stylish).  It’s the first page of google results for "vpip mediawiki".  The first 6 are my previous post, with the next 2 being VPIP’s MediaWiki site, and the 9th being me again referenced in a mailing list.   Now I’m listed on MediaWiki.org under Extensions:VPIPPlugin.  Popularity’s never a bad thing, I suppose :)

[tag:php][tag:vpip][tag:mediawiki][tag:plugin]

vPIP & MediaWiki

Note: Please don’t cut-n-paste the following code.  If you want this plugin, then download the necessary files as a Zip File from This Page.

A friend of mine told me yesterday about vPIP.  It’s a collection of JavaScript code to allow for "Videos Playing in Place".  Basically, you can present an image on your page that when people click on it suddenly springs to live to play a movie.  It’s similar to the technology behind YouTube and all those other embedded video sites.  The Videos take alot of bandwidth and client-side resources, and there’s no reason to send them to the user until they explicitly ask for them.  It makes the browsing experience faster, while keeping it pretty clean and transparent to the user.

After a bit of research, vPIP seemed like a great thing to put on the DAAC wiki.  We have a fair number (an increasing number too) of videos on the website in our Wiki, and right now we show an image and a link to download the movie to the user.  It works, but it’s a bit clunky, especially since MediaWiki makes it so friggin difficult to have an Image as a Link to something else.  I first attempted to make a vPIP template that would generate the necessary HTML & JavaScript code, but MediaWiki kept removing the additional tags, breaking it.  It’s a safety feature, I understand, and one that I couldn’t find any way around (which is probably a good thing). 

So my next attempt was to create a Plugin for MediaWiki.  I already had one or two installed, and was able to use one of them as a template.  Continue inside for the details….
[tag:mediawiki][tag:vpip][tag:plugin]

Bug in Tcsh?

One problem I run into alot at work is with Dynamic/Shared libraries on Unix.  Especially with code I compile & install in my home directory, trying to get other people to run it successfully usually runs into lots of problems with making sure the LD_LIBRARY_PATH and LD_LIBRARY64_PATH are set properly, and sometimes lots of other stuff.  ParaView frequently requires that I set TCL_LIBRARY to where the init.tcl is, some tools want to be in the PATH, and various other problems that I always forget to tell people about until they’ve run it once and seen it die.

To get around this, I’ve started encapsulating alot of programs with shell scripts to automatically set these variables.  ezViz (my frequent guinea pig for this sort of thing) is being wrapped with a shell script like this:

#!/bin/tcsh -f
setenv LD_LIBRARY_PATH dir1:dir2:dir3:${LD_LIBRARY_PATH}
/u/rhand/local/bin/`basename $0`-real $*

Pretty simple.  It’s a tcsh script that first adds a few directories to the beginning of the LD_LIBRARY_PATH, then kicks off a program in my local/bin (appending -real to the filename) and passes all the arguments with the $* specifier.  I call this ezVizPathFinder, and rename all the real ezViz binaries to append -real at the end.  I then create symlinks to this shell script it for every ezViz program.  It provides a single point where I can add/remove environment changes to keep things working, and it’s completely transparent to the user.

Until I found a bug.  I had written a TCL script to iterate calls to this shell script with changing parameters over a large number of datasets.  I found that if I passed an argument with a wildcard in it (In this case it was a formula: "newx=cos(angle)*Coord_X – sin(angle)*Coord_Y"), the wildcard would be expanded by the shell script, resulting in strange "ezVizGeneric-real: no match found" errors. 

I was never able to find a suitable way to fix this.  No amount of escaping (adding ’s and quotes) seemed to help, whether in the formulae or in the shell-script.  Finally, I simply switched from tcsh to bash, and now the script looks like this:

#!/bin/bash -f
LD_LIBRARY_PATH=dir1:dir2:dir3:${LD_LIBRARY_PATH}
/u/rhand/local/bin/`basename $0`-real $*

Bash seems to handle this situation just fine, where tcsh/csh got confused.  I know there has to be a way to fix this with csh, but I can’t figure it out.  Any ideas?
[tag:bash][tag:tcsh][tag:csh][tag:shell][tag:unix][tag:linux]