David E. Smith on 14 Jan 2002 19:48:33 -0000 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
spoon-discuss: Re: spoon-business: Proposal: Bandwidth Limiting That Works? |
[[ max 6000 characters per player per ballot ]] > [[I welcome input from the Administrator on how this might be > implemented, or if it's impossible. There are any number of > freeware/shareware/bloatware editing programs that count non-whitespace > text (e.g. MS Word, UltraEdit). But the most elegant solution might be > to make all proposal submissions via a web page that would automatically > count the characters and automatically notify the player whether it was > accepted or rejected. Saves everyone having to find their own method of > counting. The counts will never be precise, since I have to add at least a little HTML to each proposal/rule/whatever. Just linebreaks and so on, but that's 4 characters per linebreak and 8 per blank line. http://www.nomic.net/~g6/sizer.php is the two-minute prototype. It's broken, but it shows that it sorta kinda works. It counts whitespace and HTML because I'm lazy. Here's all it does: // first a quick SQL query, then... while($row=mysql_fetch_array($res) { $playersize[$row["owner"]] += strlen($row["ruletext"]); } Writing a function to only count "real" characters wouldn't be that difficult, but it does border on the "takes more than five minutes to do" category, since it has to track at least a little bit of state internally. (And do I count the Standard Delimiter characters or not? The fun grows...) For reference: player 6 is Iain, player 16 is gritter, 17 is Scoff!, and 21 is Bean. (The Web page mentioned above only lists player numbers. Like I said, it was a quickie. I've spent more time on this email than on that page, and I'm not even done with this email yet.) Personally, I like Bandwidth Rationing, for two reasons: 1. It keeps my workload down. I know that right now, in the worst possible case, I'll only have to deal with about 48 proposals (assuming all 16 players submit all three proposals). That doesn't count the fact that some people hold theirs over through an (unintended?) loophole in Bandwidth Rationing, but it's still vaguely tolerable. 2. In a backhanded way, it can encourage player cooperation. If you have some sweeping change you'd like to implement, but it's too complex for one big omnibus bill (236 just leaps to mind here), you can always work with another player. You can submit part of the changes, and someone else can submit the other part of the changes. Yeah, you have to share the points and the glory; it's called compromise (or, "playing nice with others"). If we look at Nomic in general as a microcosm of real-world government, this sort of thing is almost necessary. ...dave