September 2024

September steals into the world with a lovely crisp week of New England fall weather, cool and perfect, but with that bright bright sun that we see all summer and miss all winter.  I went up to York, ME for Labor Day, giving me a chance to walk in the cooling breeze during sunset and wave goodbye to summer, a stolen tradition but one I quite like.

And now we have the reality of the approaching school year.  Boo, hiss.

Tabroom

I am crawling to the bitter end of the list of things I have to do with Tabroom before I can feature freeze it.  I had hoped to finish that before leaving for a sojourn with Mock Trial folks last month but it was fantasy, as ever.  My last challenge is to build a front end that can take advantage of Tabroom living in the cloud now, which will let people other than me autoscale the power of our installation upwards if the service is lagging.  Right now we can scale it up, but the process is picky and technical which means only Hardy and I can do it, and as anyone in front line support will tell you, you need at least 3 people for 24/7 coverage.

So once this is done, I can permit others in the NSDA hit the “More power!!!” button when there is a slowdown.  The process of programming it is quite tedious, however.  One major requirement is making sure that folks without a programming background can understand the nature of the problem before hitting buttons that will cost us a lot of money.  There are times when there are Tabroom slowdowns for individuals that aren’t actually server overloads — their local internet is having trouble, or the provider’s is.  A system can report load metrics to tell you if they’re struggling and why — but these are a little arcane and hard to read, and stored in multiple locations.  So part of this task is me having to read badly formatted data from six different sources and present it to a colleague in my department such a that an intelligent non programmer can understand and act on it.

That job is nitpicky and tedious, and prone to look right when in fact it is wrong.  When you’re trying to sift through a dozen bits of data that are all decimal numbers between 0 and 1, and you pick the wrong column, it still appears okay unless you check it very carefully.  It’d be easier if the wrong answers were all 439,981 when the right answers were 0.31.

But the nice news is I’ve been able to write more of this backend in NodeJS and not increase my rewrite woes yet further on the cusp of being able to focus on it exclusively.

I’m also working on a pretty comprehensive set of documents for Tabroom aimed at Mock Trial usage.  It’s coming along well, though it is reminding me that we really do need to show some love to the docs for Speech & Debate usage as well. I’m hoping I can actually use some of this MT stuff to help out S&D.  Two public speaking activities, helping each other.

Tournaments & Travels

My slimmed down schedule includes two this month:  the Kentucky Season Opener on 9/7 weekend, and the Jack Howe Memorial at CSU Long Beach on 9/28 weekend.   And then, in more distant and exotic news, I depart for Taiwan, partly for the Taiwan Speech & Debate Invitational on 10/12 weekend, but also for a week of seeing what the island has to offer first hand.  I admit Taiwan has never been high on my travel radar before, because I didn’t know much about it.  I sat down on a long flight last week to do some reading, and it took me exactly one blog post to go from “How should I fill my time there?” to “How on earth can I narrow this list down so it’s manageable?

Otherwise this is also the stunning time of year when New England gets to lord our superior weather over the rest of the world.  It doesn’t happen often, so we tend to grab it with both hands when it does.  The humidity blows out into the ocean, taking the bugs with it, and then the leaves turn bright, and I start moseying northwards to the forests more often.

Writing

I haven’t done squat with the eight or so ideas I have for a travel blog that people keep pestering me about.  But I’ve written three full chapters of this book I’ve been toying with.  I’ll likely never have the gumption to share it with anyone else, but it’s been edifying practice to write it out, and it gives me an excuse to put the coding linter down sometimes.

I made a clipboard to write with out of purple heartwood that came out decent. No photos yet, and I suspect I made it a touch too thin and it’ll warp, but as a first shot working with a new hardwood, I’m decently pleased.  If it does warp, I’ll try a layered version next and see.

 

July 2024

I have returned from Alaska; and therefore have finished the 50.  Almost nothing I booked in advance went as planned, thanks to a forest fire in Fairbanks, followed by another in Denali, then drenching rain for a week in Kenai, and finally a tweaked knee in Wrangell-St Elias that finally prompted an return a few days early.  But I still had an excellent time, and it so happened that my early return meant I dodged the great Crowdstrike outage.  My original flights would have left me stranded in Seattle for days.

It did mean I didn’t do half the hiking miles I wanted to.  On returning, I have so far controlled my impulses to run off to Tuckerman’s Ravine or Mt Katahdin to make up for it, but it’s only a matter of time.

METABLOG

This WordPress install actually got hacked. Someone was careless with some passwords, or was running an outdated plugin or four or something on my tiny server, so all of a suddenly my humble little 3-hits-daily blog was spewing spam and CAPTCHA attempts out, and generally being a bad citizen.  So I spent a lot of time cleaning that up and deepening my defenses.  But now I feel more invested in it, I suppose.

TABROOM

I have a couple of weeks of things to do before I can then take a deep breath and freeze the introduction of any new features into Perl/Mason legacy code, and start working exclusively in JS frameworks.  It hardly feels real, and it doesn’t help that most of the tasks I do have between then and now are rather tedious and annoying cleanups of very old code.  It’s a hard thing to do in July and August, when New England can just stun us with clear light stabbing everywhere through an ocean breeze.  I am making progress, but it’s requiring a few pulls of the chain to get the old motor running again.

These remaining tasks are mostly Nationals specific nitpicks of no use or concern to anyone outside the NSDA, but I am hoping to get the notification system working better in a Tabroom native way (which means fewer adblocker issues) and running on iPads and iPhones better.

NEXT MONTH IN WHERE THE HELL ARE YOu

I’ll be spending a week in Mendocino because I can.  This time I might actually have company there.  I’ve never been able to show the place off to anyone else, despite a lot of trying.  Then I’ll cap that trip with a meeting with the Mock Trial folks in LA.  Otherwise I’m sticking to the northeast for the rest of the summer.

NON TABROOM TYPING

I’ve been writing a lot but the chances I post whatever it is I’m tinkering with right now are really low, to be honest.  However it’s been interesting enough that I’ve found a couple nights I look up feeling ‘a bit tired’ and realize it’s 2AM and perhaps I should sleep instead.  I started working on my tablet with a keyboard attached to it, instead of the open distraction festival that is my laptop.  It’s worked tremendously.

I have written two of the required six posts about travel that I’ve set as my threshold for doing more travel blogging, though, so there’s at least some hope there.

READING

I’ve finished the 3rd Strong Towns book, and remain a fan of the organization and its goals.  I found them via the podcast, but as they’ve grown that’s become a much smaller part of their media footprint of late.  I re-read Piketty’s Capital because I felt like being a nerd, and Faulkner’s Light in August because I felt like being a different type of nerd.

I also read two books of Sanderson’s Stormlight Archive series, but then I looked up how many there were left, and it turns out he’s produced 4 of a planned ten volumes.  I decided to put the series into park. I found the series to be engaging enough but plodding in terms of major plot points.  I think authors in that genre have to put a lot of work into building a World, but then they become enamored of the world, or exhausted by the amount of work it took to create. So instead of telling their story with a full start and ending, they end up just living there.  Their outlined story inflates with filler, and the spaces between actual events grow and grow.  Sooner or later you’re reading an account of the main character shopping for dinner ingredients. Or, you know things that the characters don’t, and grow tired of waiting for them to catch up.

So I’m putting that down and going to reach for the classics pile again, especially now that driving around thousands of miles of Alaska is no longer on the agenda and a 45 hour audio book isn’t so appealing.  I have a copy of some Cather, who I’ve read only once and enjoyed.

KILLING SOCIAL MEDIA

It struck me a little recently how much life is different in 2024 for me than any other year because I no longer have a serious social media outlet.  I was one of the first 1,000 users on Facebook, back when it was only open to those with a @harvard.edu address.  Once I finally axed the Facebook account in 2017 I went through brief phases of being active in various corners of Reddit, and then more on Twitter, especially during early Covid when it was the best route directly to some of the under-reported actual experts on respiratory viruses and current research.  But then Twitter became Xitter (pronounced Shitter) and along the way fired my sister, so I killed my account and do not touch the site anymore.

Folks keep sending me links to Xitter. I never click on any of them, but they keep coming.

I do post stuff to Instagram from time to time, mostly as a heartbeat to people I don’t keep in regular contact with.  And I tinkered around with Bluesky and Mastodon for a while.  But I’ve come to realize that they were like the raw sugar candy of communication: empty calories that concealed the nutrient deficits they were creating for me.  It felt like I’d interacted with people in mass, but truly I had read eighty-seven quick bad hot takes.

They took a silent toll.  I’ve never been notably anxious; my mental curses tend to run more towards slowness and lethargy, not spinning around rapidly.  But online social discourse is drenched in terror right now.  Are there things to fear in the present political moment? Yes. Are they so omnipotent and unavoidable that we should ban optimism altogether? No. But engagement sells, and fear drives engagement, and now that’s all you find.  And even I found it was damaging my calm more than the underlying reality does.

So, I started muting the most conspicuously doomerish on Bluesky and Mastodon.  After a while I found both of them were growing rather silent. And after a time I stopped checking either altogether.  And now, neither lives on my phone.  And almost by magic I find myself more productively writing things that matter, not little zings about the latest political event that will affect nothing at all and persuade no one of anything.

I think a lot of debate people probably end up with a parasocial relationship to politics: the actual agents do not know or care we exist, but we imagine that if we have the 2024 equivalent of Josh Lyman’s four TVs going at all times that our finger is on the pulse. It becomes a part of folks’ personality to know what’s going on instantly.  People felt the need to text me immediately after the shooting attempt at the Pennsylvania rally for the orange creep, or when Biden dropped out of the race, as if it matters that I know these things within the hour, or even the week. As it happens Alaska is a big wild land with a lot of gaps in cell phone coverage, and I learned about neither piece of news quickly.  And it did not affect either my life, or how either story unfolded.

And that speed makes people vulnerable to their own narratives. Without time to deliberate the specifics of an event before the next one comes, you’re at the mercy of your cognitive biases and shortcuts, who are so often false friends.  It’s important to be hostile to your own beliefs. Before allowing a concept into your mind, first subject it to deep scrutiny, to make sure it’s worthy.  And then go back and re-open old ones too, and make sure they’re still current. I’ve turned pretty radically from one conclusion to another over the years on a number of fronts, but I think it’s part of how I remain myself.

And so it was with the shooting; it infected even Instagram, which I keep because it’s supposedly limited to pretty pictures.  Suddenly there were walls of text assuming this event had sealed the doom of all civilization; presumably because the jerk would win the election as a result, or something?  The mechanism of the doom is never clear, just the feeling.  Just who would change their vote because someone took a shot at the guy and missed?  How was this landslide going to start rolling?

And in the event, a week later Biden dropped out of the race, and the world changed again. Nobody remembers the event that doomed the world.  There’s a lot of events that “mean we’re all screwed!” that nobody remembers anymore. Like a lot of politics, it was mostly ephemera.  And while I can name a lot of books that changed me,  I can name zero tweets that have done the same.

June 2024

Tabroom

The season is officially over as of last Friday night.   I got home late Saturday and slept for the next 14 hours.

The Tabroom Inbox is an unmitigated hit.  15,323 users have accessed it since I rolled it out without announcement on Friday May 24th, a month ago today.  There haven’t been very many tournaments since then, though we have held two of our largest.  People are finding it and using it.  So hurrah for that.

On Downtimes & Slowdowns

I thought I had oversupplied Tabroom with compute capacity, but we were hit with two slowdowns during Nationals anyhow.  Tuesday midday we just had too much traffic for the machines, so I doubled the memory on the existing ones and spun up two more.  It was overkill, but it worked.

Monday morning, it slowed down but that had nothing to do with capacity.  Sometimes database queries do fine when they return 2,000 records for normal tournaments, but slow down out of proportion when they return 20,000.  Or, 200,000.  On Monday, we discovered 4 such queries, and each of them was being hit dozens of times.  The most significant was the public list of judges at the tournament & their paradigms.  The query behind that page usually takes .04 seconds.  At Nationals it required 2 minutes.

2 minutes sounds like not much time, but in terms of a computing operation it’s deadly slow. The average query to the Tabroom database takes milliseconds.  A 2 second query is usually unacceptable by my standards, unless it runs rarely and is very complex.

A 2 minute query also avoids another capacity-saving technique.  Public facing pages that don’t change often, like that judge list, will be calculated and laid out on the server, with the code for your browser sent off at the end.  For many pages, the server will then save that resulting display code in a cache.  The next person to ask for that page just gets the same display code without the intermediate computation having to be redone. Everyone so often, depending on the page, the cache is invalidated and the page is recalculated on the next request, but for pages that don’t change often like a judge list, that’s usually just once every 30 minutes or so. We save a lot of server capacity and cost that way.

However, if the first request comes and takes 2 minutes to complete, then the next request, and several hundred after that, come in before the cached result is ready.  So they too are sent to the database instead.  A bunch of 2+ minute queries hitting at once become a problem real fast. Soon, the database server gets bogged down with hundreds of these difficult and long running queries, and has few resources left for more ordinary data requests, and the site eventually goes kerplop.

That’s a technical term.

We also  went from using 2 giant machines to a bunch of smaller machines.  That helps us in a lot of ways — when one machine gets knocked out by a hardware fault, we lose less of our total capacity. But,  each machine has its own cache. So instead of an inefficient query hitting 2 times per cache period, they now run 16 times.

For next season I’m on a mission to make sure that you and I do not have to deal with this type of problem again.  I’m going to measure out what the traffic at each slowdown was and what type of machine profile was necessary to meet the demand.  In other words I’ll be revising upwards my idea of what “overkill” means.  Also, a lot of this mess is because we’re still largely using legacy code that takes a lot of memory and CPU to run; the more progress I make replacing it with rewritten JS code the faster things will be with the same compute power.  And finally Hardy has reconfigured our gateway machine to redirect traffic away from Tabroom when the servers are overloaded.  That will help us recover faster from these types of things when you all start refreshing the page every heartbeat; most of those requests will fail, but the ones that do get through will be served properly and we’ll be better able to log in and fix things.

Next Season

So next year I’m no longer tabbing any NDT/CEDA tournaments, and will prune out a fair few others that will be fine without me. It’s difficult to choose which ones to skip, since I don’t tab tournaments for people I dislike.  So I must tell people I like that I’m out.  I do enjoy travel and interacting with the community like that. But I can’t sustain what I’ve done this year, and focus on the long term needs of Tabroom and the code rewrite.  I’m also concerned about my health. I’ve gained back enough of the weight I lost during Covid to be alarmed by it, and this summer I need to reverse that trend.

We’ve also dropped a lot of the sustainability lessons I had thought we’d learned around the pandemic.  Tournament schedules start too early, in the face of a growing mountain of evidence about how badly that affects teenagers and young adults, much less me.  You’d think we’d value the students thinking at their best to get the most out of debate, but instead most tournament directors let their anxiety about what might happen at the end of the day push them into earlier starts.  I don’t truly understand that; in order to make sure we don’t stay to late and lose sleep, we therefore make everyone get there too early and … lose sleep?

And for me, when I’m tired, I have much less willpower to order the salad instead of the burger.  The tired also lasts longer; when I get home from the west coast it can take days until I right my schedule, and by then I’m off on another jaunt.

Maintenance Mode for Tabroom Legacy Code

By August 1st or thereabouts, Tabroom’s legacy Perl code will be declared maintenance only.  That means I will only apply bug fixes and updates to the existing legacy Tabroom code, and will not be coding any new functionality into legacy Tabroom but instead will focus exclusively on the front end for the new system in Javascript & Svelte.  New features will wait until they can be deployed in JS.  That will require focus, discipline and lot of saying no, but it’s the only way we’ll get over this hump of deploying new code while maintaining the system.

This rewrite has been on our horizons for a long long time, and it’s been derailed and delayed by a lot of circumstances, from our failure to work out the original collaboration plan well, to the pandemic.  And it would not have been easy even without those challenges.  Writing a new system while maintaining its predecessor alone is extremely hard, to the point that many such efforts fail.  However, we have made progress behind the scenes, and now we’ve about reached the limits of what I can do with adapting the system over seamlessly.  So now, the seam.

Non Professional Quick Hits

  • I missed the Celtics parade for their 18th title while at Nats.  I sent the boss an invoice for one championship parade.  I know he can’t fulfill that.  I just wanted it on the record.  By the looks of this team, we may be parading banner 19 soon enough anyway.
  • I have planned out my annual July walkabout.  This year: Alaska. I leave in a few days and am starting to pack.  I’m going to be on a lot more guided tour type things this trip than I usually do; more often I prefer to have zero plan and move each day as the spirit hits me.  But in a place as vast and wild as Alaska, where rental car companies are very clear that you may not take their vehicles to some of the best spots, I am erring on the side of the professionals for this one.  Next trip, I’ll go more independent.
  • My brother in law’s mother is having some health struggles. Send some positive vibes northwards to Maine. I’m not one for much belief in the ephemeral like that, but sometimes it’s all you can do.
  • I may have accidentally bought a new super-telephoto lens for my camera that I don’t actually need for the trip.  Oops.  That said since I’m just a hobbyist I don’t feel the need to buy the huge, expensive Canon lenses with the magical red ring.  That color describes your bank account balance is if you buy too many of them.  Honestly, I prefer the ring-less cheapo line for my hiking and ranging anyway; they’re far lighter and easier to carry, and it’s less terrifying if you drop them.
  • I somehow found time to read.  I finished the Strong Towns Housing book, a re-read of the excellent Tony Judt history of postwar Europe, a takedown of the historicity of constitutional originalism by friend-of-friend Jonathan Gienapp, and some fiction that I wouldn’t especially recommend.  Looking for audiobook suggestions now for some long Alaska drives.
  • This summer I’m hoping to get serious about taking the massive pile of photos I’ve taken in the last few walkabouts and pulling out the dozens that actually have a sense of composition and style to them to display in a more prominent manner.  But I have to say, even if I never look at them again, the process of finding photos has pulled me into places I appreciate being for their own sake.
  • Late summer I’m landing in LA for a Mock Trial workathon and have used the excuse and coast-to-coast plane ticket to slide in a side trip to Mendocino the week before.
  • I’ve written about half of a book that I’ve been working on for a while.  It’s all handwritten right now.  I have no idea what I’ll do with it when I’m finished, but I think I owe it to the stuff to at least type it up and finish it, even for just myself.  I’m contemplating whether I should go rent a cabin somewhere woodsy and not let myself come home until I’ve focused a little more on it.
  • I’ve had six people in the last three months proactively tell me I should start a travel blog.  I’ll consider doing it if I can manage to sit down and crank out six entries first.  But it’s not a terrible idea.

Tabroom Blue™, or, The Death of the Text Blast

Elon Musk loves to inspire headlines. He’s also good at it, whch is nice because he doesn’t appear to be good at much else. Take, for instance, running a busness. It’s a skill you’d think a self styled god-tier entrepeneur might have. But just last year, Musk signed a $42 billion agreement to buy Twitter without apparently understanding it. Perhaps he didn’t even read it. But Twitter’s lawyers sure did, an when Musk got cold feet and tried to back out of overpaying for the company, they took him to court and lined up a sufficiently rapid beatdown that he surrendered and bought the company anyway. He then strolled into the company, spent barely a week in the office, and fired 3/4 of its workforce without bothering to understand what they do.

Next time you want to light $42 billion on fire, Elon, feel free to invest in speech & debate tabulation software instead.

That only started the headlines; they’ve been near nonstop since. Each article is a paragraph in a wider story. Musk’s original goal, the spark that spurred him to sign that awful contract in the first place, was to find an online home for unimpeded right-wing discourse. He found it unacceptable that Twitter and other social networks drew boundaries around Trump and his fiercest supporters. So Musk bought the place. Now the only people who get banned from Twitter are people who annoy him, people he deems too ‘woke,’ or sometimes folks who point out facts about his decisions.

But that policy shift created some serious problems for Twitter. The forces pushing to remove far right discourse from social media wasn’t a diabolical progressive conspiracy in Twitter’s management, funded by George Soros and connected to the Clintons somehow. Musk’s real problem is that as long as social media is paid for by advertisers, alt right speech cannot be welcome.

The dirty secret of the rightmost wing of the Republican party is that they’re a very small part of the overall population. They exploit loopholes and broken rules in the constitution to produce an oversize political impact in the US. Their demographics are skewed older and whiter, and such people turn out to vote in large numbers; they’re more rural than urban, and rural areas are over-represented in Congress and the electoral college. The GOP has spent a few decades cheerfully narrowing voting rights protections so as to produce election wins from an ever smaller base of support. But, that base is small, and when it comes to business, you can’t built much of a market on just that small faction, unless you’re running a scam.

Businesses need to reach a large mainstream audience. And modern far right rhetoric is polarizing: its few fans want to hear nothing but, but everyone else is allergic to it. So engagement and audience sizes on Twitter have been dropping off ever since Musk designated it as a safe haven for his brand of free speech.

Apropos to nothing, you can now find me on Mastodon at https://tech.lgbt/@mildconcern.

Naturally, as customers leave a platform, so too do advertisers. They always chase the largest audience. But it’s not just a matter of how many ads get seen, but what type of ads they are. Before Musk, Twitter’s revenue was about 90% brand ads. Brand ads are not designed to generate clicks and direct sales, the way most ads on Amazon work. Brand ads intend to create positive associations, so you remember the company the next time you need to buy whatever it is they sell. A car maker is a classic brand advertiser. The chances someone clicks an Instagram post and puts a Camry in their cart are very low. But if readers associate Toyota with “reliable” and “comfortable” and “safe” over time, through repeated exposure to brand ads, they are more likely to buy a Camry a year from now when their old car dies and is too expensive to fix.

If you’re running brand ads, you take care that the only associations you build are positive ones. Twitter is a news platform, and when the news ran bad, brands would pause their ads. Nobody wanted their ads to be associated with wars, earthquakes, or mass shootings. As discussion of the weekly tragedy would dampen out, brand ads would come back.

Now, enter Elon. Racism, sexism, or anti-LGBTQ rhetoric once got you banned; now it gets you retweeted by the company’s owner. Almost immediately, that rhetoric was everywhere. Advertisers reacted. Various estimates say Twitter’s brand ad revenue has dropped anywhere from thirty to seventy-five percent. That free speech sure has cost Musk a lot. Note that this process does not require advertisers themselves to personally object to the speech in question. They only care that most customers hate it. The companies and their management could be wildly racist, sexist and homophobic, but if they answer to investors, they’re still going to yank those ads. The bottom line is their only true morality.

So, a conundrum for Musk. Almost all of Twitter’s revenue was brand ads, and brand ads cannot coexist with the type of speech he spent $42 billion to liberate. Perhaps the genius Elon was supposed to be could untie this knot, but our real world Musk has no answer. His main attempt is Twitter Blue: selling blue checkmarks for eight bucks a month. It’s brought in nothing comparable to the revenues he’s lost. And Twitter has almost nothing else it can offer to a paying customer.

So Musk is now lashing out: he’s threatened his advertisers, but then gave ads away — and neither brought them back. His company is drunkenly lurching towards bankruptcy, perhaps as early as this summer. Musk, without any real idea of how to fix it, has crawled into the last refuge of the rich guy: cheaping out on everything.

He’s cut most of the staff, and cut perks, space and benefits for those who’ve stayed on. He stopped paying rent on his offices. Twitter keeps having technical failures because he shuts off servers at random to prove they’re not needed. Hundreds of vendors have overdue invoices sitting on his desk. He’s cutting pennies because he can’t find dollars. It won’t save Twitter, but it’s all he has left.

A few weeks ago, the tech press was baffled when Twitter announced that 2-factor authentication via text message will only be available to those checkmark buyers. Two-factor authentication, or 2FA, means you need more than a password to get access to an account. In its simplest form, a random code is emailed or texted to a user, and then asked as a confirmation of your identity. That should prove you have the phone listed in the account, which gives the site further proof that you’re you. Musk now said text messages only were for paying customers.

The more complicated method, 2FA by means of an authenticator app, was still free. Such apps work by taking a sequence of random numbers, called a shared secret. The site generates the secret, and you copy it into the app on your phone, usually by means of a QR code. After that, it’s never sent over the internet again. Instead, the app combines it with the current date & time, and runs that in turn through some math that produces a six-digit code. The site you’re logging into runs the same math on the shared secret stored in your account. If its result matches the six-digit code you typed in, you’re allowed to login.

Because they rely on timestamps, the correct code changes every minute, making them hard to snoop usefully — by the time you’ve cracked one, it’s changed. And, for Math Reasons, you cannot easily guess the original shared secret from the codes it outputs. The math works only forward, not backward. One-direction codes like that are called hashes, and among other things, it’s how your Tabroom password is stored in our database. When you log in, we can’t tell what your original password is, but we can tell that you typed it in correctly, or else the hashes would not match.

Shared-secret apps are a much more secure method of 2FA than using text messages. Texts aren’t sent encrypted, and it’s proven relatively simple to hijack cell phone numbers, especially if you’re targeting someone in particular. Phone company customer service reps are relatively easy to fool, and have often give account and phone access to hackers. With apps, the shared-secret is never sent to a phone company; it’s never trusted to anyone at all besides you and the service you’re logging into.

That’s why the tech press was confused. Paying customers are being given exclusive access to a less secure system. Most outlets assumed Elon was just being arbitrary and bizarre. Again. Given how much of the last year Musk has spent playing the role of “clueless clown on fire,” they can be forgiven for falling back on that explanation. But I knew right away what it’s all about, because it’s related to a slow crisis that Tabroom has been facing for most of the last year.

You probably think sending a text message is free. They have been free for people with most US phone plans for at least a decade. As soon as smart phones became the norm, and data became the bulk of cell traffic, phone plans stopped charging for talk minutes and texts. Data was where the money was. Who even talks on their phone anymore, anyway? My own ringer has been on silent for about four years, now.

So texts between phones are free now. But sending a text from a non-phone, such as a web system that manages speech & debate tournaments, to pull a random example out of nowhere, it’s more complicated. For Tabroom, I have two basic choices. I could use an SMS/MMS gateway service, which talks directly to the cell providers and sends messages. Or, I can use email. An email sent to 5555551234@messaging.att.net will deliver as a text, as long as that line is on AT&T.

So why not use a gateway? They charge a small amount per text you send. But if you’re Twitter, those charges can add up. Rumors say that Twitter spent $60 million or so per year on these texts, which seems staggering but not when you weigh it against a company that once had $5.4 billion in annual review. That is, until a business leader with no idea how to save his sinking ship takes over and starts attacking every little expense he can find. So, I figured he saw that bill and decided to cut it.

I hope this revelation doesn’t shock you, but Tabroom has never had $5.4 billion in annual revenue. So, we use the free method. But much as Musk’s free speech had costs, so too does free text messaging. Email to text gateways are much less reliable. Messages get tagged as spam, or sometimes just don’t deliver, all the time. I also have to keep track of your cell provider, because each one has a different email address I have to send messages to. When Tabroom users switch carriers their text blasts stop working until they update their account. And of course, when folks who judge tournaments do switch carriers, their Tabroom blasts aren’t usually their first concern, or their tenth. Few judges are constantly yearning to be harassed into hitting their start round button.

Those downsides are all annoyances. However, now Tabroom also faces a legitimate danger: those email gateways are not really intended for bulk messaging. And, spammers sometimes use them to bother phone customers. So the carriers are growing more restrictive. AT&T drops any message with a web address in it. That’s why Tabroom doesn’t send map URLs anymore. And then in late 2022, T-Mobile began capping how many messages per hour a single sender can send them. Which means, if you haven’t noticed, that T-Mobile users don’t get text blasts during the middle of the day most Saturdays; we hit that cap all the time when Tabroom is busy.

I can’t complain to T-Mobile, because T-Mobile’s answer will be “you should be paying to use the SMS gateway.” So, Tabroom hosted 192 tournaments this weekend, with 2356 schools, 21,312 entries and 6,133 judges. Over the course of this Saturday, those 27,445 folks were sent 144,350 text blasts. At that rate, we’d run up a $75,000 annual bill. That’s a lot of money for the right to yell at debaters to be on time.

Is it worth it to increase Tabroom fees a substantial amount for that? Should we try to track who texts a lot and bill them extra — but therefore increase our own overhead tracking every time Menick harasses that judge who never hits start? What happens if Verizon or AT&T follow suit and start limiting us, too? AT&T is already quick to delay deliveries sometimes too, when it decides we’re sending spam. Do we rely on emails and forget texts, when most people don’t get audio notifications of new email anymore? Do I have to write an app for Tabroom just so people get notifications through it — and then pray new judges install it basically so they can be bothered?

I don’t know the answer. But I hope it doesn’t become a crisis. We’ve come to rely on the text message as a prime form of communication, especially during the pandemic and online debates. We need to rethink that a lot in the coming months or years. It’s already tumbling around my brain, for what it’s worth. I’m trying to make sure Tabroom survives longer than Twitter will, at least.

The way Musk is going, that shouldn’t be too difficult.

the loneliest moment

A paradox of debate is that an activity where thousands of people argue with each other at once can still leave us lonely.

I don’t buy into personality type tests, but I am certainly an introvert. Constant exposure to people wipes me out, but when I go to tournaments, my place is usually at the center of the storm. That costs energy. So, after all is done and I fly or drive home, I’m ready for a break from all you screaming performers.

But I live alone. Before this year, I’d return home to an empty and cold house and it would be too quiet, too fast. The stampede of debaters and judges who all rely on me for assignments and results were gone, and I’m just left with an echo. It’s strange to be lonely at the same moments you most want to be alone, but on those Tuesdays Afterwards? I was.

But that was the Before Times. The age of lockdowns has been unkind to us all. I’m a loner, sure, but also a nomad: I used to travel constantly, and even when I was home, I’d leave the house every day, if only to go work in a coffee shop or the library. The buzz of people around helps me focus, and the journey forms a boundary between work and not-work. In other words, I need people around that I can ignore. And it’s a rare introvert who can make do without human contact at all. I’ve found myself talking back to podcasts, or pacing around the living room for an hour at a time, or wasting gas just to change the scenery.

It feels like the worst year of our lives, even for those of us who’ve so far avoided direct harm from the greater wounds 2020 offers: the virus itself, the poverty it has sparked, the smoke and flames of an entire coast ablaze, or the constant reality that police can end black lives and stay free. Against that balance of misery, my own debts seem minor. But the lesson of a lonely time is that sometimes, no one is there to look out for you. Right now, no one can be, even if they wish to. You have to be careful of your own troubles, even if others have it worse. Being lonely and down might be the baseline right now, normal by majority vote. But it is no less healthy or easy to shoulder.

I bear the dubious honor of being Debate Famous. There are several ways to become Debate Famous – you can win a lot of tournaments, serve on a lot of tab staffs, national boards or committees, or just be obnoxious for long enough. Some manage all three! But I took perhaps the easiest route, and joined a tiny band with few entrance requirements and even fewer members. I am one of the Techies.

I cheat in calling us a band, for one of the defining features of a debate techie is that we all drift on separate islands. Each debate techie is tied to a Project. These projects are usually the residue of a hobby idea that got out of control. Tabroom is certainly that: it now runs 3,000ish tournaments a year and serves millions of hits per weekend. It’s a luxury beyond telling that the NSDA can make it my full time job and dedicate others to helping with the tsunami of emails that results from its popularity.

But at the end of the day, even with that support behind me, I’m still alone. Nobody understands Tabroom and its internal workings half so well as I do. If something major breaks, I can fix in minutes what might take anyone else several days. Speech & debate is never so lucrative that our scant resources can hire me a co-programmer; they’ve had to stretch to underpay me enough to do this full time. And that’s the root of my Debate Fame, because I am Tabroom, and it is me, as far as the debate world sees it. Every user of Tabroom therefore is one who relies on Palmer.

Such “fame” comes with a price, for technology is brittle. From time to time, some hidden capacity limit is reached, or a buried mistake in code I wrote six years ago decides TODAY IS THE DAY! My machines start to stagger, and disconnect, and lock up. My phone starts dancing with messages, half of which start “You probably already know about this, but… .” People have no choice, because only I can type the keys that get your tournament started again. Sometimes I fix it immediately, and people barely notice the trouble. Sometimes it takes me an hour, or two – or four – to find the illness and its cure. And those times are the loneliest moments I know.

If you were in a tab room with me, you’d just see me beating the crap out of my laptop keyboard. You’d hear me mutter incomprehensible nonsense to myself, as if I were chanting spells to appease furious eldritch demons of silicon and resin. I’d be zeroed in, focused on the screen, phone definitely muted. But I’m still utterly aware of you all. I can feel your eyes, the eyes of each and every one of the tens of thousands of you who rely on me to continue your tournament day. You might not know where I am, or even what I look like, but I can feel your eyes all the same, in the place where my neck meets my shoulders that tighten and coil with the strain of it. And I can’t step away, I can’t delay, because there’s no one to hand the problem to, and thousands are waiting.

It’s a pretty steep personal cost, this consequence of the realities of our activity, and the ever insufficient resources we have to stretch to meet our problems. Software is delicate, with so many layers and complexities that are impossible to fully predict or understand. Imagine an engineer designing a bridge: they carefully calculate known stress factors, material strengths, expected weights and the like to arrive at a construction whose weakest point is much stronger than the load it will bear. Now make the engineer do it without knowing what material half the bridge is made out of. Throw three hundred hollow rivets into their supply. Then build sixteen more bridges stacked atop the first one, all with unknown materials and different designers. Would you drive across those bridges? But that’s software development for you. Thankfully, unlike our hypothetical stack of bridges, nobody dies when speech & debate tech collapses, though you wouldn’t know it listening to people sometimes.

Because of this constant ticking disaster we call software, companies can spend billions on people like me. Vast teams of techies find and fix expensive problems, but those billions can only make outages happen less often, not never. Google had serious downtime just two days ago, and Tabroom’s entire annual budget is a rounding error in their departmental catering bill. But Google’s wizards are not underpaid, or alone. Their problems are greater in size, but not much different in kind.

When Debate Techies get together, that’s what we talk about, those lonely moments. You may imagine great rivalry between Speechwire and Tabroom and TRPC. There is none; I can think of no greater personal nightmare than Speechwire disappearing and having to fill even a portion of the gap it’d leave behind. But even if we did view each other as the Enemy, you would never see me laugh at Ben when Speechwire goes haywire, and he would never do the reverse. The price of admission to the little club of Debate Techies is understanding what that moment feels like. You cannot see another suffer it without sympathy and remembering your own terror.

The era of covid has affected debate like everything else. Online debate was always a side hobby project of a few visionaries, but never got much real traction – until suddenly in April it was everything. Every member of the little band of debate techies had to drop all plans and change our entire world overnight. 2020 Nationals was going to be the first all-online balloted Nationals anyway, but overnight that was no longer a Project but an Assumption. Priten suddenly joined our ranks with his terrific Classroom.cloud project, and therefore saved the TOC and Nationals both. He got his very own baptism, with a slowdown and lockup the first day of Nationals; I spent those moments in the Des Moines office preventing people from calling him. I know.

But Classrooms is based on Zoom and therefore can be pricey. Large expensive tournaments can swing it, but in the world as it existed in April, the type of small local tournaments I grew up in – the Massachusetts local that charges about seven bucks an entry – could not begin to afford it. Circuit kids may mock those types of tournaments, but speech & debate wouldn’t exist without them. And so, we set about trying to find a way to keep them alive, and the result is NSDA Campus. I’ve helped with Campus at the edges, but again all speech & debate tech must be lonely, and this burden belongs to Hardy.

It turns out spinning up a custom private video conferencing on-demand service given about 3 person-months of work and a shoestring budget isn’t simple. So we’ve had our problems. The first couple of weeks went fine, but then we hit a threshold of usage that triggered an odd undocumented condition in our proxy service — the traffic cop that keeps all the traffic for your particular PF round going to the same server so you can see your opponents and judge. The proxies went nuts and started sending people anywhere and nowhere. It was not because we didn’t have enough server capacity — we’re running our servers on Amazon’s cloud, which also hosts services you might have heard of, like “Netflix.” As I write this 128 machines are serving Campus rooms just fine. The flaw was a condition buried deep in someone else’s code that would only manifest when we had more than 400 rooms going at once. It’s fixed and behind us.

Today we hit another, tripped by a new threshold of 3,000 users. Hardy found these new issues, and fixed them too. Because that’s what we do in the little club of Debate Techies.

It’s hard to test these things. We don’t employ a couple thousand people who can be drafted to all join online rooms at once, just so we can see what breaks. There are ways to simulate that type of load in testing environments, but setting such things up is time consuming too, and each of us lonely techies has an enormous list of problems to deal with right now. It’s hard to find time for the future’s problems when when we have so many already on fire in the present. And of course, only one of us can solve most of them. Hardy is the person who understands my tech province best, and vice-versa – but if we traded to-do lists, our productivity would nearly vanish. The difference is like translating text into a language you’re fluent in, versus one where you have to look up every 5th word.

And so was Hardy was condemned to another pair of lonely moments for each of those bugs. He knew they’d come. We all do.

Because today the demons came for him and not me, I feel more free to speak, to point out the underlying realities of our activity, and to shed light on the effort we’re making to keep our speech & debate circus going despite a global pandemic. The type of tech required to do debate online is only barely ready for what we’re asking it to do. If covid-19 hit 10 or even 5 years ago, speech & debate would simply have shut down. As it is, we haven’t caught our breath. Everyone in the debate tech world has been running full tilt for months now, trying to get this all to work – and sometimes, we fail. We can promise you effort. We can never promise perfection. Neither can Google and its billions.

But perhaps, on behalf of the other members of my little tribe, I can ask for more clemency, at least in public. It is unkind at best to churn out memes about a service that someone just spent three days not sleeping to fix for you. It’s unwise to hit Facebook to air grievances or unfounded theories as to what the issues are. And most of all, it’s bad form to suggest we give up on the whole project, and give up affordable speech & debate tournaments with it, because of a few software kinks that made you wait around a couple hours – at home, no less – in the early days of an immensely complicated project that did not exist and was not planned for six months ago.

When you do so, you underestimate the realities and the economics that go into the projects that us lonely techies are keeping alive so that debaters can debate and speechies can speak. But more than anything, what you do most of all is take our loneliest moment, and make it lonelier. In the era of covid, when the gaps between us in real life are so huge and enforced by a deadly and invisible enemy, we should be careful before adding to another’s isolation.

And do remember, none of us in debate tech are in it for the fabulous wealth and prizes. We do this because we’re tied to the activity, and find it worthwhile to make your competition work better and faster in normal times – or to work at all, now in the age of pandemic. We do it because I too once paced in prep rooms before giving extemp speeches, while Priten and Hardy blitzed through policy debate rounds and Ben prepped his IEs.

Any of us could expand our wealth and free time by leaving speech & debate, and the lonely moments it causes us. We stay because of the satisfaction and our connection to this community. So consider please the living, breathing, lockdown-trapped & lonely person at the other end of that link before you decide to trample on us because the fragile tech we’re trying to build snapped today. Even if the meme is funny.