David E. Smith on 17 Feb 2004 04:19:42 -0000


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

Re: [spoon-discuss] test


On Mon, 16 Feb 2004, Mark Karasek wrote:

> By the way, in a couple weeks when I'm not overloaded with work, I'm
> planning on writing a script to handle voting. If anyone has any
> requests, suggestions, ideas,criticisms, insults, or would otherwise
> like to affect the final result in some fashion, just let me know. (This
> applies to Dave in particular - tell me if there's something you'd like
> the script to be able to do to make your life easier.)

What specifically are you planning to do? I can let you see what I've
already got.

There are a couple of pages in the admin interface that handle most of the
common voting stuff:

1. "Insert Votes." Select a player and an nweek, then it displays a list
of all the props on that ballot, with drop-down boxes (Y/N/A/S) and a text
box (for scoring on Prose Form props). And a nifty "submit" button at the
bottom. It's smart enough to see if a player's already voted, and to look
up the player's previous votes (in case someone only changes one vote, I
don't have to re-enter them all).

If a reasonable way to do user authentication could be hacked in, this
might be sufficient for most voting purposes (followed up with an email to
-business detailing anything that doesn't fit in, like Philosophy votes).

The authentication is, however, the big problem.

2. "Process Votes." Select an nweek, click submit. It displays a list of
props, each with a drop-down box:
Normal
Force Shelf
Force Pass
Force Fail

Normal does what you'd probably expect. "Force Shelf" is for when I do an
Admin Veto, or for props that don't count towards scoring (mainly Quote
Props). Force Pass and Force Fail are for when there's something external
that would affect the vote counting (like Philosophy votes).

Usually, I run this with everything set to "Normal," then just look and
see what changes based on Philosophy votes (there's usually only a few of
those, and as often as not, the players that use them cancel each other
out :) If anything needs to be modified, I go back and reload the page,
tweaking a couple knobs as appropriate.

The above page produces output that's pretty much cut'n'pasted into the
nweek result emails.

The problem isn't vote counting, per se. It takes about a minute to add a
player's votes (two, if that player is Glotmorf, since I have to read
through all eir opinions). Another minute or so to tally them up.

It takes another ten minutes or so to adjust players' scores and other
dimensions. (I could probably make the votes form do this, but I've never
been brave enough to do so, and it's not all that time-consuming. Also, it
forces me to look through all the players and look for other odd things,
like keeping track of players who haven't voted in a while, for Forced
Leave.)

The problem is implementing all these proposals.

The rules are in a fairly simple (but functional) database. However,
there's no really clever automatic way to edit all these rules.

The database is about as simple as it can get -- unique key, rule type,
rule number, rule revision, "owner," and text. I use the same database to
keep track of most all revisable objects; "rule type" marks an item as
Rule, Prop, CFI, etc. Owner is multi-purpose: for Props, it's the author.
For CFIs, it's the primary judge. For rules, it's just set to me.

Then there is of course the text. All this stuff has to be edited by hand,
and there's just no way around that, at least not that I can see in the
immediate future.

On a busy-ish week (like nweek 56, which we are technically still in),
there's gonna be 15-20 props. Each of these has to be carefully read,
since you folks have this nasty tendency to do weird things to the rules,
and I like to be sure the game isn't gonna suddenly blink out of
existence. (Protip: I don't usually really read most props beforehand. I
just put in the required HTML markup on autopilot.) I have to account for
every weird thing they do, and commit at least the highlights to memory,
since I *know* it will come back to haunt me later. I try to clean up
punctuation, grammar, spelling, all that good stuff, at the same time.

Then, of course, there's writing long emails like this, which tends to
take up a bit of time as well. :-)

You really want to make my week? Instead of worrying about that, come up
with some clever way to automate THAT. Or a reasonable way of delegating
the responsibility. I don't much care.

In the meantime, one of my teeth had a disagreement with the rest of the
universe a few days back, and had to go away. The last few days, I've been
enjoying Vicodin, which has kept me pretty well knocked out for large
portions of the time. That sorta rationalizes the current delay, I hope,
maybe, but I'm doing much better now, and I do very much hope to have the
props added in and processed by tomorrow.

dave
_______________________________________________
spoon-discuss mailing list
spoon-discuss@xxxxxxxxx
http://lists.ellipsis.cx/mailman/listinfo/spoon-discuss