Robin Sloan
the lab
October 2021

The slab and
the permacomputer

Obsidian revetment slab fragment, 1st century A.D., Roman
Obsidian revetment slab fragment, 1st century A.D., Roman

This is a note intended to lay out some­thing that’s lately clicked for me. Here are three glimpses of the future of com­put­ing that all seem to “rhyme”:

1. Cloud functions

I wrote about my expe­ri­ence with Google Cloud Func­tions back in the spring; for me, these rep­re­sent the “perfection” of the AWS/GCP model. Their util­ity snuck up on me! At this point, I have about a dozen cloud func­tions running — or, I guess it’s more accu­rate to say, wait­ing to run. My lit­tle pla­toon of terra cotta warriors, doz­ing in their data cen­ters until called upon.

2. Colab notebooks

I’d heard about these forever, but it’s only in the past year that I’ve used them, and they have in that time become indispensable. The fusion of “doc­u­ment” with “program” AND “environment” is frankly dizzying; using Colab feels more futur­is­tic than just about any­thing else I do in a browser. (I should add that I’m terrible at Python, but part of the appeal is that you can be ter­ri­ble at Python and still get a lot done in these note­books.)

You might reply, “surely, Robin, you’re just saying that you admire IPython and Jupyter notebooks generally” — but I’m not really.

The aston­ish­ment of the Colab note­book is that it comes with a powerful com­puter attached, instantly, for free! You can buy a subscription to make that com­puter even more pow­er­ful, which I do, happily.

Of course, I do recog­nize Colab’s lineage, and I’m grate­ful for all the labor behind IPython and Jupyter. This recent inter­view with IPython’s creator, on the occa­sion of its 20th anniversary, is a won­der­ful story of invention. Fer­nando PĂ©rez says:

[My mentor] had the patience to let me “productively procrastinate” by building IPython, something that I could some­what jus­tify as a tool for fin­ish­ing that dissertation. I regained some much needed confidence, I got attracted to build­ing some­thing, and it turned out to be really important.

An understatement!

For me, the magic is in the spe­cific com­bi­na­tion of Jupyter’s affor­dances with Google’s largesse: you open a new tab, and poof, it’s a doc­u­ment with a pow­er­ful com­puter attached.

3. World computers

All of the blockchains, par­tic­u­larly those that depend on costly proof of work algorithms, strike me as deeply aes­thet­i­cally ugly; these are sys­tems with thrash­ing waste at their core, by design. Clever, maybe, but not elegant.

Even so, I can’t deny that Ethereum’s “world com­puter” is inter­est­ing and, even more than that, evocative. The Ethereum blockchain is one entity, shared globally, agreed upon by all its participants: that’s what makes it use­ful as a ledger. The Ethereum Vir­tual Machine, a kind of com­puter — simultaneously sophis­ti­cated and primitive — is like­wise one log­i­cal entity, even if it’s dis­trib­uted in space and time.

As with a lot of things in crypto, the feeling is as much mys­ti­cal as it is technical. I understand why peo­ple get excited when they deploy an Ethereum contract: it feels like you are pro­gram­ming not just a computer, but THE com­puter. That feeling is tech­ni­cally wrong; it is def­i­nitely just a com­puter; but since when did the tech­ni­cal wrong­ness of feel­ings pre­vent them from being motivating?

I think these are glimpses of an accel­er­at­ing refor­mu­la­tion of “com­puters”—the indi­vid­ual machines like my laptop, or your phone, or the server whirring in the cor­ner of my office — into “com­pute”, a seam­less slab of digital capability.

I like “slab” bet­ter than “cloud”, both for its sense of a smooth, opaque sur­face and its sug­ges­tion of real mass and weight. That’s the twist, of course: cloud func­tions and Colab note­books and Ethereum con­tracts DO run on “com­puters”, vast armadas of indi­vid­ual machines tak­ing up real phys­i­cal space, vent­ing real hot air. A respon­si­ble user of these sys­tems ought to remem­ber that, but … only sometimes. Power out­lets also con­ceal gnarly infrastruc­tural realities, real mass and weight, and a per­son ought to be aware of those, too — but not, perhaps, every time they plug in the vacuum.

The idea that “com­puters” might melt into “com­pute”, a util­ity as unre­mark­able as elec­tric­ity or water, isn’t new. But I do feel like it’s sud­denly melting faster!

For me, a more use­ful anal­ogy than elec­tric­ity is textile manufacturing, which was, a cou­ple cen­turies ago, THE high-tech industry; inno­va­tions in mechan­i­cal weav­ing were close to the core of the indus­trial revolution. Today, aside from the weird tech­ni­cal fab­rics that are like, bullet-proof and opaque to cos­mic rays, tex­tile man­u­fac­tur­ing isn’t con­sid­ered high-tech: it’s just … industry, I suppose. Tex­tiles are pro­duced with extreme effi­ciency in huge, matter-of-fact facilities. Move along! Noth­ing to see here.

I recently read David Macaulay’s book Mill, illus­trat­ing the con­struc­tion and growth of a tex­tile mill in Rhode Island in the early 1800s, and, I’ve got to tell you: Macauley’s mill looks and feels like a data center.

They put data cen­ters near rivers, too!

For me, this raises the analog­i­cal question:

Textiles in 1800 : tex­tiles in 2020 :: com­puters in 2020 : ???

I mean, I am bet­ting the ??? is a slab — but I don’t know exactly what kind, nor do I know how it will be built or oper­ated or accessed.

The duti­fully crit­i­cal part of me wants to shout: you shouldn’t trust these slabs! Their oper­a­tors, G —  and A —  and M —  and the rest, will surely betray you. The very signature of the cor­po­rate inter­net is the way it slips from your grasp. The leviathans swim off in pur­suit new markets, and what do they leave you with? Deprecation notices.

There are other endings, too: even now, the slabs occa­sionally flicker offline, and it’s not dif­fi­cult to imag­ine a seri­ously hard crash, one that lasts a long time, caused by either an acci­dent or an attack. So much for my terra cotta warriors.

Then again … inter­net trunk lines run along­side railroad tracks. Won’t the slab oper­a­tors and their infrastruc­ture still be with us in a hun­dred years, in SOME form, just as the rail­roads are today? I would guess yes, prob­a­bly.

So, I think maybe we — that’s the “we” of peo­ple inter­ested in the futures, near and far, of com­puters — ought to go in two direc­tions at once.

First, if some­body offers you a seam­less slab of com­pute and says, here, take a bite: sure, go for it. See what you can make. Solve prob­lems for your­self and for others. Explore, invent, play.

At the same time, think fur­ther and more point­edly ahead. There’s an idea sim­mer­ing out there, still fringe, coaxed for­ward by a net­work of artists and hobbyists: it’s called “permacom­put­ing” and it asks the question, what would com­puters look like if they were really engi­neered to last, on seri­ous time scales?

You already know the answers! They’d use less power; they’d be hardy against the elements; they’d be repairable — that’s crucial — and they’d be comprehensible. The whole stack, from the hard­ware to the boot loader to the OS (if there is one) to the application, would be some­thing that a per­son could hold in their head.

Plenty of com­put­ers were like that, up until the 1980s or so; but permacom­put­ing doesn’t mean we have to go backwards. The permacom­puters of the future could be totally sophis­ti­cated, super fast; they could use all the tricks that engi­neers and pro­gram­mers have learned in the decades since the Altair 8800. They would just deploy them toward different ends.

As a concrete-ish example, I think this project from Alexan­der Mord­v­int­sev is lovely, and totally permacom­put­ing:

Alexander is the discoverer, in 2015, of the “DeepDream” technique, an early — now iconic — fountain of AI-generated art. You have surely seen examples: images that boil with strange details; whorls of eyeballs where eye­balls should not whorl.

Earlier this year, Alexander released a stripped-down imple­men­ta­tion of DeepDream writ­ten in a vin­tage dialect of C, his code care­fully commented. This ver­sion runs on a CPU, not a GPU. It does so very slowly. Who cares? It whorls its eye­balls eventually, even on the hum­blest hard­ware. You could run Alexan­der’s deepdream.c on a Rasp­berry Pi. You could prob­a­bly run it on a smart refrigerator.

The imple­men­ta­tion does depend on a sin­gle pre-trained model file, pro­duced at (then-)great expense by many com­put­ers with very fast GPUs. I find this totally evocative: it’s easy to imag­ine future permacom­puters that rely, for some of their func­tions, on arti­facts from a time before permacom­put­ing. It would be impossible, or at least for­bid­dingly dif­fi­cult, to pro­duce new model files, so the old ones would be fer­ried around like pre­cious grimoires … 

(For the record, I already feel this way about some ML model files: when­ever I find one that’s inter­est­ing or use­ful, I diligently save my own copy.)

Even if it turns out you never need a permacom­puter, you’ll be glad you thought about them. Pow­er­ful forces are push­ing com­put­ing toward vast, brittle, energy-hungry sys­tems that are incom­pre­hen­si­ble even to their own makers; I should know, because I am a small con­stituent part of these forces. Given such pressure, even a faint coun­ter­vail­ing wind is pre­cious.

The sailing/computing duo Hundred Rabbits are pilgrim-poets of permacom­put­ing. Their Uxn project is a clever 8-bit com­puter design that can be built or emu­lated in a vari­ety of ways, includ­ing on old, recycled hard­ware.

Of Uxn, they write:

With only 64kb of memory, it will never run Chrome, Ten­sor­Flow or a blockchain. It sucks at doing most mod­ern com­put­ing, but it’s also sort of the point. It’s more about find­ing what new things could be made in such a small system.

Where does this leave us? I’m per­fectly com­fort­able in the both/and. I accept the invi­ta­tion of the slab; I benefit daily from the lever­age it grants me. I am, at the same time, cer­tain my func­tions and note­books will be blown away before the decade is out; maybe just by the leviathan’s restlessness, or maybe by some­thing more dire.

I’d like a permacom­puter of my own.

October 2021