home *** CD-ROM | disk | FTP | other *** search
- From: xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan)
- Newsgroups: alt.sources
- Subject: USENet vote taking script examples, Part02/02
- Message-ID: <1990Dec19.225206.4635@zorch.SF-Bay.ORG>
- Date: 19 Dec 90 22:52:06 GMT
-
- Submitted-by: xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan)
- Posting-number: <fill in the blank>
- Archive-name: vote_tools/Part02
-
- This is the second part of a two part distribution.
-
- Enclosed is a "how to run a USENet vote" document to accompany the set
- of scripts I used to run the comp.sys.amiga reorganization vote
- acceptance.
-
- There are more explanations in the README, in the first part of this
- distribution.
-
- There is no trailing signature, and this shar is complete in this
- posting. A first posting and shar contains the remainder of the files
- for this distribution. Thanks to Rich Salz for his cshar that packaged this
- distribution so nicely. Enjoy!
-
- Kent, the man from xanth.
- <xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us>
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 2 (of 2)."
- # Contents: docs/POLLING_PLACE
- # Wrapped by csa-vote@zorch on Wed Dec 19 14:05:29 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'docs/POLLING_PLACE' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'docs/POLLING_PLACE'\"
- else
- echo shar: Extracting \"'docs/POLLING_PLACE'\" \(16763 characters\)
- sed "s/^X//" >'docs/POLLING_PLACE' <<'END_OF_FILE'
- XPOLLING_PLACE
- X
- XA description of how a USENet vote is actually run, from start to
- Xfinish, including setting up the files, and the use of the enclosed
- Xscripts, from experience with the comp.sys.amiga reorganization vote
- Xand the earlier comp.sys.amiga.games vote.
- X
- XKent Paul Dolan, LCDR, USNOAA Corps, Retired.
- X15 December 1990
- X
- XPermission is hereby granted to freely excerpt and copy this file for
- Xany purpose whatsoever.
- X
- X1) Thinking it over.
- X
- XIs the vote, and the newsgroup change, really needed? For a big vote,
- Xyou are going to give away all your spare time for four months; be
- Xready to do this.
- X
- XIs there active support for such a change? Have people been muttering on
- Xthe net "I wish somebody would take charge of cleaning up this mess"? If
- Xthe support is only in your mind, you have a heck of a job ahead of you,
- Xand net politics is frustrating in the extreme. Contrariwise, if the
- Xsupport is there, you'll have lots of assistance, but most of the job
- Xwill still fall on you.
- X
- X2) Getting started.
- X
- XDon't jump right into news.groups and news.announce.newgroups; sane
- Xpeople ignore those groups under normal circumstances, so you have to go
- Xwhere the audience for your change currently exists, and lure them into
- Xfollowing a discussion in news.groups. Expect to spend four to six weeks
- Xgetting together a proposal in the group where your audience lurks. Lots
- Xof votes fail for lack of a coherent proposal or an interested audience
- Xfollowing the discussion; the time spent _before_ "going public" is the
- Xmost valuable part of your effort to the final result, so don't hurry
- Xand don't let yourself be hurried by the calls to "just get on with the
- Xvote, damn it".
- X
- XThe net has a significant, sometimes multi-week lag in responses, so you
- Xcan find yourself fielding answers to proposal items long changed or
- Xabandoned. Practice civility and patience; folks at sites out in the
- Xweeds have no choice in the turn around times they experience.
- X
- XTake strong charge of the discussion, but don't get your ego tied up in
- Xthe final proposal details; to get a passing vote, the proposal must be
- Xwhat the intended audience wants, and what the rest of the net will
- Xtolerate; this is unlikely to coincide much at all with your initial
- Xvision, and trying to hold it to that standard is a recipe for failure.
- X
- XAgree with sensible changes by posting a revised proposal. You may do
- Xseveral iterations of this; I did three over six weeks. Use easily
- Xdistinguished subject lines for ease of deciding what edition of your
- Xproposal the responses are considering. I used "REV 0", REV 1", and so
- Xon to highlight the editions.
- X
- XWhen you have a concensus, and a coherent proposal drafted, with a
- Xdescription of the purpose of each new group or other change, a
- X"moderated" or "unmoderated" status for each, moderators chosen as
- Xneeded, and a meaningful name for each new or renamed group chosen, it
- Xis time to "go public".
- X
- XFirst, proofread your proposal. If English is not your native tongue, or
- Xspelling and grammer are not your strengths, get someone to review your
- Xintended posting for errors or unclarity.
- X
- X3) Going public.
- X
- XPost your proposal to moderated newsgroup news.announce.newgroups, with
- Xcrosspostings to news.groups and the groups where your intended audience
- Xlurks, and followups to news.groups, with a subject line like "CALL FOR
- XDISCUSSION, comp.eggplant.lifecycle.* REORGANIZATION". The caps will
- Xmake the subject line stand out when, inevitably, it is pulled back to
- Xother, busy groups.
- X
- XYou are required to run a three week discussion period, but just say in
- Xyour posting "there will be a twenty one day discussion period from the
- Xdate this is posted to news.announce.newgroups"; don't try to guess the
- Xdate yourself.
- X
- XIt is _very_ _important_ to have a Keywords: line all in caps that says
- Xsomething a lot like "NOT THE BALLOT. POST NO VOTES. FORGE NO NEWGROUPS."
- XThe behavior of people on the net must be experienced to be believed, but
- Xheading off trouble in advance is the best bet, and this will help.
- X
- XThe moderator of news.announce.newgroups habitually batch posts articles
- Xon weekends, so post your intended Call for Discussion by midweek at the
- Xlatest to allow time for email transit.
- X
- XNominally, the rest of the discussion takes place in news.groups.
- XActually, most of it will continue in the groups where your audience
- Xlurks, so you must follow perhaps more groups than you ever have before.
- XMake sure that each of your postings in response to these discussions
- Xcontains a crosspost and a followup to news.groups. By this means, you
- Xcan slowly lure more and more of the intended audience into following
- Xthe main discussion.
- X
- X4) Slings and arrows.
- X
- XNot all of the newsgroup creation process is a lot of fun; there are a
- Xgroup of people whose only joy in life is causing mischief to newsgroup
- Xproposals. You're going to need patience for this part.
- X
- XThe crowd that hangs out in news.groups all consider themselves world
- Xclass experts on the best names for newsgroups, and the best shapes for
- Xheirarchies, and they are definitely world class experts at ranting and
- Xraving, and determined control freaks. Most of them will have no
- Xinterest whatever in the subject matter of your intended group, but lots
- Xof interest in dictating how you name or locate it.
- X
- XYou'll find lots of folks convinced that the net is going to crash and
- Xburn if one more group, yours, is allowed to be created, and others who
- Xthink that all subjects except those personally interesting to them need
- Xto be excluded from the net by all possible means, and others who can't
- Xlive with the existance of any but comp groups on the net, though those
- Xhave long been in the minority, and others who want to censor anything
- Xwith a chance of being fun.
- X
- XGood luck at being civil in response; I didn't even try. A kill file is
- Xa godsend in this part of the effort; answering these jerks is a waste
- Xof time, while ignoring them deprives them of the feedback they crave,
- Xand lets your ulcer heal.
- X
- XIf you come into this part of the discussion with a coherent proposal
- Xagreed upon among your intended audience, this is the time to get
- Xstubborn about changes away from that standard to fit the whims of those
- Xwho will never follow the group anyway. Only agree to sensible, well
- Xfounded changes, but when you agree, agree publically by posting a revised
- Xproposal to news.groups.
- X
- X5) Setting up for the vote.
- X
- XGet a separate account for collecting votes! You will find an incredible
- Xamount of trash accumulating, and you'll need a modified mail handling
- Xprocedure for acknowledgements; both can make a mess of your normal
- Xaccount, and you'll need your system administrator's support for the
- Xeffort anyway. For a big vote, you can find yourself using three to five
- Xmegabytes of storage, adding several megabytes a week to your system's
- Xemail traffic, sucking up cpu cycles by the ten billions to process the
- Xvotes, so you need approval in advance for the impact your vote will
- Xhave on your system. You might as well get the temporary account at the
- Xsame time.
- X
- XUnder the main directory, set up directories for the votes, one ballot
- Xper file, for the acknowledgements, one big file will do, for the
- Xbounced acknowledgements, for problem ballots, for gossip email sent by
- Xmistake to the vote account, for the working data files created in
- Xtallying the votes, for the csh scripts, and for the awk source files.
- X
- XIn the main directory keep a current report of the vote status, the text
- Xchunks used to build it, a "thanks for the votes" form letter for the
- Xacknowledgements, a raw ballot for those who can't find the posted ones
- Xand request a private copy, and a straight "yes" ballot for the 5% of
- Xvotes that come in as "yes on all proposals" without a ballot, so you
- Xcan edit one into the ballot letter quickly.
- X
- XSet the scripts in place, and modify the .mailrc, as detailed in the
- Xaccompanying FILE_PURPOSES document.
- X
- XWrite up a ballot; the most successful one I used looked like this:
- X
- X-----
- X"Y" = yes, "N" = no, "A" = abstain; return all 14 vote lines.
- X
- XYNA Create comp.sys.amiga.misc (renames comp.sys.amiga)
- XYNA Create comp.sys.amiga.programmer (renames comp.sys.amiga.tech)
- XYNA Create comp.sys.amiga.announce (moderated)
- XYNA Create comp.sys.amiga.reviews (moderated)
- XYNA Create comp.sys.amiga.introduction (monitored)
- XYNA Create comp.sys.amiga.audio
- XYNA Create comp.sys.amiga.graphics
- XYNA Create comp.sys.amiga.marketplace
- XYNA Create comp.sys.amiga.multimedia
- XYNA Create comp.sys.amiga.applications
- XYNA Create comp.sys.amiga.emulations
- XYNA Create comp.sys.amiga.advocacy
- XYNA Create comp.sys.amiga.datacomm
- XYNA Create comp.unix.amiga
- X\ / ^---------------------------------^ Leave this part alone
- X `----Remove two of these, leave your choice; remove any ">", etc., from front
- X ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- X-----
- X
- XI didn't have the "^^^^^" part, but I recommend it; folks just don't seem to
- Xsee that part without it. This summarizes your ballot proposal and how to
- Xvote, all in a compact format.
- X
- X6) Starting the vote.
- X
- XWhen your files are set up, and an email friend or two has tested the
- Xaccessiblity of your address and the workability of your scripts by
- Xmailing you test copies of your ballot from offsite, the three week
- Xdiscussion is nearing an end, a consensus on names and purposes of the
- Xgroups has mostly been achieved (it will never be perfect), and you've
- Xtaken a big, deep breath, you are almost ready to conduct the vote.
- X
- XMake a posting for news.announce.newgroups out of the ballot, your
- Xlatest edition of the proposal, and a bit of extra text.
- X
- XPut a line at the top saying: "Justification follows the ballot", then
- Xput the ballot where voters can find it quickly; below the ballot, put
- Xyour revised proposal below a line saying:
- X
- X------------ delete remainder before returning ballot------------------
- X
- XPost your vote call to news.announce.newgroups, crossposted to the
- Xinterest groups and news.groups, and with followups directed to
- Xnews.groups as before, with a Subject line like "CALL FOR VOTES,
- Xcomp.eggplant.lifecycle.* REORGANIZATION".
- X
- XUse a Summary: (not Keywords:) line like "THIS IS THE BALLOT. EMAIL
- XVOTES ONLY. DON'T POST VOTES."
- X
- XThe reason to use the Summary: line is that it doesn't get copied to the
- Xfollowup articles. To cope with them, put in a Keywords: line like:
- X"VOTE ONLY WITH ORIGINAL BALLOT. FORGE NO NEWGROUPS. POST NO VOTES."
- X
- XThere will still be people who don't seem to be able to read, but there
- Xwill be fewer if you take all these precautions.
- X
- XPut in a line near the top saying: "the vote will run for three weeks
- Xfrom the date this is posted"; the moderator of news.announce.newgroups
- Xwill set the exact date for you.
- X
- XWhile discussion is nominally over, the control freaks never give up,
- Xand go wild when a vote is actually called. You may find yourself
- Xdefending everything you thought already settled, again. Be patient, it
- Xhelps run up the vote totals.
- X
- X7) Conducting the vote.
- X
- XNow you will see an amazing thing happen; 20% of your final vote total
- Xwill arrive within twelve hours of the article being posted by the
- Xmoderator, and 60% within two days. You are going to be very busy for
- Xa while, and then very bored.
- X
- XFor each ballot received, read it to be sure it is correctly formatted;
- Xif so, save it to directory "votes" under a unique file name; the login
- Xid of the voter is best, extend it with other identifying information
- Xif it is a common first or last name. If using "mail", watch for the
- X"new file" after you save the ballot, to assure that there hasn't been
- Xa filename collision.
- X
- XIf the ballot is badly formatted, but usable, use the edit command of
- Xyour mail reader (for "mail" this is "e") to correct the problems without
- Xchanging the intent of the vote, then save to directory "votes" as before.
- X
- XIf the ballot is unusable (no way to determine the voter's intentions),
- Xsave the ballot to directory "problems".
- X
- XIf the email is not a ballot, but a bounce of one of your acknowledgements,
- Xif you can cope with it then, by mailing a new acknowledgement to a better
- Xformatted address (remember, you can look at the original ballot in "votes"
- Xto see other possible addresses), do so and delete the bounce. If you can't,
- Xor don't have time, save the bounce to directory "bounces" under the same
- Xname as the ballot in "votes", and go on to the next email.
- X
- XFor ballots, respond with your canned "thanks for voting" note; in "mail",
- Xthis is done by typing "R", entering a subject like "thanks for your vote"
- Xif necessary, typing "~r thanks" return, pausing, then typing "." return
- Xor "^D" depending on whether you have "set dot" in your .mailrc.
- X
- XFor problem ballots, mail back a description of the problem and a copy of
- Xthe raw ballot instead of the "thanks" note.
- X
- XWhen you are done processing the current email votes, exit the mailer
- Xwith whatever method deletes all the already saved mail.
- X
- XIn the main directory, with ~/bin in your path, execute "dothevotes &"
- Xreturn. You can then su to your real account and read news or do work
- Xor whatever, with the occasional blast of trash to your screen to tell
- Xyou when one or another phase of the vote counting is done.
- X
- XWhen you see "WRITELETTER DONE" in a row of stars, you can exit back to
- Xthe vote account and review the scoreletter to see how the vote is going.
- XIf you see some "invalid" votes counted, search the tally/parsedvotes
- Xfile for "I " to see whose ballot slipped a problem by you, and then fix
- Xthe ballot or move it to the problems directory as appropriate and run
- Xdothevotes again.
- X
- X8) Vote huckstering and status reporting.
- X
- XYou owe the world a copy of "scoreletter" (and the other reports if you
- Xlike), "parsedvotes" and a list of the ballots (by mailpath) still
- Xsitting unusable in "problems", at the end of the voting period. More
- Xbelow.
- X
- XWhile not mandatory, it is customary to post an intermediate mass
- Xacknowledgement copy of "parsedvotes", but without the vote information,
- Xat a midpoint of the voting period. Since there are two weekends between
- Xthe start and end of the voting period, and since well over half of the
- Xvotes of the votes arrive in the first couple of days, use the first
- Xweekend.
- X
- XAgain post the article by Friday at the latest to
- Xnews.announce.newgroups with a Subject: line like "FIRST MASS
- XACKNOWLEDGEMENT, comp.eggplant.lifecycle.* REORGANIZATION VOTE", and
- Xagain a keywords line like "NOT THE BALLOT. USE ORIGINAL BALLOT ONLY.
- XDON'T POST VOTES." Sigh.
- X
- XIt is also a fact of life that many sites expire news in two or three
- Xdays. If your vote total is running short, post more ballots to the
- Xinterest groups (and news.groups if you are willing to take the
- Xcomplaints) every few days. A few grumpy people will vote against
- Xyour proposal out of spite, but this is more than balanced by the 40%
- Xor so of the vote that can only be gained by being pushy.
- X
- XThere is a slight infelicity in the voting rules, in that the weekend
- Xposting habits of the news.announce.newgroups moderator and the 21 day
- Xminimum vote rule collide to put a week of dead time waiting for the
- Xballot results to be posted. If you have plenty of votes, no more seem
- Xto be arriving, and the issues are not in doubt, cheat and close the
- Xpolls a little early so you can flash your results to the moderator. If
- Xthe issue is in balance, or votes are still flooding in, suffer the week
- Xdelay.
- X
- XYour results posting should contain the scoreletter and the parsedvotes
- Xfile. If you get _lots_ of votes so that your posting would exceed maybe
- X45Kbytes, break it into several postings that size or smaller, with the
- Xscoreletter at the top of each. This is because the vote order in the
- Xscoreletter is the same as the vote order on each ballot line, allowing
- Xvoters to check their ballots.
- X
- XYour scoreletter sl_header text should say the appropriate things about
- Xhow the vote came out, thank everyone for participating, and mention the
- Xfive day "vote challenge" period. Normally, you leave the job of posting
- X"newgroup" control messages to the moderator of news.announce.newgroups.
- X
- X9) Aftermath.
- X
- XAccept the plaudits of your friends and proposal supporters, the heaped
- Xscorn of the opponents, say "sorry, too late" to late arriving votes,
- Xsquirrel away the ballots if you like, or nuke them after the newgroups
- Xgo out, and go have that nervous breakdown you've been working and
- Xwaiting for, and so richly deserve now that you have time for it.
- X
- X /// It's Amiga
- X /// for me: why
- XKent, the man from xanth. \\\/// settle for
- X<xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us> \XX/ anything less?
- X--
- XConvener, ongoing comp.sys.amiga grand reorganization.
- END_OF_FILE
- if test 16763 -ne `wc -c <'docs/POLLING_PLACE'`; then
- echo shar: \"'docs/POLLING_PLACE'\" unpacked with wrong size!
- fi
- # end of 'docs/POLLING_PLACE'
- fi
- echo shar: End of archive 2 \(of 2\).
- cp /dev/null ark2isdone
- MISSING=""
- for I in 1 2 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked both archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-