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

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

BINC Is Not Communism, ALL YOUR PAGES BELONG TO US


From: humbubba
Subject: BINC Is Not Communism, ALL YOUR PAGES BELONG TO US
Date: 3 Oct 2006 15:31:17 -0700
User-agent: G2/1.0

echo "
                votescript. Paper ballots, happy electronic trails.

This is an example program that makes a PC and printer a ballot editing
station for elections
with paper ballots.

This is maybe the all-time example of the K.I.S.S. rule, Keep It Simple
Stupid. Most of this
can be customized to a particular locality with almost no knowledge of
programming. I hope.

Rick Hohensee, April 2004 & Sept/Oct. 2006
GNU Bash shell script, probably a trivial port to BSD, MacOS-X, etc..
No command dependancies external to Bash.
"

prez=abstain  veep=abstain      congressman=abstain     senator=abstain

governor=abstain      ltgovernor=abstain    statesenator=abstain
staterep=abstain
mayor=abstain  TCOP=abstain  executive=abstain CCOP=abstain
dogcatcher=abstain

allabstain ()   {
prez=abstain  veep=abstain      congressman=abstain     senator=abstain

governor=abstain      ltgovernor=abstain    statesenator=abstain
staterep=abstain
mayor=abstain  TCOP=abstain  executive=abstain CCOP=abstain
dogcatcher=abstain
}

formfeed () {  echo -e "\f"}

ding     () {  echo -en "\007"  }


waitenter () {
echo    "   Hit Enter to continue  "
read junkvariable
}


yesno () {
echo " Hit the letter 'y' for yes, an 'n' for no, or an 'a' for
abstain, and hit Enter."
read choyce
case $choyce in
        y|Y|yes|YES|Yes)    yna=YES       ;;
        n|N|no|No|NO)       yna=NO        ;;
        a|A)                yna=abstain   ;;
        *)                  echo "
I couldn't reduce your input, $choyce, to a yes, no or abstain, so I'm
taking it as 'abstain'."
                            yna=abstain
                            waitenter     ;;
esac
}


writein () {
formfeed
echo "
     Type in your 'write-in' choice for this office and hit ENTER
     "
read wrotein
}


checkem () {
  formfeed
  printballot
  waitenter
}


newvcode        () {    # Simple gizmo to problematicize repeat voting
                        # Note to poll site proctors...
                        # change fluib and trUb to something unique
if test "$vcode" = "fluib"  ; then
        vcode=trUb
else
        vcode=fluib
fi
}



pickpresident () {
formfeed
echo "
pick your preference for President of the United States of America

         1           Richard Allen Hohensee      Party of Ideas
         2           JEB Bush                    Republican Party
         3           John Forbes Kerry           Democratic Party
         4           Stewart Brand               Green Party
         5           Brad Pitt                   Socialist Party
         6           Oprah Winfrey               O Party
         7           Colin Powell                Libertarian Party
         8           William Thomas              Proposition One Party

        w      write in (type, actually) a vote
        a      abstain, no vote for this office

Hit an option number or letter from the left column and hit ENTER  .


     "
read choyce
case $choyce in
        1)    prez="Richard Allen Hohensee"     ;;
        2)    prez="JEB Bush"                   ;;
        3)    prez="John Forbes Kerry"          ;;
        4)    prez="Stewart Brand"              ;;
        5)    prez="Brad Pitt"                  ;;
        6)    prez="Oprah Winfrey"              ;;
        7)    prez="Colin Powell"               ;;
        8)    prez="William Thomas"             ;;

        a|A)    prez=abstain                  ;;
        w|W)    writein
                prez=$wrotein                 ;;
        *)      halp                          ;;
esac
}

pickvicepresident () {
formfeed
echo "
     make your vote for Vice President of the United States of America

        1       G. Gordon Liddy               Republican Party
        2       Russell Feingold              Democratic Party
        3       Steve Wozniac                 Silicon Party
        4       Nina Utne                     Green Party
        5       Mary Carey                    Libertuna Party
        6       Lindsey Graham                Monarchist Party
        7       Dr. Phil                      O Party
        8       Eric C. Anderson              Proposition One Party

       w       write in (type, actually) a vote
       a       abstain, no vote for this office

  Hit an option number or letter from the left column and hit ENTER  .


    "

read choyce
case $choyce in
        1)    veep="Newt Gingrich"         ;;
        2)    veep="Russell Feingold"      ;;
        3)    veep="Steve Wozniac"         ;;
        4)    veep="Nina Utne"             ;;
        5)    veep="Mary Carey"            ;;
        6)    veep="Lindsey Graham"        ;;
        7)    veep="Dr. Phil"              ;;
        8)    veep="Eric C. Anderson"      ;;

      a|A)    veep=abstain                    ;;
      w|W)    writein
                veep=$wrotein                   ;;
        *)      halp                            ;;
esac
}


pickrepresentative () {
formfeed
echo "
  vote on Representative to the House from Wyoming

        1       Lynndie England             Republican Party
        2       Jesse Ventura               Vee Twin Party
        3       Oliver North                Monarchist Party
        4       Cynthia McKinney            Socialist Party
        5       Tyler Westbrook             Church of the Subgenius
        6       Jerry Stein                 Party of Ideas

       w       write in (type, actually) a vote
       a       abstain, no vote for this office


 Hit an option letter or number from the left column and hit ENTER  .



      "
read choyce
case $choyce in
        1)    representative="Lynndie England"    ;;
        2)    representative="Jesse Ventura"      ;;
        3)    representative="Oliver North"       ;;
        4)    representative="Cynthia McKinney"   ;;
        5)    representative="Tyler Westbrook"    ;;
        6)    representative="Jerry Stein"        ;;

        a|A)    representative=abstain          ;;
        w|W)    writein
                representative=$wrotein         ;;
        *)      halp                            ;;
esac
}

picksenator () {
formfeed
echo "
  vote for your US Senator from Wyoming

        1       Noam Chomsky                    Party of Ideas
        2       Tom DeLay                       Republican Party
        3       Hillary Clinton                 Democratic Party
        4       Mark Foley                      NAMBLA
        5       Joe Leiberman                   Leiberman Klatch

       w       type in a 'write-in' vote
       a       abstain, no vote for this office

 Hit an option letter or number from the left column and hit ENTER  .
"
read  choyce
case $choyce in
        2)    senator="Tom DeLay"               ;;
        1)    senator="Noam Chomsky"            ;;
        3)    senator="Hillary Clinton"         ;;
        4)    senator="Mark Fondle"             ;;
        5)    senator="Joe Leiberman"           ;;

        a|A)    senator=abstain                 ;;
        w|W)    writein
                senator=$wrotein                ;;
        *)      halp                            ;;
esac
}


pickstateofficers () {
mulling=yeah_hold_on
while test "$mulling"  ; do
formfeed
echo "
vote on officers of Wyoming

   1 Governor
   2 Lieutenant Governor
   3 State Senator
   4 State Representative
   5 referenda

         Hit an option number from the left column and hit ENTER  .





     "
        read   choyce
        case  $choyce    in
                1)      pickgovernor            ;;
                2)      pickltgovernor          ;;
                3)      pickstatesenator        ;;
                4)      pickstaterep            ;;
                5)      pickstatereferenda      ;;
                *)      mulling=                   ;;
        esac
done
}


pickstatereferenda () {
mulling=uh_yeah
while test "$mulling"   ; do
    formfeed
    echo "
Wyoming has 3 referenda this year. Type in a number from 1 to 3 to view
and possibly vote on that question to the electorate.
(And hit Enter. ANy other entry or just Enter will leave the referenda
menu.)
     "
    read  choyce
    case $choyce in
        1) formfeed
           echo "
                      Referendum One
  Enact a bill to outlaw cosmetic breast-reduction surgery (reduction
mameoplasty)?


                "
           yesno
           referendumone=$yna           ;;

        2) formfeed
           echo "
                      Referendum Two
  Enact a bill to make it unlawful to lock a portable toilet?


                "
            yesno
            referendumone=$yna           ;;

        3)  formfeed
            echo "
                      Referendum Three
  Enact a bill banning margarine?



                 "
            yesno
            referendumone=$yna           ;;

        *)  mulling=             ;;
  esac
done
}


pickgovernor () {
formfeed
echo "
pick your preference for Governor

        1       Cindy Sheehan                   Party of Ideas
        2       Rick Santorum                   Republican Party
        3       Phil Donahue                    Democratic Party
        4       Bruce Springsteen               independant
        5       Dr. J                           independant
        6       Charles Barkley                 Party? Where?
        7       Bill Gates                      virus detected
        8       Neil Bush                       NAMBLA

       w       type in a 'write-in' vote
       a       abstain, no vote for this office

 Hit an option letter or number from the left column and hit ENTER  .




"
read choyce
case $choyce in
        1)    governor="Cindy Sheehan"               ;;
        2)    governor="Rick Santorum"               ;;
        3)    governor="Phil Donahue"                ;;
        4)    governor="Bruce Springsteen"           ;;
        5)    governor="Dr. J"                       ;;
        6)    governor="Charles Barkley"             ;;
        7)    halp                                   ;;
        8)    governor="Neil Bush"                   ;;


        a|A)    governor=abstain                    ;;
        w|W)    writein
                governor=$wrotein                   ;;
        *)      halp                                ;;
esac
}


pickltgovernor () {
formfeed
echo "
pick Lieutenant Governor for Wyoming

        1       Dianne Wilson                   Party of Ideas
        2       John Bolton                     Republican Party
        3       Michael Moore                   Democratic Party
        4       Tony Blair                      Dunblane Party
        5       Jay McGinley                    independant
        6       Ray McGovern                    Monarchist Party

       w       type in a 'write-in' vote
       a       abstain, no vote for this office

 Hit an option letter or number from the left column and hit ENTER  .


    "
read choyce
case $choyce in
        1)    ltgovernor="Dianne Wilson"               ;;
        2)    ltgovernor="John Bolton"                 ;;
        3)    ltgovernor="Michael Moore"               ;;
        4)    ltgovernor="Tony Blair"                  ;;
        5)    ltgovernor="Jay McGinley"                ;;
        6)    ltgovernor="Ray McGovern"                ;;


        a|A)    ltgovernor=abstain                     ;;
        w|W)    writein
                ltgovernor=$wrotein                   ;;
        *)      halp                                    ;;
esac
}


pickstaterep () {
formfeed
echo "
 vote for Representative to the Wyoming Assembly

        1       Coleen Rowley               Party of Ideas
        2       Katherine Harris            Republican Party
        3       Lance Armstrong             Democratic Party
        4       Bill O'Reilly               Monarchist Party
        5       Richard Stallman            BINC Is Not Communism
        6       Eric S. Raymond             Libertarian Party



      w       type in (write in) a vote
      a       abstain, no vote for this office


 Hit an option letter or number from the left column and hit ENTER  .




      "
read choyce
case $choyce in
        1)    staterep="Coleen Rowley"      ;;
        2)    staterep="Katherine Harris"   ;;
        3)    staterep="Lance Armstrong"    ;;
        4)    staterep="Bull O'Leilly"      ;;
        5)    staterep="Richard Stallman"   ;;
        6)    staterep="Eric S. Raymond"    ;;

        a|A)    staterep=abstain                    ;;
        w|W)    writein
                staterep=$wrotein                   ;;
        *)      halp                            ;;
esac
}

pickstatesenator () {
formfeed
echo "
Senator for Wyoming State Senate

        1       Joseph Darby                    Party of Ideas
        2       Andrew Dice Clay                Republican Party
        3       Howard Dean                     Democratic Party
        4       Kweisi Mfume                    Libertuna
        5       Calvin Klein                    Monarchist Party
        6



         w       type in a 'write-in' vote
         a       abstain, no vote for this office

 Hit an option letter or number from the left column and hit ENTER  .




     "
read choyce
case $choyce in
        1)    statesenator="Joseph Darby"               ;;
        1)    statesenator="Andrew Dice Clay"           ;;
        3)    statesenator="Howard Dean"                ;;
        4)    statesenator="Kweisi Mfume"               ;;
        5)    statesenator="Calvin Klein"               ;;

        a|A)    statesenator=abstain                    ;;
        w|W)    writein
                statesenator=$wrotein                   ;;
        *)      halp                                    ;;
esac
}


pickcountyofficers () {
stillmulling="yes"
while test "$stillmulling" ; do
formfeed
echo "
 vote on officers of Elknip County

          1        Executive
          2        Chief of Police
          3        Dog Catcher

Hit an option number or letter from the left column and hit ENTER .
Anything other than the
given numbers will leave the county offices menu.






     "
       read  choyce
        case  $choyce    in
                1)      pickexecutive                ;;
                2)      pickCCOP                     ;;
                3)      pickdogcatcher               ;;
                *)      stillmulling=                ;;
        esac
done
}
pickexecutive () {
formfeed
echo "
vote for Executive of Elknip County

        1       Alf                   Who Knew? Party
        2       James Hill            Democratic Party
        3       Rush Limbaugh         Reublican Party
        4       Kristen Breitweiser   Party Of Ideas
        5       Paul Thompson         independant
        6       Marvin Bush           Party In Building 7

       n       None Of The Above, Elknip County required lottery-chosen
candidate
       w       type in a 'write-in' vote
       a       abstain, no vote for this office

 Hit an option letter or number from the left column and hit ENTER  .



    "
read choyce
case $choyce in
        1)    executive="Alf"                 ;;
        2)    executive="James Hill"          ;;
        3)    executive="Rush Limbaugh"       ;;
        4)    executive="Kristen Breitweiser" ;;
        5)    executive="Paul Thompson"       ;;
        6)    executive="Marvin Bush"         ;;

        n|N)    executive="LOTTERY"            ;;
        a|A)    executive=abstain              ;;
        w|W)    writein
                executive=$wrotein             ;;
        *)      halp                           ;;
esac
}


pickCCOP () {
formfeed
echo "
vote for Chief of Police of Elknip County

        1       Ted Hendricks           Party of Ideas
        2       Laura Bush              Republican Party
        3       Rick Derringer          Democratic Party
        4       Neil Olkowitz           independant
        5       Jack Lambert            independant

      w       type in a 'write-in' vote
      a       abstain, no vote for this office

 Hit an option letter or number from the left column and hit ENTER  .





     "
read choyce
case $choyce in
        1)    CCOP="Ted Hendricks"            ;;
        2)    CCOP="Laura Bush"               ;;
        3)    CCOP="Rick Derringer"           ;;
        4)    CCOP="Olkie"                    ;;
        5)    CCOP="Jack Lambert"             ;;

       a|A)    CCOP=abstain                    ;;
        w|W)    writein
                CCOP=$wrotein                   ;;
        *)      halp                            ;;
esac
}


pickdogcatcher () {
formfeed
echo "
vote for dogcatcher of East Jesus Township

        1       Dave                    bla Party
        2       Bey                     zay Party
        3       Ed                      woof Party
        4       Frank                   WOOF Party
        5       Marbella                independant

       w       type in a 'write-in' vote
       a       abstain, no vote for this office

 Hit an option letter or number from the left column and hit ENTER  .



     "
read choyce
case $choyce in
        1)    dogcatcher="Dave"              ;;
        2)    dogcatcher="Bey"               ;;
        3)    dogcatcher="Ed"                ;;
        4)    dogcatcher="Frank"             ;;
        5)    dogcatcher="Marbella"          ;;


        a|A)    dogcatcher=abstain                    ;;
        w|W)    writein
                dogcatcher=$wrotein                   ;;
        *)      halp                                    ;;
esac
}


pickcityofficers () {
stillmulling="yes"
while test "$stillmulling" ; do
        formfeed
        echo "
   1       Mayor
   2       Chief of Police

Hit an option number or letter from the left column and hit ENTER  .
             "
        read  choyce
        case  $choyce    in
                1)      pickmayor                ;;
                2)      pickTCOP                     ;;

                *)      stillmulling=                ;;
        esac
done
}
pickmayor () {
formfeed
echo "
for Mayor of East Jesus Township

        1       Alf                   bla Party
        2       Curly                zay Party
        3       Bugs                    woof Party

        w       type in a 'write-in' vote
        a       abstain, no vote for this office

 Hit an option letter or number from the left column and hit ENTER  .
     "
read choyce
case $choyce in
        1)    mayor="Alf"           ;;
        2)    mayor="Curly"         ;;
        3)    mayor="Bugs"          ;;
        a|A)    mayor=abstain                    ;;
        w|W)    writein
                mayor=$wrotein                   ;;
        *)      halp                              ;;
esac
}


pickTCOP () {
formfeed
echo "
vote for Chief of Police of East Jesus Township

        1       Alf                   bla Party
        2       Curly                zay Party
        3       Bugs                    woof Party

      w       type in a 'write-in' vote
      a       abstain, no vote for this office

 Hit an option letter or number from the left column and hit ENTER  .


     "
read choyce
case $choyce in
        1)    TCOP="Alf"           ;;
        2)    TCOP="Curly"               ;;
        3)    TCOP="Bugs"                ;;
        a|A)    TCOP=abstain                    ;;
        w|W)    writein
                TCOP=$wrotein                   ;;
        *)      halp                                    ;;
esac
}



votetally () {                              # tabs make nice record
delimiters.
echo -e  "                                  # might be different in
e.g. pdksh (BSD)
$voterUID\t$prez
$voterUID\t$veep
$voterUID\t$senator
$voterUID\t$congressman
$voterUID\t$governor
$voterUID\t$ltgovernor
$voterUID\t$statesenator
$voterUID\t$staterep
$voterUID\t$referendumone
$voterUID\t$referendumtwo
$voterUID\t$referendumthree
$voterUID\t$executive
$voterUID\t$CCOP
$voterUID\t$dogcatcher
$voterUID\t$mayor
$voterUID\t$TCOP
         "
}


printballot () {
echo "OFFICIAL BALLOT             the United States of America
Elknip County, East Jesus Township, Wyoming
Precinct Null     Nov2008

President                        $prez
Vice President                   $veep
Senator                          $senator
Congressman                      $congressman

Governor                         $governor
Lt. Governor                     $ltgovernor
State Senator                    $statesenator
State Representative             $staterep
  referenda
    #1  $referendumone  #2  $referendumtwo  #3  $referendumthree

County Executive                 $executive
County Chief of Police           $CCOP
Dogcatcher                       $dogcatcher

Mayor                            $mayor
City Chief of Police             $TCOP
$voterUID
     "
}


halp () {
formfeed
echo "
Your input, '$1', doesn't match any of the menu option index letters.
That's a problem for this
particular options screen. 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                  # when you change trUb
change it here too
        echo "
        TTTTTTTTTTT
        TTTTTTTTTTT
            TT
            TT
            TT
            TT
            TT
            TT
        "
else
        echo "
        FFFFFFFFFF
        FFFFFFFFFF
        FF
        FF
        FFFFfF
        FFFFFf
        FF
        FF
        FF
        FF
        "
fi
}



finishvoter () {
formfeed
                                # Squeal if prez is abstain
if test "$prez" = "abstain"         ; then
       formfeed
       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 few people would really want to do that.
              "
       waitenter
fi
                                #  do an 'Are You Sure?'
formfeed
echo "
This is it. The next time you hit ENTER with no other keys your final
official ballot will be printed out, your anonymously IDed reciept will
then 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 scratch
if test "$scratch"    ; then
        formfeed                                 ## just don't clear
$hasnotvoted
else    # print and tally
                hasnotvoted=
                ding
                votetally      >> /mnt/dos/tallyNov82008
                printballot    >  /dev/lp0
                formfeed       >  /dev/lp0
                echo $voterIUD >  /dev/lp0
                formfeed       >  /dev/lp0
                echo "
Thank you for your crucial contribution to the democratic process of
the United States of America in Precinct Null , Elknip County , TOWN ,
Wyoming .  When your ballot and receipt are done printing, fold them if
you like, take it to the ballot box and insert the ballot in the box.
Keep or discard your receipt, (the paper with just a long number
printed on it,) but please don't put the receipt in the ballot box.
"
   sleep 20
fi
}

perVoter () {                           # per-voter
while test "$hasnotvoted"             ;do
        voterUID=$RANDOM$RANDOM$RANDOM$RANDOM
        formfeed
        echo "
You can change your vote for any item until you select the f item,
which will ask for
confirmation, and then your official ballot will be printed out and the
electronic copy of
your vote will be recorded.

    national officers 1       President
                      2       Vice President
                      3       Senator
                      4       Congressman

    State and local officers and referenda
                      5       State officers
                      6       State referenda
                      7       County officers
                      8       City officers

                     p       preview how your ballot will look if you
quit editing and
                                        record your vote now
                     o       Start over; reset all your votes to
abstain
                     f       finish and print your paper ballot, tally
your votes and quit

     Hit an option number or letter from the left column and hit ENTER
. "

        read  choyce
        case  $choyce    in
                1)      pickpresident            ;;
                2)      pickvicepresident        ;;
                3)      picksenator              ;;
                4)      pickrepresentative       ;;

              5) pickstateofficers       ;;
              6) pickstatereferenda      ;;
              7) pickcountyofficers      ;;
              8) pickcityofficers        ;;

                p|P)    checkem         ;;
                o|O)    allabstain      ;;
                f|F)    finishvoter     ;;
                *)      halp            ;;
        esac
done
}



votescript () {               # top endless loop of voter interface,
i.e. main() per se.
# ctrl&C and so on should be disabled here in the real deal, maybe with
Bash keymapping?

setvotescriptconstants
vcode=fluib
while true      ;do     # i.e. always
        allabstain
        formfeed
        vcodehint
        echo    "
                       Please type in your voter key and hit ENTER

                "
        read vcodeTry
       if test "$vcodeTry" = count ; then
  echo $VOTERS
  waitenter
` fi
        if test "$vcodeTry" = "$vcode"              ; then
                newvcode
                hasnotvoted=true
                perVoter
                let VOTERS=$VOTERS+1      #  might be a bit different
in e.g. pdksh (BSD?)
        else 
                ding
        fi 
done     
}



reply via email to

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