Every few months we get to see a tech dude offer excruciating testimony to grumpy members of Congress. The tech dude tries, with varying degrees of arrogance, to explain his world; the congresspeople recite their questions; in the end, no one seems notably changed by the experience. There are many ways to understand these interactionsâEast Coast versus West Coast, lawyers versus engineers, political narcissists versus corporate narcissistsâbut I think the core conflict is between batch culture and event loop culture.
In the beginning of computing, batch processing reigned supreme. You would gather your stack of punch cards, wait in line for your turn at the giant electronic brain, feed it your data and instructions, then wait minutes or days for its digital gears to grind out a response. Each batch had a discrete Before and After: You did a thing, the computer did a thing, you went back to gathering punch cards. Then came the event loop: The electronic brainânow small and affordable enough to sit on your desk!âwould wait for you. You would do something (type a key, press a button, or later, click a mouse) and it would respond, right there in the moment, painting a letter on the screen or starting up a video.
The web started out batch. It was a delivery platform for mostly static pages of HTML. You could make sort-of-interactive pages from databases, but the interaction was clunky. Then came JavaScript, a programming language that was all about its event loop. The online document no longer just sat there, all pathetic and booklike. Every time you moved your mouse, every time you punched a monkey in a banner ad, it took notice. And people did punch the monkey, and the web became less about documents and more about experience and interaction. Tapping on Wordle, skipping to the next episode on Netflix, scrolling Facebookâbehind every great tech success of the past decade is a loop awaiting user input. People still do a lot of batch-style programming, of course, but they call it âshell scriptingâ or ârunning analytics reportsâ or âsending email newsletters at 4 am.â
Over the years, this bifurcationâbatch versus loopâhas become a way that I classify the world. Banks are batch, with their slow resolution of accounts at the end of the day. (Oh, theyâll tell you they offer real-time this or that, but when you dig in youâll discover they save stuff on magnetic tapes.) Crypto, constantly transacting in response to users sending messages with magic tokens, is much loopier, a 24-hour reactive, never-ending event. Books, which take years to produce and come out long after theyâre newsworthy, are batch, as are albums; livestreams on TikTok are loop.
Congress, as a policymaking body, is basically pure batch. If youâve ever seen the Schoolhouse Rock cartoon with the bill on Capitol Hill, you know that our federal government is essentially a very expensive and inefficient content management system for producing legal documents. You put all the protests, debates, investigations, meetings, and procedures into the CMS, and out comes a shining act, law, or, every half-century or so, even an amendment. Modern tech, meanwhile, is pure event loop. Thatâs true not only of the obvious stuff, like social media and mobile gambling, but AI too. Though it starts with giant batch processes to create models, the resulting product is event loop: Ask it to draw a picture of a surfing ocelot and it draws one, just like that. Loop has room for reaction. Loop is live. Loop is what the kids crave.
So when the Zuckerbergs, Dorseys, and Altmans go before Congress, I see loop people in a batch world. In their universe, vast numbers of humans do trillions of little things; the tech people look at the metrics and dashboards, then build software that reacts to those things. Sometimes vicious factions break out among their users with terrible real-world effects, and they feel bad about that, but thatâs humans! The difference between tech and government is that they see time in totally different ways.