Gentle reader: In May of 2020, just as the pandemic was hitting its stride, I graduated from Georgia Tech’s OMSCS program, earning a master’s degree in computer science. At the time I struggled mightily to answer the simple question: what would I do with this degree? The answer, it turned out, was that I would start publishing a fortnightly newsletter called Red Clay Bestiary. Does any of this make any sense? No, it does not. But that’s the way I roll, for better or worse. Anyway, at the time I penned a few words on the matter, thinking I might get the alumni association to publish them, which, I think you’ll agree once you’ve read what I had to say, was a ludicrous assumption. Instead I shoved them into a virtual desk drawer where they sat collecting dust until this fine Juneteenth of 2022 when, instead of writing a new piece, I opted instead to drink beer in the warm sunshine. Lest this one get away, I present it herewith for your inspection.
One evening in October of 2017 found me hunched on the couch with a laptop, frantically pounding on the keyboard in hopes of making a midnight deadline. I was repeatedly running a bunch of software I’d written to simulate the equitable distribution of computer memory to four simulated processors—as esoteric a pursuit as one is likely to run into without taking holy orders.
It’s called virtual memory ballooning—the first project assigned in a class titled Advanced Operating Systems. At the risk of writing a sentence more akin to a tumor than anything like language, the program watches memory consumption by a quartet of processors, and as the requirements of one increases, borrows memory from the others, returning it when the crisis is past. I had written my version in C—a language so primitive it doesn’t even have an indoor toilet. In spite of my relative unfamiliarity with this unforgiving language, my software was working pretty well.
I was running it in a virtual machine, which is a simulated computer you can run as a program inside your real, physical computer, which in my case was a MacBook Pro cooking the hair off my thighs. (The simulated processors, in turn, were running inside the virtual machine, like Russian nesting dolls.) But as hot as my legs were, the fiery aluminum case of the laptop was not what was making me sweat. As the clock ticked with belligerent intensity, I raced through a variety of test scenarios, dutifully recording the results which would form the bulk of my submission.
It’s arguable that I used to be a stress junkie, back when I was working as a freelance programmer in Boston in the early aughts. I never said no to an opportunity, no matter how ludicrous the mismatch between what was asked and what I could actually do. Typically, each job unfolded first with a panicky period of self-education, followed by a panicky period of working around the clock to get everything done. There is a particular sensation I associate with those days—a shortness of breath and a weakness in the left arm.
And here I was, feeling it all again. This was not supposed to happen. And it certainly wasn’t supposed to happen in just my second semester of an online degree program. The very phrase “online degree” conjures up visions of DeVry advertisements: “Earn your phrenology certificate in just six weeks!” As I write this, pandemic has taught all of us not only the vertiginous weightlessness of online life, but also the fact that we can do all the vertiginous weightless tasks that we used to go sit in offices and cubicles to do. Either cyberlife is flimsy or life is. Maybe both.
Arduous though? Grueling? Some video games maybe. Not an online class. Right?
Well, in this case the program was the Georgia Institute of Technology’s Online Master of Science in Computer Science, or OMSCS.1 It was about two years old at the time I signed up—not quite long enough to establish a reputation for whip-cracking, but I probably should have seen it coming. I’d worked for Tech for eleven years at the time I started my first class, and for all its flaws nobody would ever describe the educational offerings as lax.
The best and worst thing about OMSCS is that it manages to capture both the rigor and the capriciousness of a Georgia Tech education, administered on a scale ranging from the blank-eyed inexorability of a machine2 to sheer gleeful masochism. Also well-represented is the Tech student culture, which is a sort of amalgam of Spartan warrior, open mic night at the local comedy club, and Eddie Deezen’s character from Wargames.
The professors are universally brilliant and passionate about their topics, if not necessarily the classes themselves, which are often run by the T.A.s—the latter typically do most of the grading and answer most of the questions posted on class discussion boards. These discussions are largely the heart and soul of the program. There are canned lectures—pre-recorded videos introducing the class material—but the discussion threads are where students gather to slice and dice the information, pick over test and quiz results, and decipher project instructions, which tend to be rambling documents of absurd length larded with errors, ambiguity, redundancy, misdirection, and wild, inconsistent attempts at clarification through ever increasingly alarming typography. I can honestly say I never would have been able to make heads or tails of these instruments without the benefit of student discussion.
That said, bulletin-board style discussions are intrinsically imperfect. Any question becomes something like a carcass upon which descend a committee of vultures, and before long the remarks proliferate like jumbled entrails, incomplete and often incomprehensible gobbets of words. Everyone writes in a somewhat oblique fashion as they strive to avoid simply giving away actual answers, and the effect is like a giant game of Pictionary with faceless strangers.
The T.A.s are often the worst about this—since they carry the bulk of the responsibility for the integrity of the class they tend to dissemble to a degree that occasionally renders them as elliptical as the Oracle of Delphi.3 I should add that, in keeping with the stereotype, computer scientists are not always the clearest communicators in the world—shocking, I know. Mother tongues, though varied, were generally much less an impediment than the sheer carelessness many displayed in their writing. Often I’d request, repeatedly and with ever-mounting frustration, clarification on a point that could have been made crystal with a simple yes or no.
Me: Can we assume the earth is flat?
1st T.A.: Ask yourself whether flat.
Me: I’m sorry, can you rephrase that?
2nd T.A.: The assignment is very clear that flat is the end result of geographic processes played out over eons.
Me: That doesn’t make sense. I’m not asking whether it’s flat in places. Is it, uh, globally flat?
3rd T.A.: How can something be globally flat?
Me: It was a joke.
3rd T.A.: …
Other student: It’s not flat.
And so forth. I suppose one of the expectations I brought with me into OMSCS was that, after 25 years spent puzzling over gnomic software documentation, that a master’s program in computing would be heralded by the revelation of sacred truths; that we would work with clearly defined, bug-free systems and wouldn’t have to do any of that googling that makes my job feel less like a discipline than a scavenger hunt. But this was not to be. It’s all googling. The degree is in googling.
It’s simultaneously disappointing and gratifying to find that the problem-solving skills I first began to develop as a child struggling to tease useful information from model airplane instructions would turn out to be a key skill—perhaps the key skill—in computer science. We plumbed some theoretical depths and learned a bit about mathematical programming methods intended to squeeze out some of the imprecision of hand-crafted code, but on the whole computing retains to this day a lot of the old hacker aesthetic that drew me to it in the first place. As much as certain large corporations want us to believe that modern computers are just sleek exteriors with inscrutable guts, they are in fact quite scrutable. They are the product of human industry, same as stone tools and wagon wheels.
It was a long way and a lot of work to discover what I already knew. But that’s ok. That’s learning at its best.
At perhaps two minutes to midnight, I was running the last scenario when my virtual machine ran out of disk space. Disaster! The time it took to solve this problem pushed me well past the deadline, and I would wind up suffering a significant loss of points for my tardiness. A few days later the professor announced that we could extend one project of our choosing to the end of the term. Still wallowing in the frustration of my near miss, I immediately selected the balloon memory project. I got my points back, but came to rue the decision in time, when a much more difficult project knocked the knees out from under me. I bombed it. I was forced by my poor choices to turn in a half-finished submission, and scored a big fat zero, as my code didn’t do any of the things it was supposed to do. The zero dragged my overall grade down to a C. I felt lucky to get even that. It was the low point of my OMSCS career.
But I survived, and even thrived. And I got out. That’s an old Georgia Tech thing—you don’t graduate, you get out. Like you escaped from prison. This is at once the problem with Tech, as well as the greatest source of pride for those who, in fact, get out. They’re going to make you work; they’re going to make you suffer. No matter who you are, or how smart, they will find a way to give you the cold sweats.
Is this a criticism? I’m not sure whether it is. There’s something about surviving that really instills confidence in your abilities. Toward the end of my most mentally taxing class, Graduate Algorithms, in need of a solid 70 on my final exam to get the requisite B in the class, and with two prior exams in which I’d fallen well short of the mark, I sought support from the class Slack channel. In the midst of discussions on such arcane topics as how to convert a linear program to standard form, one student remarked: “Don’t forget, you’re a Georgia Tech student. You can do this.”
I may never have set foot in a Georgia Tech classroom, but the sentiment was true. I was, and I could, and I did.
Quite the mouthful, no?
Georgia Tech in fact “hired” a chatbot invented by one of its professors to be a teaching assistant with OMSCS. My guess is that the bot, styled Jill Watson, was more consistently empathetic than some of the human T.A.s, though regretfully I never had her in a class.
Please join me in celebrating the constraint I displayed in not linking those words to the associated software companies.