gnu-misc-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: The Ugliest American Bash Script


From: cLIeNUX user
Subject: Re: The Ugliest American Bash Script
Date: Tue, 11 May 2004 07:43:20 -0000

echo "

This kills Diebold. There is at least one previous such project out there
as well.

"


humbubba@smart.net
>doballot () {  
>clear
>                               # Squeal if prez is abstain
>if test "$prez" = "abstain"            ; then
>echo   "
>
>You have selected the q option to finalize your ballot editing session,
>but you haven't chosen a candidate for President of the United States. You
>may want to ask for assistance before hitting another key, unless you
>actually intend to actively abstain from voting for President, which this
>system asks you about because you didn't have to come to the poll to do
>that.
>
>"
>waitenter
>
>fi
>
>                               #  do an Are You Sure?
>echo "
>
>This is it. The next time you hit ENTER with no other keys your final
>official ballot will be printed out and your votes will be added to the
>electronic unofficial tally. If you aren't really ready to finalize
>editing your ballot hit n before hitting ENTER .
>
>
>
>
>"
>read notsure
>if test "$notsure"     ; then
>       notsure=
>else                           # print and tally
>               notsure=
>               hasnotvoted=
>               echo -en "\007"         # beep the PC beeper. Korny.
>               Tally
>               waitenter               # DELETE ME ON ELECTION DAY
>               printballot # > /dev/lp0    UNCOMMENT ME ON ELECTION DAY
>               waitenter               # DELETE ME ON ELECTION DAY
>               clear
>               echo "
>
>Thank you for participating in the democratic process of the United States
>of America and the Second Congressional District of East Jesus Wyoming.
>When your ballot is printed take it to the ballot box and insert the
>ballot in the box.
>
>"              
>       sleep 5
>fi
>}
>
>
>perVoter () {                          # per-voter top loop
>while test "$hasnotvoted"              ;do
>       voterUID=$RANDOM$RANDOM
>       clear
>       echo "  
>
>You can change your vote for any item until you select the q item, which
>will ask for confirmation, and then your official ballot printed out and
>the electronic copy of your vote will be finalized. Your actual vote
>becomes official when you place the printed ballot in the ballot box.
>
>p      President
>v      Vice President
>s      Senator
>c      Congressman
>
>r      Review your votes so far
>o      Start over; reset all your votes to   abstain
>q      print your ballot, backup tally your votes and quit
>
>
>Hit an option letter from the left column and hit ENTER  .
>
>
>"
>       read  maini
>       case  $maini    in
>               p|P)    president       ;;
>               v|V)    local           ;;
>               s|S)    senator         ;;
>               c|C)    congressman     ;;
>               r|R)    checkem         ;;
>               o|O)    allabstain      ;;
>               q|Q)    doballot        ;;
>               *)      halp             ;;
>       esac
>done
>}
>
>
>writein () {
># needs to be a loop
>clear
>echo"
>Type in your write-in selection and hit ENTER 
>
>
>
>
>"
>read $wrotein
>clear
>echo "You have written in"  $wrotein
>}
>
>
>checkem () {
>clear
>echo "
>Your current votes...
>
>United States of America
>  
>"
>printballot
>waitenter
>}
>
>
>
>newvcode       () {    # Simple gizmo to problematicize repeat voting
>                       # Note to poll site proctors...
>                       # change fluib and trUb to something unique to your
>                       #  polling place and change them per election.
>
>if test "$vcode" = "fluib"  ; then
>       vcode=trUb
>else 
>       vcode=fluib
>fi
>}
>
>
>allabstain ()  {
>prez=abstain
>veep=abstain
>congressman=abstain
>senator=abstain
>                               # add local offices here if any
>}
>
>
>waitenter () {
>echo   "
>
>
>       Hit Enter to continue 
>
>
>       "
>read junkvariable
>}
>
>
>president () {
>clear
>echo "
>President of the United States of America
>
>b      George Walker Bush              Republican Party
>k      John Forbes Kerry               Democratic Party
>
>w      write in a vote
>a      abstain, no vote for this office
>
>Hit an option letter from the left column and hit ENTER  .
>
>
>"
>read fedi
>case $fedi in
>       b|B)    prez="George Walker Bush"       ;;
>       k|K)    prez="John Forbes Kerry"        ;;
>       a|A)    prez=abstain                    ;;
>       w|W)    writein
>               prez=$wrotein                   ;;
>       *)      halp                            ;;
>esac
>}
>
>
>Tally () {                             # spaces are tabs
>echo $voterUID"        "$prez ## >> tally  UNCOMMENT ME ON ELECTION DAY
>echo $voterUID"        "$veep ## >> tally  UNCOMMENT ME ON ELECTION DAY
>echo $voterUID"        "$senator ## >> tally  UNCOMMENT ME ON ELECTION DAY
>echo $voterUID"        "$congressman ## >> tally  UNCOMMENT ME ON ELECTION DAY
>}
>
>
>printballot () {
>echo "
>$voterUID
>
>
>
>
>President               $prez
>Vice President          $veep
>Senator                 $senator
>Congressman             $congressman
>
>
>
>"      
>}
>
>
>halp () {      # keep factored out in case candidates grow into a tree
>clear  
>echo "
>Your input doesn't match any of the menu option index letters. That's a
>problem for this system. Please use the letters shown to select menu
>items. I will send you back to the main menu when you hit the ENTER key,
>but if that doesn't make sense you may wish to seek assistance from a poll
>monitoring person.
>
>Hit the ENTER key to return to the main menu.
>
>
>"
>}
>
>
>vcodehint () {
>if test $vcode = trUb  ; then 
>       echo "
>
>       TTTTTTTTTTT
>       TTTTTTTTTTT
>           TT
>           TT
>           TT
>            TT
>           TT
>           TT
>       "
>else
>       echo "
>
>       FFFFFFFFFF
>       FFFFFFFFFF
>        FF
>       FF
>       FFFFfF
>        FFFFFf
>        FF
>        FF
>        FF
>        FF
>
>       "
>fi
>}
>
>
>Main () {              # top endless loop of voter interface
>
># ctrl&C and so on should be disabled here in the real deal
>
>export prez veep senator congressman
>
>vcode=fluib
>
>while true     ;do     # i.e. always
>       voted=          # clear $voted toggle
>       allabstain
>       clear
>       vcodehint
>       echo    "
>       Please type in your voter key and hit ENTER 
>
>
>
>
>
>
>               "
>       read vcodeTry
>       if test "$vcodeTry" = "$vcode"          ; then
>               newvcode
>               hasnotvoted=true
>               perVoter        
>       else
>               echo -en "\007"         # beep the PC beeper. Korny.
>       fi
>done   
>} # end of Main
>
>
>
>
>echo "
>               divehumble, opposite of Liebold 
>
>Unix shell script to serve as electronic polling aid for democratic
>political elections.
>
>initial sketch Rick Hohensee April 2004
>
>Works on cLIeNUX (Linux, GNU Bash shell) on any recent-model IBM-style PC. 
>
>This file is a valid unix shell script, i.e. a computer program.
>
>Korny means this is probably a dependancy on a Korn-style shell or GNU
>       Bash.
>
>Localization of this script may involve changing some text, adding some
>candidates, removing the Senator option, and other simple modifications.
>Avoid changing the logic of Main and perVoter if at all possible.
>
>
>" > /dev/null
>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]