Text blasts, Psy, and French math

Greenhill. Saturday night, 11:30 PM. I’m in bed, at long last, the sleep tank running empty. It’s been a busy week, after a series of database upgrades and the usual start-of-season challenges: users new to Tabroom, experienced users who forgot things since they last tabbed in March, new features not quite working, whack a mole bugs from changes over the summer. At that moment, BMan texts me to tell me the coaches of a Certain Program Somewhere out west are complaining that only some of them are getting the text message blasts for their debaters’ rounds.


Text messaging isn’t as reliable as you may think. The failure rate for SMS messages sent individually is somewhere around .5%. For a bulk blast such as Tabroom sends, it can hover somewhere around 1-2%. If that doesn’t sound like a lot, consider: when you blast out a pairing for a Policy round at Greenhill, you are sending a text to 432 people. If the failure rate is even .5%, 2-3 people aren’t getting that message. Blast out six prelims in LD and Policy, and a bunch of elims, and you have about 40-50 instances of someone not getting their texts. Sometimes it’s Mom stalking you from home who misses a text. Sometimes it’s you.

On President’s Day weekend, Tabroom sent out 114,988 text messages in three days. .5% failures mean 576 people didn’t get one text blast; up it to 2% and that’s 2,301 lost messages.

Furthermore, Tabroom and JOT don’t actually send out texts. Sending a text message directly is not free — the carriers would charge us to do it. Since we’re a non profit speech and debate association, and not a global megabank, we use a side door: many carriers offer a little-publicized service where you can text message their users via an email, free. If your phone number is 978-555-1234, and you’re on Verizon, emails to 9785551234@vtext.com come to you as a text. The address you email to is different for every carrier, which is why we ask for your carrier when you sign up. That’s also why some smaller carriers are missing from that list —  they don’t offer this service.

Anything you can email is also a thing you can spam. The carriers are pretty vigilant about monitoring these email gateways for spam attempts —  you’d be really pissed if you started getting Viagra ads on your texts, after all. A service such as ours which sends out 114,984 texts in the course of a weekend, while sending virtually nothing during the work week, will understandably  look like a spammer to anti-spam software. So sometimes it will happen that all T-Mobile customers suddenly stop getting Tabroom texts. I can sometimes negotiate around that, and notify the carriers that we are actually good citizens here, but not always quickly, especially on a weekend.

All of this is to say your SMS message blasts are handy, but you should still check the pairings online when they come out. It also means if you don’t get a particular blast, it’s not a problem I can do much about, and am inclined to brush it off a bit. Report it when I’m finally in bed after a long two days, exhausted and stressed, well… you can go ahead and assume that is not a time of any week I’m eager and ready to bust out the computer and sling some code to save you from having to check an online pairing because you aren’t getting texts. It being BMan — a good friend whom I respect and value, and who has done me multiple kind favors and helped me out on a number of occasions —  I of course replied with a rude gesture and ample profanity, rolled over, and went to sleep.


The next morning, however, I woke feeling better. I miraculously got about 7 hours sleep, which is a debate tournament equivalent of three full nights’ worth. I double fisted Starbucks chai lattes. And the wiki was running better, so things were relatively calm. I had some time on my hands. At that point, the lovely Mr Vincent comes in and tells me that he, too, hasn’t gotten a single blast for his student’s rounds, but has been getting all of his for judging.

That’s a great bug report, by the way. Whining that “it doesn’t work” gives me very few clues what could be wrong, and that in turn gives my surly nature an excuse to dismiss the bug and blame you. My threshold on that is pretty low. Just ask Menick. But CV’s fact pattern was more interesting — he was only getting SOME messages, and the ones he got followed a consistent pattern. Those details made me immediately realize there’s more to the story here, and take him seriously.

I pull up his follower record, and there it is. His email was following the debater, and it looks OK. His phone number was listed in the same record: (214) 748-3647.

“But,” he says, “that’s not my phone number.”

I pull up all the entries he’s following. The number listed: (214) 748-3647.

I look at his login, which is where his own judge blasts are going, and that number was correct. Huh.

I check where area code 214 is, and it’s Dallas. I’m at Greenhill, so I roll my eyes. “Is some kid at the tournament trying to prank me and messing with the system somehow?”  I tell the database to pull up every record of this phone number following entries or judges in Tabroom.

The count was 7,632.


Evil Hackers are poorly understood by the general public; they are not diabolical Armani wearing supermen using specialized equipment to cast secret magic across the network and bend systems by the power of their will. If someone ever says “I’ve hacked into their security cameras and am tracking their movements now” after five minutes of furious typing, the correct response is to nod warily but politely, close the padded door and ask the nurse to up their medication.

Servers are just computers that run software to respond to remote requests, and all software has flaws.   Hacking in the real world is a matter of finding such a flaw and exploiting it.   Systems are very complicated things, and here’s a lot of surface area for mistakes.   Most are harmless, but some are the dreaded backdoors.   A backdoor is a flaw that, when sent specifically formatted data input, will react by giving the sender system access.   Backdoors can lie undiscovered and unknown on systems for years, sometimes decades, before being spotted and exploited.

Finding these flaws and the data that triggers them is hard work for seriously talented and knowledgeable people.     However, hacking is not limited to that elite group.   Every so often, someone out there finds a backdoor, and writes a rootkit which sends the particular data to systems running the software containing the vulnerable code.   Sometimes these root kits are written just to prove that a backdoor is serious, and push the software maintainers to quickly develop a fix.     But sometimes they are released on the internet for anyone to use, and those become dangerous.   While only a few masters out there can create an effective root kit, many thousands know enough to use them once they exist.     If a root kit is released, and no effective defense or patch to close vulnerable systems yet exists, the flaw becomes known as a zero-day exploit.

Users of systems affected by a zero-day can do nothing about it except yank their systems off the network, or hope and pray they’re not targeted.   Zero-days are  given scary names, like Sandworm, Shellshock, and Heartbleed, and written about like they spell doom for civilization and humanity, which policy debaters seeking impact files find very helpful.   They’re big news.   They can be used to steal private information, or manipulate financial or government systems.   Big and important firms therefore have a strong incentive to quickly fix any such flaws the minute a fix, or patch, is released.

The process of applying patches to a server or its software is not much more complicated in principle than applying Windows or Mac software updates.   Institutions with a lot to lose, like banks, credit processors, or sensitive government departments are therefore usually diligent about patches.   So backdoors aren’t often the weapon of choice when attacking a bank or credit card company.     It’s far easier to wheedle a password out of a non-security conscious contract employee by claiming to be the IT department on the phone than to penetrate their network security.     Leakers or careless employees, not backdoors, are the weak point.

Root kits find better targets one step down the food chain: major retailers like Target and Home Depot.   Such companies   possess millions of customer records and credit card numbers.   But computing isn’t their core business, and their leadership tends to be less aware of security issues. Sooner or later, some bean counter up the corporate food chain asks the dread question: “why are we spending so much money on computer security?   I have anti-virus on my computer and that works fine.   Who cares if those nerds in the basement insist we need this stuff?” And IT isn’t exactly filled with people who can argue their case to humans effectively.   So a budget gets cut, security goes lax, and backdoors are left unguarded longer.

Tabroom is not a single program.   It relies on a stack:   an operating system, a database, a web server, code interpreters, and libraries that handle standard things like formats, printing, and timezone conversions.   There’s even various ancillary bits of software like an email server and ways I can access the system.   A  backdoor in any part of that stack could open up my machine to a rootkit.   I have to patch it all, and naturally, I spend rather less time and money on security than Target or Home Depot did.

So why was I skeptical that we got hacked?   Well, bluntly put, nobody cares.

All that software in the stack is made by large teams of coders, many having members entirely dedicated to security.   The part most likely  â€” by far  â€” to have some exploitable vulnerability is the Tabroom.com code itself.   We don’t exactly have a dedicated team of security experts reviewing our code for exploits.     But our low resources reflect our low value  â€” a backdoor in Tabroom would be incredibly  small potatoes.   Finding one gets you access to exactly two systems in the entire world, and one is kind of old and slow.   We’re big in debate, but tiny  overall.     It’s a lot harder to find an exploit in the web server we use, but if you succeed in that, you’d have the key to millions of systems, including ours.   So the web server gets the real hammering, and my code gets none.

The type of hacking a little niche site like ours has to worry about is teenagers with more time than sense,  armed with root kits they  know how to use but don’t truly understand.  They set their  kits to blast the internet at random, looking for unpatched systems vulnerable to their attacks.  Such hackers are called script kiddies.  Their motive, apart from the thrill of the hunt, is to use my machine to host computer game servers, or share porn and illegal software with their friends at junior high.  They might put my machine into a network of other hacked servers and use it as part of an denial of service  attack— where you flood a website with more traffic than it can handle, aiming to knock a site offline.  Ultimately they’re unlikely to care about Tabroom itself, and are only interested in it as a reasonably powerful computer connected to the internet that isn’t traceable to them, so they can do other illicit things without someone telling their parents.

We suffer constant generic attempts by script kiddies, aimed at the stack.   Patching that is easy, and done regularly.     It also helps that many other small site admins are lazy, and don’t.   I’m the neighbor with the alarm system — a burglar can still rob me and probably get away, but she may as well rob the neighbor that lacks one.   We’re relatively safe from folks trying to break my own brittle Tabroom specific code, as  they’d gain so little from it.

Unless we really piss the Internets off.   And that brings us to Ashley Madison.

That site was in a bad spot: their security resources were probably limited due to their size, but the cost of their data being exposed was clearly very high.   Also, most people, their attackers included, found the Ashley Madison service appalling, which further increases the incentive for an attack.   Folks whose morals would not permit them to hack a bank had no compunction about targeting Ashley Madison.   The attackers went out for blood, and they sure got it.

Their aim was nothing less than bringing the whole service and its parent company down, and they succeeded.  They focused specifically on Ashley Madison, stole all their data, and made it public.   Clients were embarassed, awful conduct exposed everywhere, and the service and its company died.   Moral of the story: if you run a odious, sexist website that caters to powerful assholes, while keeping deeply damaging personal data about said assholes in a database, try to stay up on your security patches.

What they did not do, after all that time and effort spent conducting a targeted attack,   is  sit around changing people’s text message alert phone numbers, whose full impact is annoying me on a Sunday morning.   Therefore, I didn’t have a hard time dismissing the presence of a hacker after a cursory check for evidence thereof.


If not an evil attacker then, where the hell did (214) 748-3647 come from?

I investigated further. I set myself up to follow one of my own debaters, and put in my number, which is from the 978 area code. And then I look it up in the database:

(214) 748-3647.

I try some other numbers. Same result, every time. Now, I’m really alarmed. I wonder in horror if I’ve written some bug that substitutes a random Tabroom user’s phone number in for anyone else who follows an entry or judge.  I say a silent prayer for whatever poor sod out there whose phone went through a sudden seizure  every time Yale, Greenhill or Georgia State published a round.

I check the accounts database: the place that stores your number permanently, to follows your own competitor or judge records.   No active Tabroom login has that number.  So if this a person in the speech & debate community, they’re not very active.

I read over the following-code very very carefully, and check the value of the variables therein at every stage of its operation.  Nope, it was fine.

Finally, I bypass my code altogether, and run a direct database command to change  the follower record I have created to my 978 phone number. This method accesses the database directly, bypassing all Tabroom code, and therefore any bugs I might have created.

And I get (214) 748-3647.

I then send a runner to find Father Hahn and tell him to bring a gallon of holy water to tab. Kid thought I was joking, because the good Father never came, but I’m not sure I was.

There are moments in computing where you sink into despair. You write a function to do one thing, and it acts in a way so contrary to expectations, intuition and experience that you start to lose hope and faith in the world as a predictable place. You say to yourself: “Self, is this the day that the universe has decided to focus a small part of its attention solely on driving me crazy? Have I finally snapped?  If the database functions that way, then is the speed of light still a constant?”  Also, I’m usually flying solo at tournaments, without someone to provide a sanity check.  There are approximately ten  people in the entire country who fluently understand both tournament tabulation and tech.  I cannot begin to explain some  problems to anyone else, because we don’t share enough technical language to even have a conversation.  It’d be like your mom offering to help you cut a counterplan.   The hours spent explaining the premise wouldn’t be worth the twenty minutes of help.

So when I reach the end of logic, and find myself like Wile E Coyote running on thin air after running out of road, falling only when I look down — during those moments I can only sit there and stare at the screen, wonder what I’m  missing, and hope I don’t start weeping.   It’s important for computer people to keep up an all-knowing appearance  â€” folks are afraid enough of tech without realizing  that I’m sitting there, with all the tournament data in my hands, in a blind panic and ready to run for the nearest airport.   That’s why Sarah Donnelly gets instantly concerned when she observes that I’m wearing my “oh-no face.”

I decide instead to take a mental break, which can often help in those situations.  I start to randomly wander around the internet.   I wonder if I can look up who has this phone number.   Sometimes you can Google a phone number and find out who it belongs to, if they’ve posted it on the web somewhere. Instead, I get…a Wikipedia page for Mersenne primes?


Mersenne primes are prime numbers one less than a power of two. 3 is a Mersenne prime, as is 127. Powers of two are important in computing, since all computer storage is ultimately binary data, consisting of solely zeros and ones.  That’s because data is represented with small magnetic charges, which are either present (one) or absent (zero) in a given region of a disk surface, giving you 2 digits to work with.  Each such tiny field of data is called a bit, which is the smallest unit of computer data.  So computers  count by 2s, not by tens like we do.  Base-2 counting means every  additional digit, or bit, represents an additional power of two.   1 in binary is  1 in decimal counting too.  But binary 10 is 2.   100 is 4.   1000 is 8.

1 1111 means you add the powers of 2 shown together: 1+2+4+8+16= 31, which is one less than the next digit alone, 10 0000  =  32.   Mersenne primes like 31 are easy to spot in binary: they are all 1s.     Not all numbers that are all 1s are Mersenne primes, however, since they’re not always prime numbers — 15 is binary 1111, one less than a power of two, but not prime.

The amount  of data a computer can store is  always one bit less than a power of two.   Eight bits of memory (a unit known as a byte) could store the number 255, which is 1111 1111.  But it can’t store 256, which requires nine bits:  1 0000 0000.  Folks in computing therefore tend  to be very familiar with powers of two.   If someone you know refers to 512 as a “nice round number”, they’re probably a programmer.  A t-shirt I may or may not own proclaims “There are 10 types of people in the world, those who understand binary and those who don’t.”

A few years ago hard drive vendors pulled a fast one on its customers and redefined data storage units.  Normal people generally assumed a gigabyte equaled 1,000 megabytes, since we think in terms of tens, but in fact it was equal to 1,024 megabytes (minus one bit), which is a power of 2.   But vendors took advantage of that assumption, and attempted to redefine a gigabyte to 1000 MB, and then in turn a terabyte to 1000 GB, basically shorting you of space.  Pop that “1 TB” drive into a computer, and the computer will report that it’s only about 980 GB in size, because it defines these units in binary terms, not decimal ones.

If your storage contains a certain number of bits, you can express numbers up to one below 2 to the power of that number of bits. Those limits  are therefore often Mersenne primes.    32 bits of memory, to draw a non-random example, can represent a number that’s (2^32 – 1) in size.   That’s the limit for an unsigned integer, which are only positive.     The more common signed integers sacrifice a single bit to indicate whether the number is positive or negative.   The largest signed integer you can store in 32 bits is therefore equal to (2^31) – 1.

Which would be  2147483647.


When you design a database you must pre-declare how large the data in any given column is going to be limited to. The reason is that the database will allocate the space for data in set, predetermined chunks. If you say a given data field should be big enough to hold 255 characters, and then put only 2 characters into it, that field will still take up 255 characters worth of storage. So if you’re storing, say, state abbreviations, good practice is to limit the field to 2 characters only, as correct values will  never be larger. With stuff like proper names or so on, you make a decent guess, and leave some padding.  If anyone in debate has a first or last name longer than 63 characters, be prepared for disappointment when you register on Tabroom.

Before last week’s data conversion, I stored phone numbers as strings, which can be letters, numbers or punctuation, instead of just raw numbers. So if you typed in (978) 555-1234, that’s what I’d store, spaces, parens and all.  But the text-email gateways only want numbers, nothing else.  So every time Tabroom sent a  blast out, it would have to first remove  all those non-number characters.  That costs a little extra processing time, but more importantly, it’s bug prone: I had to do it every time I accessed phone numbers, so if I had to change how I do that, I had to change it every place I do so.  And inevitably I’d forget at least one and create a bug.  Also, storing characters takes up more space than storing raw numbers only, and keeping  all that extra punctuation is wasteful since I was just going to remove it anyway. So, in the update, I changed how that works, and now strip out the non-numeric characters before storing your number, keeping only the numbers  themselves.

Database designers tend to pay close attention to string sizes, but when storing integer numbers, it’s easy to get a bit lazy and just declare the default sized integer, an INT: 32 bits.   That’s a default for historical reasons.  Most computer processors made from around 1995 until 2005 had 32 bit instruction sizes, which means the largest numbers they could process in a single chunk within the chip itself was 32 bits in size.  A 32 bit computer can deal with larger numbers, but it has to pull tricks and any such operations are slower and less precise than dealing with ones that fit in its pipeline.    This  limit affected how quickly and precisely 32 bit CPUs could do math involving large numbers, how much RAM memory their systems could manage, and even how long they could maintain their  internal clocks: 32 bit processors will stop keeping correct time on some operating systems in 2032.  Nowadays standard processors have 64 bit instruction pipelines, but 32 bit limits remain common throughout computing, because folks got used to that being a reasonable default and it’s stayed that way since.

Save a number into a database field that’s beyond its ability to express, and the database will save instead the largest number it can, the Mersenne prime 2147483647.

And thus, my bug.

Why I didn’t see it until now is a lesson in psychology.  In Tabroom, by default you must enter each ballot twice before it is accepted.   I discourage people from using visual scanning as an audit method, because when you see or hear a number and have to confirm that a second number matches, sometimes your brain sees what it expects to see, rather than what it actually sees.   It’s better to have to read and interpret the ballot twice, preferably by two different people, so no expectation biases exist.   That same human flaw stung me — I was looking at it expecting to see a phone number, and it was indeed a valid area code followed by seven digits.   So I saw a phone number, and didn’t recognize it for what it was.  As much as that seems like a really random number, it’s fairly well known in computing because 32 bit size limits are very common.  It’s known as max int. I could have recognized it, but I was  in the wrong mental context.


It so happens nobody has max int  as a phone number; we called it and got a busy signal. I did not spend the weekend spamming some poor schmuck in Dallas with thousands of demands that they be affirmative against Lexington SM in US 302 in front of DHeidt while also judging an LD round in WLH in New Haven and watching a Northwestern team run  the K in Atlanta — which actually  happened, so at least  my experience wasn’t the weirdest of the weekend.  My messages, and your text blasts, just disappeared into the ether, rejected by bewildered cell carriers which did not have that number and would you please stop asking us to text it, Tabroom.com?

When the Gangnam Style video became the most popular Youtube video ever, it was the first to achieve more than 2,147,483,647 views, and for a while the counter stuck there.  It was rumored that Google fell victim to this same error.

After an hour and change of searching, despair, crazed laughter, learning new things, beating my head against my screen, and both sass from and mocking of BMan, it took six words to fix:

ALTER TABLE follower MODIFY cell BIGINT;

A BIGINT is 64 bits. It can store a number up to 18446744073709551615. Unless  the phone network grows by a lot, we should be good now.

Then I went and got another chai.


I hate computers.

A theory of theory

A is the interpretation.

Most theory is terrible, and never should be run.   Theory as a strategy is harmful to debate.

B, the violation, is self-evident.

C is the ground.

Judges are routinely voting for things they hate, because the debaters present them little choice.     Theory is everyone’s villain: nobody refers to a theory heavy debate as a classic. We speak of rounds “devolving” to theory battles, designating them for a lower plane of evolution. It leads to unhappy judges, lowered speaker points, and unsatisfying rounds – all assertions that need little warrant.

Theory doesn’t win. Sure, it wins rounds – a lot of them. But it doesn’t tend to win tournaments.     Debaters who resort to theory a lot are the under performers – the debaters who never seem to reach the level of success their skill would suggest for them. The big championships tend to be won by the debaters who engage in it least.     Theory can win when both debaters do it, as the judge wishes to be elsewhere while signing the ballot. Theory can win when the debater using it is much better versed in it than their opponent – a round which the theory debater would have won anyway.     It can also win in the cheap shot round – throwing a trick out there, a snake hidden in the weeds, to snatch a victory from a better debater. The last approach is seductive to sophomores, struggling in their first varsity rounds. It also only works for sophomores – once a debater does it enough, they cease to catch anyone unawares, as their opponents grow alert to the threat.

Theory doesn’t help LD. The more theory has grown in the last four years, the more LD participation numbers have dropped. Theory is not useful beyond debate. What little it does teach – logic, extemping arguments – substantive discussion teaches better. Theory could easily drive students away – it’s boring. It’s a skill that will give them nothing past LD.     We’re left with the debaters who would have stuck around anyway – debaters who are glad to win theory because they’re in it to win, and don’t especially care about how they get there.     Debaters run it as a time sink, which crowds out actual substantive debate by definition.

Theory encourages more abusive affirmatives in the first place. If every debate is just going to devolve to theory anyway, there’s little penalty to breaking realistic norms with intent. Why not run an abusive, shifting and non-topical plan, when you’re going to have to win a theory debate anyway? May as well start off with a lead on substance.     This year, I hear a lot of angst at the rise of critical race theory arguments or other non-topical cases based on identity, which some LDers have imported from policy. I wonder how an LD debater who runs mutually exclusive theory interpretations can possibly object to abandoning topical debate in favor of identity arguments, when what it’s really replacing is theory games involving invented rules.

Theory blocks access to LD.     It’s totally opaque in most cases, as ground arguments speed on by incomprehensibly; I rarely even bother trying to flow it, given I can’t understand and don’t pretend to care. The local debater or debater trying out LD for the first time is just blown out of the round, and then figures they should look at PF or mock trial. There’s nothing wrong with PF or mock trial, but there’s something wrong when someone who really loves philosophy and would be happiest in LD settles for them because they can’t make headway against theory.

Theory is the preserve of those who can afford camp. Research about topical literature is available to all. Research about identity and performance is likewise available to all.     Camp makes arguing these things easier, but it’s not necessary.     Theory, however, can be learned nowhere else.     It rose in part so camps could justify their cost – it’s the only way, short of rigging the topic votes, that a camp can provide arguments guaranteed to be useful in the coming school year.     But their utility comes at a cost; since there’s no external way to learn about theory or practice it, beyond the bounds of a large coaching staff or affording camp, it becomes a gateway issue, a hurdle to those who have neither. It’s hard to teach oneself substantive debate and philosophy, but the internet and the library do afford the chance. It’s impossible to teach oneself theory, since it’s all about technique, and most of that technique is about freezing your opponent out of rounds in the first place.

Theory prevents the formation of actual norms in the community. If we had the occasional theory everyone asserts is necessary – some viable limits on the topic, and the approaches that affirmatives and negatives take with it – then the argument would hold. But in a world where debaters are constantly inventing rules mid-round and accusing their opponents of violating them – when the violation comes ahead of the interpretation – it’s impossible to settle on actual norms. It’s further impossible when the educators are removed from the question. Judges are admonished not to intervene, which means we’re unable to use the debate round as a platform to help establish those norms and get past most of the frivolous theory out there.     Theory can never reach an actual answer in the round; if we did, the debaters who rely on it would just move the goalposts.

Theory has no impact debate. Education and fairness are rarely sketched out arguments, but instead are watchwords, talismans invoked but not explained. Rarely are LD theory impacts actually tailored to the violation; instead they are rote incantations with little value beyond their ritualistic necessity.

Theory is impossible to judge, and to train judges in.     Without a reference to the rest of the world, there’s no way a judge can gauge theory arguments on anything other than crosshatched tallies of argument quantity. I can tell you whether an economic argument or a moral one has internal sense; I cannot do the same of theory arguments. Debaters complain about random outcomes to theory debates, and then those same debaters become judges and understand – now only too late to run something else as a debater.

D, of course, is the impacts.

Theory hurts fairness, freezing the debater without money or resources even further by pinning debates on esoteric nonsense that give automatic wins to those who invoke it. It makes preparation infinite, as you can never prepare for the invented rules of your opponent. It excludes people without the time or the inclination to learn material that never will be useful again.

Theory hurts education. It displaces topical debate, a lot of it. It displaces substantive non-topical debate, too. It lets negatives who haven’t prepared enough get away with using it as a filler. It prevents both sides from having to think about responding to novel arguments, to engage in the crucial skill of applying evidence and reasoning in a way they hadn’t thought of to answer a new position.     It encourages frivolous affs who know full well nothing will be extended.     And it reduces the numbers of debaters, and even programs in LD in the first place.

The last impact is a personal one. If theory keeps being a dominant part of LD, then LD will cease being a dominant presence in my life. Among the many major impacts is a minor one – it’s boring me to tears. I’ll coach something else, if at all, and even recommend that Lexington stop doing it. It’s a waste, of time, effort and money, to play in this self-referential sandbox. I’m not sure why I do it even now. If it lasts much longer, I won’t, and I’ll steer others away it as well.     It doesn’t help matters that next year’s policy topic is one I am really interested in and have technical expertise in.     This minor impact becomes major because I’m not alone in feeling that way.

E is the alternative. OK, so this just became a K.     You’re going to have to cope.

Without some theory, we go back to the land of eighty three NIBS, of floating advocacy, of made up evidence, or whatever else got us started down the path.  But the status quo means the solution has become worse than the illness. So we require means to keep the limits without the excess.

So I propose we add one rule to theory that can sweep aside many others: every interpretation should be warranted with a card.     Before a debater may run theory in a round, they should first justify the interpretation and standard on real grounds in public writing, or have a coach do the same.

That solves many of the harms above. It allows for rules to be fleshed out in an open arena, devoid of the competitive pressures, time limits and necessity to vote a round entails. It could be two competing theory interpretations are both wrong – a judge still must vote for one of them, but in an open forum, the audience may easily reject both.     Therefore, bad rules or norms can be winnowed out. A good proposed norm will stand the scrutiny of many voices, while a harmful or spurious rule will quickly grow a list of arguments against it.

It allows for adult participation in the argument. Adults have no voice in the course of a debate, which is proper – but adults should have a voice in the formation of norms, which itself is the curriculum of debate in a real way.     If theory must be cited, then a coach can generate those citations, or argue against them as easily as a debater.

Publication is no bar to anyone; there’s essentially infinite space on the debate web, and few of the sites aren’t looking for content. Getting a coherent theory article published should be possible for anyone. And once online, they become a resource to those who can’t afford the tuition and travel of camp; a debater can self-educate on theory, and prepare for a circuit tournament from a local league. Theory cards would have to carry the same citations as any other, and the ground and impact level debate would be already developed within those cards.

About the only harm is that it would limit what you could do in a round when something truly bizarre and objectionable emerges. In that case, you might lose a round – a somewhat less serious harm than debate practices eating at the very fabric of the event.     Or, you’d have to think about the arguments raised and the parallels to evidence and theory already established – which would, incidentally, be a critical educational goal of debate in the first place.     Independent thinking isn’t so bad, once you get used to it.

Semiotics

I actually wouldn’t mind ordinals; the idea you’d spend hours figuring out distinctions between your 75th and 76th judge is spurious.   If you can’t distinguish between a couple judges, then it doesn’t matter what order you put them in: just put one as 75 and one as 76 and move on with life.   It’s easier in practice than you’d think.   Plus, Tabroom actually has rather nice features built around ordinals; it can auto-generate a pref sheet for you based on your past ratings of a judge as a starting point.

And you’ll pardon me if I casually shrug off the conservative objections to Something New from the group of tabbers whose original schedule for switching over to online tabbing & balloting would have had us trying it out for the first time in early 2016.

But to see the point I’m trying to make about narrower band categories, you start with an ordinal sheet; the “true” sheet of how a given debater prefers judging.   A true ranking of preferences won’t necessarily be a smooth linear progression; it’ll have little clumps.   There’ll be a nest of three judges in the topmost spot, and then maybe a clear 4th, then maybe 3-4 judges tied for 5th, and so on.   But the size and location of those clumps will be random enough that the pref sheet is essentially a gradient.

A tiered system necessarily imposes arbitrary boundaries on that gradient, turning them into bands.   The fewer (and wider) the bands, the more information is lost.   Menick says that when you rate a judge a 2, they’re a 2, and thus are magically mutual with every other 2.   But plonking a label on a judge doesn’t make it so.   The judge could be my favorite 2 and your least favorite 2, in which case the judge isn’t very mutual at all; there’s a lot of slope between our opinions.   The most mutual judge, in fact, may be my favorite 2 and your least favorite 1, being separated only by one notch made more significant by the random chance of the tournament policy.

Look at tournaments that require you to rate 25% of the field a 1 and 25% a 2.   You’ve now rated half your judges in the top two tiers; and you’re going to get all kinds of judge matchups where the gap in preferences may differ by as much 24% of the field.   A 1-2 matchup in that case could be killer.   It’s not uncommon — and not difficult — for such tournaments to put out pairings with all 1-1 matchups, maybe a few 2-2s.   These matchups sometimes really stink; you end up with your opponent’s favoritest judge in the world when it’s the person you held your nose and plunked a 1 because you really needed just one more.   I’ve been on the wrong end of those pairings.

Now take Lex, where 11% were 1, and 11% were 2.   Lex’s 1-2 pairings are a little more precise; they all fall within the top 22% of your pref sheet.   Further, by drawing a line in the middle of that pool of judges, you can minimize their number.   There’s nothing a tournament requiring 25% of the field to rank 1 can do to minimize judge pairings that may be 24% of the field off on people’s actual preferences; it doesn’t have the data, and so doesn’t know that another 1-1 might actually be far more mutual in the debaters’ actual preferences.   Lex didn’t have any matchups 25% of the field off, and minimized the number of pairings that are 11-22% of the field off.     It’s more mutual, by which I mean more reflective of the actual preferences underlying the numbers on the pref sheet, not the fake mutuality of categories, which conflate the signifier and the signified.

I don’t buy the argument that new schools are going to be screwed by not figuring this out; that’s an argument to abandon prefs, not an argument to make them blunt versus narrow.   It’s also non-unique harm; new schools have to figure out theory, framework, impacts, cards, and spreading too.   It’s not the pref sheet keeping rookies out of the bid round.   A new school could get a judge that really favors their style and disfavors mine, and chances are my kid will beat them anyway, if only because I will know the judges’ preferences and the new coach won’t.   “You have to be smart to do that!” is true of nearly everything in debate, and should rather remain so.   Plus, LD is way more open to new schools and disruption than policy is; new schools are competitive on the national circuit all the time.   The answer to this is helping and teaching new schools how debate operates, not changing how debate should operate.   I put my money where my mouth is there, too: I’ve filled out pref sheets for lots of other schools.

In the end the debate is immaterial, I believe.   Whatever the merits, I think the trendline towards greater precision is inevitable.   TRPC limited LD to 6 while Policy could choose 6 or 9; 6 remained the norm in LD but in Policy most tournaments use 9 — in other words, both ended up using the largest number of tiers they could.   College policy, thanks to the good professors Larson and Bruschke, had software that did ordinal prefs years ago, ordinals they have used, with few exceptions.   Now that Tabroom has lifted the arbitrary 6/9 limits, I think high school debate, for high stakes tournaments anyway, will move towards ordinals, no matter what we say or do.   I embrace it, but even if I didn’t, I would think it’s going there anyway.     It’s a natural progression outwards from strikes to prefs, when you think about it; strikes are simply a really inaccurate pref sheet.   So I’d say, practice your ordinals…

…and just wait until I explain the percentile system to you.

Answering innumeracy with data

He still doesn’t understand my point about increased mutuality, but I’ll write that up when it’s not   12:30 AM on a Tuesday.

For now:

  • Percentage of 1-off judges at Lexington:     8.46%
  • Percentage of 1-offs at Columbia:   8.33%

Man, really blew mutuality to shreds with those 9 tiers at Lex, didn’t we?

At Columbia, 12.5% of the VLD pool did not pref; at Lexington it was only 9%, thus making the job harder at Lexington to boot.     As we say in the business, “No Link.”

 

Potshot #2

Menick is reaching a flawed conclusion, in my opinion, not because his reasoning is unsound — try not to faint of shock — but because his underlying assumptions are.

Assumption #1: My pref sheet is based on paradigms.

Hah, as if.   The nether regions of the pref sheet are sometimes based on a reading, or the mere existence, of a paradigm.   The meat of the pref sheet, however, is based on first hand experience with judges.   We keep a written log of our RFDs in our team Dropbox; I read those regularly to adjust our pref sheets, because that’s actual data, and not just random assertions and opinions like the paradigm represents.     I’ve never read the paradigms of our top judges; I rely instead on being in the room when they say “I vote on theory” and ignore their assertion that they never will.

As such I find judges, the ones I prefer anyway, rather predictable.   When my debaters lose a round, they get an L; when they win one, they get a W, and we can talk about how to make the former turn into the latter.     99 times out of 100 I can figure out why they lost a given judge and most of those times, it’s because they ignored something I told them to do beforehand.   The other 1 time, the pref sheet probably changes.   My pref sheet isn’t about converting Ls into Ws; it’s about winning when we do win the debate, and being able to coach beforehand.

Remember, señor Menick, that the folks you’re hearing from are those coming into tab suggesting that you find them a better panel, as if you hadn’t already thought to try.   It takes someone rather unfamiliar with the way things work to imagine that tab rooms put out horrendous panels and withhold good ones until asked.   In short, you’re hearing only from people who don’t know what they’re doing, and drawing general conclusions from that data.   Talk about your flimsy evidence.

Assumption #2: Good pref sheets can win all the rounds!!!

A good chunk of rounds are yours no matter the panel; a good chunk of rounds likewise are impossible to win.   If you’re a senior with ten bids against a sophomore with ten cards, you’re going to win unless you do something tragic, even in front of a 1-5 judge.   The pref sheet isn’t about that; it’s about helping you in the marginal debates.   Which debates are marginal depends on what your level is; a younger team should have different prefs than an older.

Assumption #3: The W/L is the only concern of the pref sheet

This assumption is the most important of the set.   The number I hang on a judge isn’t entirely about the likelihood they’ll vote for us.   It’s just as much informed by the type of debate that judge would like to hear.   If you don’t like debating theory, then you de-pref the theoriest of the theory judges, even if one or two of them is likely to vote for you anyway.   The aim here is not to win rounds you would have lost otherwise, but to have debates you find enjoyable and are prepared for.

NStar was a mighty LARPer, and was most at home with DAs and CPs and such.   If some framework-happy sophomore in her first varsity tournament came along, and hit him round 2 in front of a 1-2 judge in her favor, a judge who positively loves philosophical framework debate, she’d still be toast.     But she could argue the kind of debate she wanted, and he could not, despite being better at it.   So even with the W, a harm is caused.   It’s sometimes an unavoidable harm, but it’s one the pref system is designed to minimize; and it’s one that blunt, imprecise tiers minimize less well.

Note that it is not a harm that NStar had to debate framework; it’s simply relatively unfair that one debater got to steer the debate into her own home turf and the other didn’t.   A better outcome is a judge who likes yet a third style of debate, and so both debaters have to adapt equally.   That is, after all, the idea behind mutuality, and an argument for the maximal mutuality possible.

At a wider level, too, I’ll pref differently for younger debaters.   Some judges are not as good for us stylistically, but they’re great educators and can give excellent feedback.   I won’t stake a junior or senior’s last bid round on being able to adapt to them in front of their favoritest debaters; but I might take the chance to get a good post-round for a student who is going to lose those rounds anyway.

Assumption #4: Team’s opinions don’t matter

Take away everything else, denounce it as the foul lies of a dirty Papist or what have you; and you’re still left with a final thought: the perception of fairness sometimes matters as much as the reality.   If a rating is entirely about unfounded imprecise opinions — which I would assert might be true for some people’s pref sheets but isn’t of mine — those opinions still matter.   A kid walking into a debate where she feels she has no shot to win because of the judge, likely will not, even if she actually had a decent shot after all.

There are a lot of reasons to de-prefer a judge; there’s the judge who might actually like your style a great deal but freaks out out, or the college freshman judge who you have a crush on and can’t string two words together in front of.   There are a host of considerations that go into a pref sheet, and some of the are opaque to the tabber; if we’re going to have the tool at all, it may as well be as good as you can make it.

RFD

Finally, to steal a page from debate; there is no offense in the round for less precise categories.   I’ve given a half dozen or so positive reasons for more precision; thus far all I’ve heard in reply is doubt whether the precision achieves a real effect.   But without any affirmative reason to prefer blunter categories, who cares?   Why is a tournament better for having 4 categories instead of 8 or 12 or 16?   All I’ve heard argued is defense: doubt that the 8 category tournament is better than the 4 category one.   There’s no argument on my flow of anything being harmed by having smaller, more numerous categories.   Sure, an 8 tier system will have more 1-2 matchups, but if it makes you feel better, all those 1-2 matchups would be 1-1s in a 4 tier system; and there’ll be fewer of them on the pairing than there would be hiding underneath those 1-1s.   Better for the debaters and the judges both; though perhaps worse for perfectionists tabbers.   Speaking as a perfectionist tabber, surely my sensibilities are an unimportant factor here.

In absence of offense for the larger category pref sheet then, I’m sticking to, and advocating for, more of ’em.