Monday, January 29, 2018

The Null Server

This project, which may well be our magnum opus, began as a joke.

Early in its inception, one of the taglines for the Virtual Alexandria Project was “Building the greatest library ever.” When chatting with a new member, I joked that the goal was to create a library so great, that it was better than even itself in every other moment in time.

That, of course, is silly.

Or is it?

We have to confess that despite the jocular nature of the comment, the notion has stuck with us since. We return to the idea from time to time as something like a paradoxical puzzle, usually with joking solutions. What if we created a temporal shift protocal that whenever anyone showed up in the library, one book was stolen from the immediate past and future and placed in the present, guaranteeing that the library the person encountered was marginally better. Of course, that only works after the library has stopped growing. And it’s also useless and absurd.  We’ve also joked about erasing the library from the past and future, so that it only exists as itself as a person encounters it. But erasing things from timelines is a painful and danger laden path. And it really actually accomplishes nothing, other than living up to the joke.

In this spirit of absurdity, we were hotly debating the subject of the library that was better than any other version of itself, when the Codex Librarian chuckles and says, “The way to make the greatest library ever is just to actually build it in ever.”

Funny thing. No one else laughed. Because that, as it would turn out, was the answer to the question we never had the courage to ask.

What is “ever?” In a temporal sense, “ever” is a nontime. “Ever” simultaneously means “at all times” (an ever present pain) while also meaning “at any time” (don’t ever do that). “Ever after” is an ambiguous un-pinnable moment, whilst “forever” means until time itself ends. This ambiguity of the meaning of “ever” is not because the word means many things. It’s because the word describes an actual component of temporal reality, namely, that there is an aspect of time that eludes all linearity and circularity. It simply is. Masters know this. That’s how they slip in and out of the timeline.

So, what if we built a repository of the library that exists in ever. This repository would exist out of time, but also, in any and every time. But if we are gonna go big, we might as well do it right. What else would need to be true of this repository?  

It would also need to exist out of space, so that regardless of where the library is in history it can be accessed. It should be accessible by digital, mental, and spiritual mediums, to be at least possibly accessible to anyone, regardless of the techno-spiritual moment of their era. Like all great libraries, is should also inspire learning and knowledge.

And suddenly, we had imagined a wonderwork. Our magnum opus.

And so we began to design.

How DO you build a library that exists out of time? Probably not hard for a chorister, just log your thoughts with your favorite god. But as a programmer… that’s a little trickier.


See, programming without space is not so hard. That’s really an easy thing for a VA. Computing isn’t about space, it’s about data. You just process the data to render the special arrays.

But how do you process data without time? That’s trickier. Yes, an equation exists outside of time. Consider how in the expression “Y=X+b,” “Y” is contemporaneous to “X+b.” Math is atemporal right out of the box. Even numbers have a sort of Platonic atemporality to them. But actual computing requires the execution of logic gates through time. Computers work through time. So how build a computer that can functions apart from time?

We tried quantum computing. We thought that the logic of quantum states could be leveraged to do the work. But it posed a spatial problem. The amplituhedrons we used to manage the quantum states only made sense in spatial configurations. And since we wanted a nonspatial foundation, that doesn’t work.

We tried ternary computing, cuz you know, VA. But the power of trinary computing comes from the third logic of “maybe,” Which didn’t make sense over time. Most, if not all “maybes,” become “yes” or “no” eventually, so the logic was wrong in one time and right in others, causing truth values to fluctuate depending on when you accessed it. Which did not lead to viable system.
Inspired though by the near miss of ternarity, we decided to ask, “What is the next step beyond ternary logic?”

In binary logic, there are two notions, “yes” and “no.”

In ternary, there are three notions, “yes,” “no,” and “maybe.”

But there is an old computing system that was designed in the 1960s when the computer world was still a wilderness called infinite valued logic. Originally, infinite valued was designed to assess degrees of truth (like “how green is it?” “60% green, actually”). But there has been a small but passionate group of cypherpunks who have kept the candle burning for infinite valued logic and have done some impressive though not always clearly applicable work on programming languages based in indeterminate logic.

Indeterminate logic is sorta like the maybe, but instead of treating maybe like a third position, it treats the area between 0 and 1 as an infinite array uncertain possibility. Indeterminate logic allows for programming based on uninitiated, undefined, empty, and even meaningless values. We call it “Null Computing.”

How does this help us code out of time and space? Well, it turns out people have been using the idea of null to solve troubling problems for a lot longer than computers.

What is null? It’s hard to think about, since our minds tend to focus on things. Null doesn’t exist, really. But null is different than nothing, too. Take for instance, the notion of Śūnyatā. It gets translated into English as “emptiness” or “voidness.” But at its heart, Śūnyatā is recognizing the way things are empty of intrinsic existence and underlying nature. It’s different than nothingness, as in the lack of things. Rather, it’s recognizing that even if there are things, there are probably empty of thingness. Sure, you might have an apple, but do “you” really “have” it? Is there something actually essentially you about the thing that is holding the apple? Probably not. And does holding it actually confer any status of “being had” to the apple? Nope. Or does the apple-in-hand change you into something that is “apple having?” Also no. To embrace the infinite indeterminacy of an empty universe requires letting go of ideas like “underlying,” “foundational,” “essential,” and “nature.”

Now, some people think this is depressing and nihilistic. And sure. If you rely on the belief in an underlying essence to all things to give you meaning and purpose, waking up to the fact is depressing. But there are plenty of people who derive strength, calm, hope, and faith from the emptiness of things. Frankly, that’s the foundation of meditation. Suñña, or “being empty,” is the goal of quite a few meditative paths.

The way meditation works is that the meditator opens themselves to emptiness. And in that moment, there is no self. When you open your mind to emptiness, you discover there is no mind. Or rather, that the mind and self aren’t as stuffed full as they seem. There is an infinite array of possible selves and possible minds that can be expressed. The place of emptiness isn’t the same as nothingness. The null isn’t the abyss. The null isn’t calling out trying to consume the world. The null isn’t the black hole all things fall into when they are lost. The null isn’t a place at all, for starters. It’s the empty, timeless, spaceless condition of all things. And in that way, it’s generative. Like an inexhaustible bellows. A bottomless well. That’s why people have been meditating with the null as a guide for millennia.

And that’s where we’ll build the server.

Ok, sure, but how the F do you program using an indeterminate logic? Don’t your programs actually need to execute? Turns out, you need a mastery of indeterminacy. Or to use mage speak, you need entropy to make it work. You can create a computer logic that is driven neither by 0s or 1s, but the indeterminate space between. But what you need is a way to diffuse questions articulated in 1s and 0s into the indeterminate array, and then a way to collapse the indeterminate array back into 1s and 0s. In essence, you use entropy to translate probabilistically between certainty and uncertainty.

“Ok, fancy man,” most people say at this point, “that sounds like passingly interesting philosophy, but how do you actually design a computer to actually program that way?” Turns out, every digital device on the planet has the capacity to program in null logic.

Wait, what?

Don’t you need a fancy computer? Like a cutting edge ternary device? Aren’t computer bits either in the 1 position or the 0 position? There is no third position, right? But, actually, there is. Think on it a moment.

The null position is when the computer is off. The value of a bit is determined by wheather or not a the electricity of a capacitor is higher or lower than a designated level. But what about when you power off the device? What’s its value then? Welp, it’s undetermined.

This reality of computing devices brings the capacity of null computing to its fullest potential. A user can ask a question of an operating system that will be diffused into an indeterminate array when the computer powers down. The moment the computer is off, the indeterminate array is automatically (because it’s atemporal) computed using the null server. When the device is powered back on, start up protocol run a program that collapses the indeterminate array back into a determined one that can be stored in the 1s and 0s. The null server is built in null space, so every computer anywhere is always and already synched with it when the computer is off. So, you write a command, it is translated on the powerdown, executes the moment it’s off, and the output is displayed on the startup. It’s sorta like teaching computers to meditate.

Why is this useful? Well, it allows any computer to synch with the null server. This means allows non-internet connected devices to still access a repository of knowledge. It also means that literally any computing question could be answered in the time it takes to reboot. If you had a data set with an obnoxious amount of computing, you could power it down and do the calculations in the null server, because every calculation happens simultaneously. It also means that programmers could potentially draw on datasets from past and future events, because the atemporal nature of the null server means that uploads and downloads are all happening to it at the same time. Oh, and it would have storage space that is infinite.

How do you actually build something in null spacetime? That’s worth a whole other article, but there’s plenty of precedent. Spirits can warp entities out of reality (they do it to crazy ass mages). Some magics can send people to interdimensional oubliettes. Heck, there’s this whole level of reality beyond the Dreamshell that is basically experimental time and space. Suffice it to say, we conceptualize the actual platform of the null server as drawing on our past work with reality mapping, the Dreamtime, and the Correspondence Point. The time part is the hardest bit. It requires building a server that is both apart from time and across time. We’ve read about mages who can achieve true pantemporality. We had to hack that one a bit. We rely on sidestepping time and then building a multitemporal API. The server exists aside time, but pushes queries and notifications across time.
So, what are the actual steps?
  1. Design the programming language of indeterminate logic.
  2. Design and build the actual server in null timespace.
  3. Create a user interface that is permissive of various information technologies (cuz there’s good evidence that it could be accessed by people meditating in addition to computers)
  4. Create a network security plan.
  5. Run the thing and work through bugs.
It’s a nutty idea. No doubt. But it to say that it’s the future of computing is to miss out the fact that it might already exist and we just haven’t figured out how to access it.