Well, we hit $12k, so I suppose it’s time to post the beginning of the short story that I’ll be adding to the book as the final component if we hit $14,000. All of this was written basically before Neoreaction a Basilisk even started, while I was on a Providence-inspired Lovecraft kick and fooling around with my own spin on “modern day Lovecraft.” I got through, basically, the first section (like “Call of Cthulhu,” there’s a distinctly episodic structure to the plot as I envision it) before getting distracted by accidentally writing a book. But that ended up giving me the ideas I needed to finish it, and the modified idea for the story seems like it’ll fit well into the book, not unlike how “The Immortality of Leelah” fit into Guided by the Beauty of Their Weapons. So, all disclaimers, this is first draft prose, and I’m still not a comfortable fiction writer at all. But if you like it, there’s four days to get the Kickstarter up to $14,000. (And at $13,000, don’t forget, I’ll be doing a magical ritual to neuter the alt-right.)
This site represents my most up to date account of what I have taken to calling the Vala Phenomenon. I have tried to be skeptical and impartial in this matter, not that this will matter to my inevitable critics, but I should stress: I wish I did not know the things I know. I do not sleep anymore. I fear sleep like I fear death. I am not writing this because I think the world should know. I am writing it because I have to. Because I want there to be something left of me. Because the glow of my laptop helps keep me awake.
It started when David killed himself. It wasn’t a surprise to anybody; he’d be the first to tell you he’d always been fucked up. He’d set up a deathswitch, though, which made some projects he’d been working on public and notified some trusted friends, or at least whoever had come to mind when he set it up. We hadn’t had a proper conversation in something like three years when he died, but apparently whenever he set it up, that included me.
Most of it was encryption stuff, which isn’t really a community I follow anymore (yes, I’m that Sarah Harper), but I followed the discussions as people tried to figure out what these projects were and if there was anything worth tinkering with, the communal act of doing so seeming like a good way to mourn what was, for all of us, an old and wondrously idiosyncratic friend.
Anyway, as a side project from some steganography algorithm he’d developed, he’d made a set of photo filters that produced some very startling visual effects, and I found myself fascinated by them. The whole group did, really, at least for a day or two. But after the initial flurry of emails as people put various photos (including many of David) through the filter a sense of unease set in. All of us were intrigued by the strange designs that emerged, but as soon as the conversation turned to why they were so entrancing, a tone of mild dread entered our messages; a sense, I think, that the part of ourselves that enjoyed these images was not one we wanted to face in the mirror.
It is difficult, even now, to quite describe what the images looked like. They were still recognizable as their original subjects. But after the initial flare of recognition the eye is drawn to strange and distorted eddies within the image; objects slightly the wrong size, with oddly bulbous shapes, and patches of odd colors that seemed as if light was being cast upon the scene at strange angles, giving them a hideously impossible geometry. But it is in the almost fractal details of these eddies that the true perverse appeal of the filter was revealed – a sort of texture to the skin of every object that passed through it. It is not quite that there are faces within the image, but rather a sort of monstrous suggestion of a face – an awful profusion of eyes that stare not from within things, but from the very skin of the world.
But while discussion on the e-mail list faltered, I found myself unable to let the program go. My nominal interest was simply as an art project. The unsettling effects were too good to pass up, and I imagined a multitude of artsy video pieces that might make use of them. This, however, would require modifying the program to work on more than just static images.
This was potentially daunting. David’s code was the sort of thing that explained why he never held down a commercial job. All programmers are elegant in their personal projects, which is why they never get finished. But David was pathologically unable to avoid elegance. Worse, he could not keep from being clever. It was not that he was above the pragmatic; indeed, he had no patience for long and grandiose projects. But he also had no patience for programming when it did not let him show off. His code was like a detective story, the comments not so much explaining it as revealing it, with the program’s actual function serving as a crime scene whose explanation forms a far greater story of method and desire.
So I demurred, at least at first, and just ran the filter on the successive frames of short clips. It was inefficient as hell, and my laptop could render about ten seconds a night, so it was only going to be suitable for short looping animations and the like, but it was enough for a proof of concept, and would give me ideas about how to go forward.
I’m not sure what I expected to see. Something much closer to gibberish, certainly. My hope had been that the effect was similar enough from frame to frame to form some sort of momentary coherence; that the patterns that emerged were durable enough to register in the mind, even as they would inevitably shift and blur. But instead the effect was shockingly coherent. The eyes that seemed to populate the skin of every object in the world, for instance, moved with objects. The first clip I did was a random cat video, and I remember there was an eye that not only remained in roughly the same spot on the cat’s body, but that moved with the cat, seeming to bend and twist with the curve of its spine. It was not a perfect thing; over the course of several frames an eye or a face would resolve out of a slightly discolored shadow and then dissolve into a blur and disappear in the churn. But eyes would return in the same places a few moments later, seeming to look in the same directions they had been, even as the camera moved.
It seemed impossible, of course. Each iteration of the filter was being run independently – there was nothing passing data from frame to frame. Which meant there wasn’t a way for it to know that it was looking at the same cat over multiple images. I could understand the same distortion appearing on consecutive frames, when the images were similar, but to persist as the cat twisted and moved around the room required that the program understand the cat as an object, instead of just as a bunch of information about pixels.
I knew immediately I was going to have to deal with the source code. But I wanted to know what I was looking to have explained by the code before I did. So I ran the filter on another cat video to see if similar distortions occurred on the same spots in different cats. They didn’t, so I tried multiple videos of the same cat. They still didn’t, quite, but there were clear similarities. I checked videos of the same cat taken close together versus ones taken a while apart; my sense was that the similarities decreased with time, but it was hard to say; the effect was so uncanny, and the more I looked at it, the harder I found to distinguish specific features from the haze.
I switched back to running individual images; photographs from the same parties, or of people and places taken days and years apart. The more I looked, the more I was confident that the effect was tied to objects themselves, as they existed in specific places and times, and yet the further I found myself from being able to describe the effect. I tried to quantify my findings, to define the effect through some rigorous means, but it was no good. Every tagging system bloated and derailed before it could scale into something useful, and every counting scheme produced correlations just shy of statistical significance.
In comparison, David’s code was almost a relief. His underlying method was a relatively straightforward two-step process. In the first, he generated a map that described the contours of the image; a sort of vague guide to what the image looked like, but short of enough information to actually recreate it. In the second, he took a random sample of pixels from the image. Then, using the sample and the map, he’d try to predict what the rest of the image should look like. From there came a typically elegant madness; the program began using maps from one iteration of the image and pixels from another, creating more and more iterations until finally returning one as the filtered image.
There was one bit of code, however, that I could not penetrate; a function repeatedly called by the image prediction subroutine. Unlike David’s other functions, which were named in ways that made, if not immediate sense, at least a clear sense once the overall program was understood, this one was simply named VALA (even the capitalization was unlike David). More than that, it was not written like David’s code. There was none of the elegant tease of concept and method that characterized his work; just a tangled mess of spaghetti code I couldn’t make heads or tails of.
I was certain it was not actually David’s code. By all rights, this should have been the end of it. David could get away with ripping off some obscure repository for a private project, but he had the luxury of not having every word he spoke online dissected by an obsessive coterie looking for any excuse to bring him down. I could perhaps have gotten away with it by just releasing videos without discussing the software used to make them, but the filter was distinctive enough that anyone who had been on the e-mail list would recognize that I was using David’s code, and since here were people on the list I didn’t know I, by default, assumed at least one of them would go tattling to my stalkers. (Unlike trust, suspicion is not an assumption I’ve ever regretted making.)
Instead I decided to try to figure out where David had gotten the code from. At first this could be justified in terms of the effort versus reward – trawling GitHub and SourceForge to see if the code was part of some horribly misbegotten open source library that would allow me to move forward without any complications. But this effort failed, and I was soon forced to admit that this project was more about my own curiosity than anything.
For the most part, this was liberating. It is always satisfying to finally acknowledge an obsession instead of making excuses for it. But this liberation did not translate into progress in any straightforward manner. Wherever David had gotten the code from, he hadn’t bothered to document it with any leads. And as Google search after Google search led me down useless rabbit holes my obsession gradually lost ground to my inability to progress.
It was not until some months later that I finally had the obvious breakthrough and realized I should be looking at neural networks.