Schedules

As you may divine from the increasingly sporadic bylines on this blog, I’ve been busy.   Sometimes you spend too much time doing an activity to reflect on it; never mind having sixty activities going at once like I do.   Currently I’ve got the dayjob, I’m on the LOPSA Board and spokesbeasting for them, and I’ve got five different classes of hats for forensics: I coach, I run the state league, I run and advise a bunch of tournaments, which is going to be bringing me to sunny Florida this weekend, I write and maintain tournament management software (which fact is largely responsible for the tournament advising), and I run a two week extemp camp in the summertime.     Phew.

Part of the trouble with such a schedule is I don’t get much time to sit down and do things properly.   I don’t get much chance to gently let an idea simmer and stew, and then prepare materials for it with care and precision.   No, it’s a bunch of just-in-time sallies that seem to be mostly sufficient, but not as terribly coordinated and careful as I would prefer.   Thus The Book for EXL consists of a mass of lecture notes that I have yet to collect into a discernable form; the tournament software manual is two years out of date, and I still haven’t gotten to the Columbia invitation.   Long term projects fall by the wayside in favor of gettin’ it done.

I suffer from another curious affliction, in that my time is at odds with the time that most coaches spend on the activity.     I can dedicate non-work hours to this show; I do my email and work on nights and weekends, and occasionally can sneak a minute or ten out of my day schedule to respond to something particularly urgent, but for the most part I am adamant that my employer be treated fairly due to my forensics involvement; they give me lots of leeway to travel around to tournaments, and they get their due out of me in return.   But that means often I’ll send a wave of emails out on a holiday or a nighttime and the rest of the forensics world isn’t around to hear it.   That’s fine, but a friction all the same.

So perhaps I should give something up, and make it easier.   If only it were that easy; it’d be difficult to give up any chunk of what I do.   Forensics is underfunded and underdue; the very fact that someone like me has so much responsibility even though this Isn’t My Job is telling about the state of debate education in the land.   However, maybe someday I’ll get to take a vacation without ten screaming teenagers along for the ride.

What I’m basically saying is, if you sent me email in the last two weeks, you’re going to get a reply today at the earliest.

And they’re off

So the Bump tournament begins tonight, which means unless he really wants to mess with my head, I won’t be hearing from Jim Menick again until Sunday at the earliest.   Not that I mind hearing from Jim, but he has a specific talent for finding the oddest damn bugs in tabroom, so it’s just as well I have a year to prepare new and greater nasty surprises for him for the next edition.

This weekend is the Gracia Burkill tournament at Natick, which is going to be a big affair, on the backs of 50 Novice Readers, 30 some-odd in Children’s Literature, and a whopping 42 Public Forum debate teams.   Jim asserts that it gets no traction in the Northeast?   Not in my corner of it; especially given that we’re also a good third of the Bump PF field too.

LD Debate also returns to Natick High School for the first time in a long time, with six debaters, but that’s fine; we’ll give them a shot at each other and see what happens.   I’m trying to rescue some sense of local debate; most of our LD programs have to travel far to get rounds, and that just reinforces the anti-communicative aspect of a lot of LD; so to prevent it from going the way of policy I’m trying to open up the opportunity at a few locals that can handle it.

Coming soon, though, ballsy news from Philadelphia.

Software Mayhem

The process of releasing changes to a piece of software got a lot easier with the advent of the web-driven application.   Time was, you had to build a new version of an application, and then go through a tortured rigamarole process of releasing a new version and watching as lots of old dinosaurs ignored the release and continued to bitch about the bugs you fixed in it.   Or worse, they instead downloaded and installed the upgrade, but some pecularity of their computing setup that you didn’t test for got in the way, and it explodes, taking all the user’s data with it.

And the answer to “Did you take a backup?” in such situations is always “Uh, no, was I supposed to?”

Sadly, you can’t test for everything, no matter how much you try.   The smoothest upgrades for software usually happen when the authors have found a way to reduce the number of tests needed, rather than conducting more of them; Mac OS X’s applications these days are largely self contained bundles, where you toss the old one and copy the new one into place.   So it’s not really an upgrade so much as a brand new install that shares a few settings.

Web applications follow a different logic.   It’s one of the reasons I designed tabroom.com to run off the web; I can change a single code file on the server, and it changes everywhere for everyone.   This model has a lot of advantages; I don’t have to worry about installers, about operating systems, about anything on your computer; as long as you have a browser (preferably not Internet Explorer, by the way), you have full access to all its features.

However, that leads to fun and games whenever I roll out a new feature or new toys or something.   This summer one of the big changes I made was a significantly revamped housing interface; I threw it together two years ago for the Lexington tournament, and I hadn’t really had a lot of time to put it together at the time.   So I cobbled together barely-good-enough and left it at that.   This August, instead, I ripped the whole thing out and built it mostly the right way, and it’s been working pretty well since then.

However, there are two bits of any piece of software that can be…exciting.   First is the software itself; it has to play it’s own game the right way.   The second, and more dangerous, is how well it plays well with others.   The interface between one part of software and another is the danger zone; the housing system could work perfectly, but it might screw up the calculation of judging obligations (another part of the software I overhauled over the summer), or the waitlist mechanism, or lord knows what else.     Some baroque combination of settings and tribulations might break something at any minute.   It’s very difficult to test for every such combination; and since I’m flying solo on this effort and have limited time to dedicate to it, it’s impossible for me to do so.

Over time, a software develops “maturity”.   The edge cases are found, the weirder bugs are teased out, and the complexity of the software settles into a known working state where the expected happens more and more often the more it is used.   That takes a few times and a few trials, and large portions of the software have resolved into exactly that role.   I launched the system in Kentucky this year, after MA and Jersey and various others have used it for years — they used the simple expediency of “asking.”   So far it’s going well; a few bumps, but nothing huge.   What’s great is that I know a few different ideas and ways of running tournaments now, which is helpful knowledge indeed for a local league leader like myself.

Housing and the stuff Menick is using hasn’t 100% yet, but we’re getting there.   I think next year during Bump I’ll hear from him maybe a quarter as often.   It may be sooner, but he hasn’t yet figured out how to turn off the “Break Randomly” setting that I’ve set on his user account.   I can’t wait to see the look on his face when he tries to export the divisions into TRPC.

The next tasks are speeding things up a little bit; I substantially cut down the disaster checking time last week.   I also made the printouts a little better.   But most of all, the advent of the “just do everything the way I want it done” button is just f’n wonderful.   It took me a while to get all the ducks in a row where that could work, but now it does and it’s lovely.

The next two big projects are at the behest of competing communities; first is programming in support for NFL Districts, which would please the Joyless crowd including the Reverend B.A. and my local folks.   I’ve never used Joy so I can’t comment on it too much, but the price tag is daunting if nothing else, and I strongly believe that participation in forensics should not be extractive.   A lot of adults go into forensics looking for something; for most it’s the ego boost of winning something, however vicariously, which depending on how far its taken can be healthy or not; extracting money from a largely impoverished activity distorts the world in a way my socialist soul dislikes.   I don’t accept money for tabroom.com, both because of that belief, and because if people paid me then I’d have obligations towards them, and that would make for a much worse dynamic.

Second is Debate support.   TRPC is a very handy program, and I can make it do most of what I need, but it does have quite a few warts, and the largest is that it’s not very easily learned; I have a very hard time training people up into using it.   It also resists certain things, and makes putting things together manually difficult, which is a shame, since it requires manual intervention so frequently.   I also don’t like it how only one set of data entry can be happening at once; tabroom lets you enter indiscrimiately from multple stations.   Mostly, though, Microsoft has entered into an era of rapidly changing APIs and programmatic requirements, and TRPC is programmed in an archaic runtime language that might not be supported for very much longer; I worry for the day when it no longer runs on anything but the “ol’ bessie” Windows XP computer in the corner; inevitably some future Yalie will try to check his email on it and spill a can of coke in it, and then we’ll be back to tabbing on cards before we know what happened.

And I’m sure when I do either one, something will break.   Hopefully not much though.   I am getting better at this.   Even I flinch when I find some early code of mine embedded in the system.