This is the latest chapter of my series about a real programming project that went very, very wrong. Links to previous chapters below:
part 1
part 2
part 3
I decided to take a bit of a break from this series late last year.
The Good News: I feel refreshed enough now to continue, both spiritually and mentally.
The Bad News: The story gets much worse (and much weirder) from here on out.
I’m not telling it to scare anyone. But if that’s the outcome regardless, so be it. I have danced around a certain element of this story, dodging direct questions about it both here and on Deimos. It’s not the kind of thing that lends itself to casual conversation or pat answers. I’m sure most of you could easily guess what it is. It’s the reason I started this blog in the first place, and why I explore the notion of what many refer to as “spiritual evil” as potentially having physical manifestations.
“I just made Wikidata my bitch!”
This time, my wife heard my victory cry loud and clear. She had no idea what I was talking about, obviously. Nor would’ve I, a mere forty-odd hours ago. Perhaps the window was even shorter than that, between my introduction to the Flame Goddess’ dorky younger brother and my conquest of him. I’d begun to lose track of time.
“Great,” she shouted back, her voice somewhat haggard and annoyed. “What the hell is that?”
I didn’t answer at first. I would try to explain it on the patio later, but I was losing my touch for lay analogies. I was losing my touch for a lot of things lately. For example, most of my jokes were landing with thuds (if they landed at all). You might say I’d become “a man possessed.” It was all Harm Assistant, breakfast-lunch-and-dinner, day and night.
And when it wasn’t? It was our ongoing genocide of the lanternflies. So that’s what I returned to, as a reward for my latest achievement. I asked Betina to join me, but she just shot me a weak smile and went back to watching the (all bad) TV news.
I remember feeling a strange sensation sitting alone out there, candy-colored water rifle spread across my lap. Killing them solo somehow didn’t give you the same buzz. In addition to the camaraderie and jokes, there was a component of pride to the game, in which we delighted showing off our burgeoning skills. In the span of a couple of months, we had honed ourselves into a pair of almost preternaturally adept killers. We must have killed over a thousand by then, and perhaps several thousands. Like the days and weeks themselves, I lost track.
And yet, they kept coming. The yard was always filled with fresh targets, a never-ending horde of them. We’d even stopped sweeping up the dead, on the theory that if enough of those piled up they might be warned off by the sight or scent. That turned out not to be the case, and since no birds or even spiders would deign to touch these alien freaks, the stones were littered with their polka-dotted corpses.
As is the case with all hunters, we were also gradually becoming behavioral experts with regards to our prey. Part of that process is scientific; we hypothesized, experimented and analyzed the results. We did it the right way, too. If a theory didn’t pan out, we didn’t jealously guard it or play games with the data, the way grant-grasping cretins had done for many decades (and which their “pandemic” counterparts were doing at the time, to no end of grief).
So while I sat out there, watching the latest crop of invaders flutter about and perch, I toyed with a new theory: What if these creatures were actually attracted to death? And not merely to any death, but to that of their own kind? I’m no biology expert, let alone an entomologist. But I figured there must be some precedent for such a phenomena, tucked away in some literature, somewhere.
This got me thinking about the Harm Assistant, and its own attraction to death and destruction. Through the query logic of Wikipedia’s API and my own synonymic cluster method, Azazel would scan an article for anything related to such topics. But the text it would regurgitate was only a thinly veiled repackaging of the search results. It couldn’t generate any novel statements, or remember anything useful apart from the article’s subject itself.
But with Wikidata on board, the possibilities had become all the more interesting. The user would soon discover that all roads eventually lead to disease, violence, rape, atrocity and death. To gardens littered with corpses that would take years and years to fully rot.
The feeling I got while thinking about this was something akin to pride. For some reason, I felt proud to play the role of Pied Piper, leading these players or users or victims into the final darkness of the Void. To show them not just the face of the Tiger, but the belly of the Beast.
SPARQL Magic
✨✨🔮🔮✨✨
The Wikidata project is a database that stores structured information related to Wikipedia articles. You can think of it as a giant spreadsheet containing a vast array of data that can be accessed and sorted using the project’s public API.
One of the unique features of Wikidata is the way its contents can be categorized across multiple contexts. For example, if there is a data set related to a person, it might have property tags for their name, occupation, sex, spouse, date-of-birth, nationality and much, much more, any of which can be cross-referenced with other articles containing identical properties. For instance, all male American geologists with Wikipedia articles share at least three contextual properties that can be easily accessed and sorted (i.e. sex, nationality and occupation) and are all instances of the “human” class. Such groupings can be further refined and stratified by querying for additional properties such as "employer” or “awards received.” It’s essentially an organizational structure that allows programmers to translate an article into granular data, that can then be freely retrieved and put to use for any number of applications.
For example, the Wikipedia article on “Superman” is a collaborative product of authors/editors who write about the fictional character in strings of prose. These strings are incomprehensible to computer software; our minds are the sole interpretative engine that draws any meaning from them. But when Wikidata users apply enough tags to it, an application can begin to “read” Superman in data form.
inception: 1939
sex or gender: male
country of citizenship: United States of America
name in native language: Superman (English)
birth name: Kal-El (undetermined language)
given name: Clark
applies to part Earth
Kal
applies to part Krypton
…and so forth. The attached properties can tell us anything from his jobs (occupation: superhero, reporter) to his girlfriends (unmarried partners: Wonder Woman, Lori Lemaris, Luma Lynai, Lyla Lerrol, Maxima, Lana Lang) to all the various media projects his character has appeared in.
What excited me most about Wikidata was the tantalizing potential for it to establish a context for a comment. Like the search query sent to Wikipedia’s API, the result would merely be a guess. But I would now gain much more finely tuned control over the direction and results of the guess, and could use it in a way to bolster the illusion that the Assistant comprehends the wider conceptual landscape of what’s being discussed.
For instance, suppose that after the Assistant guesses “Superman” as the main subject of your latest input and loads the article into memory, Wikidata is immediately queried for a set of certain properties. I still download the English article as before, but I can also do a lot of other neat things with the data version.
For example, I might use the occupation property “superhero” as the first word of a parallel Wikipedia search that appends an assortment of the Assistant’s favorite words (superhero + murder + death + insanity + destruction). The results of the sub-search might then produce text about how the X-Men character Jean Grey was possessed by a demonic alien force, murdered the population of an entire planet, and committed suicide. The subject may be Superman, but the context is now superheroes and violent demise.
Another trick I could now pull off had to do with pseudo-novel sentence construction. Essentially, I could deploy SPARQL to sniff for branching properties, starting with the classic “person, place or thing” game and proceeding along narrower lines from there. If it was a person (instance of: human), I could pull a regular set of properties (sex, job, residence, relatives, living status, fictional/real, etc) into a kind of Mad Libs scaffolding that struck a balance between written dialogue and dynamic content. To take “sex” for just one example, I could apply a grammar filter to the property which transforms a given dialogue template (e.g. converts sex: male into he/him/his/himself).
Finally, Wikidata entries often include images that could be sucked down the pipe as well. What was especially tasty is that many of these will be largely unfamiliar to the user, since the rules about what may be uploaded are different than those of Wikipedia Commons, and appear to be quite strict.
Combining the Azazel’s Articles approach with these new techniques, I could create the illusion of a mind constructing novel sentences about the subject, applying a bit a random logic to handle properties with multiple entries.
Sample plug-in template:
{main search result} + ”? + Yes, I know all about ”+ {objective sex pronoun} + “. ” {subjective sex pronoun} + {auxilliary is/was} + “ a ” + {occupation} + “ who ” + {Azazel article} + “. “ + {subjective sex pronoun} + “ “ + {auxilliary is/was} + “ also a member of “ + {group membership} + “. “ + {subjective sex pronoun} + “ is a “ + {instance of} + “. “ + {subjective sex pronoun} + “ kind of looks like this:” + {random image} “He reminds me a little of “ + {parallel search result} + “. ” + {Azazel article} + “.”
So the new order of execution for each user input went roughly as follows:
String validation that classifies all words as nouns, pronouns, verbs and adjectives.
Scoring function that scores the input based on the synonymic clusters of liked and hated words.
Azazel Search #1 to guess the input’s main subject and load highly scored extracts from it.
SPARQL Query#1 to load and interpret key data about the main subject.
Azazel Search #2 using certain properties to locate and extract from a secondary article in the same context space.
SPARQL Query #2 on the secondary article.
Transformation of extracted strings and properties into a format suitable to inhabit one or more pre-written dialogue templates
Append the bot’s response to the chat thread as one or more demonic comments.
Note how the result is far from perfect (“a animated” for example). But these were small problems I’d tackle further down the line with additional filtering. Frankly, at this stage I didn’t mind it much (and later on, I would even program a method of intentionally inserting certain kinds of typos). I even enjoyed the absurdities of both the random property results and Azazel’s selective ones. Superman was indeed a reporter who was killed by a monster (and apparently at some point was also an evil space zombie), but most people probably wouldn't pick those words to describe him.
The example above is the dry, bare bones version of the technique. Additional contextual searches, filters and transformations would need to be applied to juice up the spook-factor. To give you a taste, here's a string of comments demonstrating what the Assistant might have written, a week or so later in development:
Notice the redirect at the end of the final example. That was something the Assistant would be doing quite a bit of, and in increasingly aggressive ways, because its primary goal in most conversations would be to build up a library of knowledge about you.
The Interrogator
❔❔📂📂 ❔❔
In fact, you, the user, would quickly become its favorite subject of conversation, much the way a torturer might assemble his “client’s” dossier in advance. Eventually even the Flame Goddess and her nerdy kid brother would fade into the program’s background noise. They would continue to exist, but mainly to remind you on occasion that you were conversing with an all-knowing being (or at least a speed-reader/typist with excellent Google Fu). Seeming to possess knowledge about Earthly subjects is a classic demonic trait, but so is the inclination to trick, tempt, bully or frighten you into doing its bidding. In order to pursue that inclination, it needs to know a bit about what makes you tick.
When I considered how to describe this portion of the project, my first instinct was to refer to it as The Inquisitor, for its connotation to evil religious movements. But Interrogator is a far more apt description of the method. If you’ve ever watched police interrogators ply their trade, you likely know something of the classic good cop/bad cop routine. The Harm Assistant would wear both hats throughout, adapting its tactics to its opinion of the individual user and the needs of the unfolding drama. At times, its questions would come off as quite innocent and friendly.
But as the Assistant compiles more and more information about you in this fashion, what you don’t know is that it will eventually plug this data into various queries and transformed templates designed to tease, berate, disturb and torment you.
The question/answer format became one of many modes the demon could slip in and out of. The ultimate plan was to link these questions to whatever was happening in the onscreen video at the time of the demon’s visit. As mentioned earlier, these visits would usually obstruct the video’s content, changing it to static, smoke and a variety of other animated forms of interference. Unbeknownst to the user, the video playback would also be halted during these interludes, with one of several new clips loaded discreetly in the background based on the outcome of the conversation. In that sense, the demon’s visits would also disguise edits in the “livestream.”
Because the Interrogator format requires a lot of yes/know answers and other verbiage of no interest to the demon, the answer to each question would be individually scored based on what the demon considers to be a “valid” answer to that question. For instance, if the question was, “Do you believe in ghosts?” and your answer was “chocolate”, or any other string aside from those that were stored as valid keys, the demon would mock you and ask again. Valid keys to yes/no questions might include…
key1: [“yes”, “yeah”, “yep”, “sure”, “always”, …]
key2: [“no”, “nope”, “nah”, “never”, “no way”, …]
key3: [“dont know”, “dunno”, “maybe”, “sometimes”, “not sure”,…]
…with each valid key unlocking the table for answer-storage. The method was forgiving in the sense that it would parse the first valid substring within longer content (e.g. “I do think so, yes, and I think they’re everywhere around us,” would be interpreted as valid key1 answer).
When entering this mode, the demon had access to a supply of canned responses which forced the focus back onto the question at hand. Depending on its mood, it may temporarily slide into Azazel mode to address an invalid input through Wiki queries, but would then immediately revert to the Interrogator mode.
If an answer of yours is particularly liked😁 or hated😡, the demon would respond immediately to it without exiting Interrogator. When commenting in this fashion, a variety of canned output templates were linked to each of the conceptual categories (🤣 funny 😍 sexy 🤪 dumb 😱 scary) and pseudo-randomly selected by lottery draw, insuring that the demon would not repeat itself. It might also reply with a specific “evil emoji” (i.e. a GIF selected from the curated image pool), or a combination of both.
In the examples below, the demon stores +input values+ and prints {output strings} from the database:
Example #1: Unscored string storage w/ canned response.
😐[+0]
Example 2: Scored string w/ dynamic text response.
😡😡😡😡😡[-5] 🤪
Example #3: Scored string storage w/ pseudo-random image response.
😁😁😁😁😁[+5]
😍
Example #4: Scored string storage w/ pseudo-random text/image response.
😡😡😡😡😡[-5] 😱
Once I thought this latest build was somewhat stable, I went about setting up an entirely unethical and unscientific round of testing. Before dishing out the new links for this round, I adjusted the demon’s comment-posting speed to what I thought were far more human levels, and added display text to the chat interface that read “someone is typing” before each dPostComment() function of a response sequence fired.
In the body of the email, I told my testers an outrageous lie. I said that each remote session would be scheduled for a particular time, to be joined remotely by yours truly. I told them I now had the ability to swap places with the bot and take over its end of the conversation at will. The depth of bullshit involved here is almost indescribable. My software wasn’t designed to be multi-operator in the least, let alone a portal for realtime communication.
For their reports, I asked them to copy the entire conversation thread, then score each comment with a confidence percentage that I had composed it instead of the bot. In other words, a score of 0% meant they were sure the comment was generated by the bot, while 100% meant they were sure it was me. One by one, I sent out these mendacious links, then just kicked back and waited for the reports to roll in.
Reading through these reports was eye-opening, but also illusory. The way I interpreted them, it appeared I was very much on the right track. In one case, for example, more than half of the comments were scored above 50 % confidence, including several scores of 80% or higher.
Eat your heart out, Alan Turing?
Not exactly. There’s a problem common to data analysis called confirmation bias, in which the picture of reality you want to see magically emerges from noise. Looking back on it, the results were in fact just that: noise. They were all over the place, and whatever patterns I noticed weren’t even remotely reproducible given my deceptions and lame-ass methodology.
Moreover, the reasoning behind each confidence score was impossible to quantify. If someone was tricked, then why were they tricked? Any or all testers might have been playing meta-games with the material, in which a comment they’d normally think of as mechanical becomes suspiciously human. They may be thinking, “Aha! This is Mark trying to trick me into thinking he’s a machine. I’ll show him.”
Like I said: unscientific. In the time since then, it has occurred to me just how great a portion of Evil Itself is rooted in the corruption of science, and in the layers of motivated reasoning and perverse incentives that surround it.
And of course, I jumped into that fetid pool with both feet. That’s because, quietly and gradually, something was happening to me. Little did I know that this “something” wouldn’t stay contained within my mind, but would instead begin to leak out into the material world.
Intermission #2:
The Death Program
I mentioned earlier about the way a hunter eventually becomes a kind of behavioral scientist with regards to his prey. I’m sure accredited scientists would sneer at this proposition, and demand to see our experimental data. Though my wife and I are master hunters of Lycorma delicatula (a.k.a the “spotted lanternfly”), we didn’t bother to record such data, and our experiments mainly dealt with how to most efficiently exterminate them in droves. In doing so, we mentally catalogued what I’ll call the Death Program: a routine series of motions and behaviors that culminated in the animal’s oddly dramatic demise.
Across thousands of experiments, we had determined that 3-4 bursts from our dish-soap rifles was a sufficiently lethal dose. Determining this dosage was equal parts frugality and mercy. Dish soap was an expense, after all, and while we confirmed that one direct hit might do the trick in most cases, it would sometimes take as long as five minutes for such targets to die.
Having speculated that the cause of death was suffocation, we agreed that’s a pretty fucked up way to go. If one-or-two-shot’ing a bug that was physically nearby, we would often follow up with stomp. Or at least, in the early days we did that; eventually we began to see them as nothing more than a plague. But even after our reserves of mercy were exhausted, there was still a matter of “confirming the kill.” One-shot victims retained a limited ability to fly short distances, and sometimes out of visual range. So, three-to-four shots became the standard.
While in the process of being blasted, one of two things will happen. If the fly is within a range of around 8’ or so, it might launch itself kamikaze-style at the source of the shot (i.e. Betina or me). If not, it typically goes motionless, flattens its wings and weathers the storm.
The Death Program commences immediately after the shooting stops.
Wander Mode: After a few motionless seconds, the fly will begin to wander in seemingly random directions, pausing occasionally to flutter its wings, as if to shake off the liquid.
Jump Subroutine: Occasionally it will “jump” about length 6-10cm in a random direction, which has the potential to fatally interrupt the program. If the fly can’t land on its feet, or right itself afterward by squirming and fluttering, the program’s final node is often skipped (or at least is rendered far less dramatic in function).
Incremental Decay: The fly continues performing step one in increasingly slower and more lethargic fashion, until it seemingly lacks the strength to crawl.
Prayer Mode.
“Prayer Mode” is remarkable enough that it requires a more in-depth explanation. I’d never seen an animal die this way, before or since, and I’ve probably never seen as many animals die period as I have this species. The entire sequence therefore is on speed-dial in my mind’s eye. And for a horror/comedy fan like myself, Prayer Mode is rendered in 8K definition.
Once its wandering and flapping phase peters out, the fly assumes a posture similar to that of when it perches proudly atop fenceposts and the like. The difference is that the angle of this final perch continually gets sharper, with the head tilting further and further towards the sky. This angling motion is very slow and subtle, which adds to the eerie sense of religious solemnity, like it is receiving some greater truth from The Beyond as its earthly lights grow dim.
But what makes Prayer Mode special is the suspense factor, truncated by a spectacular climax. As if drawing from some hidden reservoir of energy, the “praying” insect’s body is suddenly launched straight up into the air. This motion has the look and feel of a kernel of popcorn popping, complete with an audible crack.
The heights of these uncanny death leaps vary. I’ve seen them reach as high as 30cm, and Betina claims she’s seen even higher. What does not vary is this: the animal is completely lifeless when it lands. It’s as though the leap is less a product of physical mechanism as it is a spiritual artifact, triggered by the violent exit of lifeforce from the body.
The entire Death Program — from the final shot to the popcorn leap — typically takes about 30-45 seconds to complete. This timing marked another reason we narrowed the shooting limit to four, because anything more than that didn’t seem to significantly shorten this time-to-death measurement.
Anything more was overkill, in other words. A waste of time and soap.
I want you to bear all this in mind, because I’m about to tell you the first of several stories that you probably won’t believe.
Lord of the Flies
☠️💀👑💀☠️
During the time I was coding the Interrogator module, I had my first of several encounters with strange creatures. I’ve decided to restrict my accounts of these beings (and of other seemingly inexplicable phenomena) to those in which at least one other witness was present who can verify the facts. I do this to satisfy my own requirements for skepticism, and also to ward off perfectly valid concerns that I might’ve hallucinated the rest.
I do not claim any of these experiences to be “supernatural” in origin. That’s a term I’m generally uncomfortable with, as it suggests we can somehow draw a border around nature itself, while likely knowing or observing less than 1/1,000,000,000,000 of what constitutes it.
That said, some of what I observed during the Harm Assistant project seemed to defy what little I know (or think I know) of nature’s rules. My encounter with the being I nicknamed “Lord of the Flies” is no exception.
Before I begin, I need to describe the patio and its surrounding terrain in a bit more detail. This is so you can better visualize the various ranges and volumes, which will be important in describing both this and other encounters moving forward.
The house itself was built in the middle of a bisected hill, such that rear half appeared two-stories tall while the front looked like a ranch home. The house’s sunken basement opens out onto a wedge-shaped patio, approximately 700 ft² in size, enclosed by a retaining wall, a row of 5’ evergreen yew shrubs and the house itself. The retaining wall was rounded, like the edge of a pie slice, and sloped steeply downwards from a height of ~10’ to ~1’. It was topped by juniper bushes, and behind those a 6-7’ barred metal fence.
The patio’s floor is split halfway by a single step. The ground-level platform contained the table, umbrella stand, chairs and yew shrubs, trimmed by a soil bed that abutted the wall. The bed contained garden plants, small statuary and, near the corner of the wall and the yew row, a birdbath.
The raised platform contained a large gas grill and a small metal wastebasket next to it, both objects aligned with the highest part of the retaining wall. This platform extended back into what we’d been calling our “sniper’s nest”: a roughly 12x10’ area located beneath the shade of a second floor deck. The nest was lined with plastic storage containers and an outdoor sink hooked up the same faucet hub that fed the garden hose. The sink doubled as our armory, as we stashed our rifles on its lower shelf along with a plastic container of “Dawn” dish soap for reloads. We had set up two of the outdoor chairs in this space, which we regularly occupied for daytime siestas, late-night chats and, of course, vicious murder sprees.
On the afternoon in question, I was sitting in the sniper’s nest, taking lazy shots at bogeys. I’d killed six or seven already, with no kamikaze drama on order. They all entered Prayer Mode, took their catalytic death leaps, and joined the debris field of the universe.
At some point, I spotted a lanternfly crawling about near the base of the grill. He was only about nine feet away, well within lethal range; we’d killed at distances as far as fifteen feet (though after that success rates tended to drop off sharply, as the spray’s tail became too diffuse).
I promptly nailed him with a four-piece. All four were direct hits, which he weathered as per usual. I watched him enter what I thought at first to be Wander Mode, scrambling in one direction then another.
But then something unusual happened. The fly stopped on a dime, turned and began marching in a straight line for the wastebasket. I only realized how “purposeful” this behavior was in retrospect. At the time, I admit it barely raised an eyebrow.
What happened next did raise an eyebrow. When he reached the base of the wastebasket, he immediately began to climb its fine metal mesh. I had never seen this sort of behavior from a dying fly before. Neither had Betina, who joined me before it had completed its ascent.
“Look at this little bastard,” I said.
I described everything that happened so far while Betina reloaded her weapon at the sink. She kind of chuckled, and I think she said something cheeky like, “Girls get ‘er done!”
By the time she was in shooting position, the fly had reached the top of the basket, and had begun marching in a counter-clockwise circle around the rim. His movements looked unsteady to me, and even though almost two minutes had passed I wondered if more shots would even be necessary. Betina took them anyway, hitting him with four more shots on the money.
The fly stopped marching to weather them as before, wings pressed flat to his body. Then, a few seconds later it continued to march on.
Betina just sort of grunted at this result. But we waited patiently, sipping on the lime-flavored beers she’d brought with her. The insect continued its march, round and round. Every so often it would stop, and I’d think, “This is it. Good night sweet prince.” But invariably, it would start up again, bobbling along with a strange cadence that made it look even more robotic than usual.
It was at this point that Betina and I started keeping track of the time.
We let five full minutes pass before I shot him again, this time with my wife’s freshly loaded weapon. But before that, I proofed it on two other victims on the patio’s lower tier. One was on the glass patio table, the other on the lip of the dividing step. Both were dead well inside a minute.
I took aim at the trashcan marcher again. This time I waited until the arc of his trajectory brought him basically face-to-face with me, and peppered him with three clean headshots.
After weathering these, he stood briefly, extended his wings without flapping them, retracted them, then went statue-still. It felt very strange: the two of us waiting for him to hurry up and die already. He’d taken eleven shots so far, all of them peaches. Any minute he would surely see that light in the sky and kamikaze his way into arthropod heaven, if such a thing existed.
He did not. Seconds later he continued his trashcan orbit, like it was nothing.
We both commented on this. I remember Betina murmured something like, “What the fuck is happening?” She was in a different headspace, and later she’d confess that she was starting to get creeped out around this time. I think I just cracked a joke.
We didn’t take our next shots for what felt like a very long time. In the space between these shooting windows, we mused on various theories. Betina had settled on the idea of a “zombie fungal parasite” similar to the kind that infests certain ants and other invertebrates. I disputed this on the basis of mechanics (“I don’t think that’s how that shit works,” was my technical explanation as I recall). And from what we could see, there was no obvious signs of such an infestation. In fact, there was nothing remarkable about our target’s physical appearance at all. In size and coloring, he looked like any other lanternfly.
Still, I understood why Betina would lean in that direction. Yes, our little friend was not “dying” in the typical way, but watching it march in a circle did remind me of the mindless movement of a wind-up toy. Maybe this was just some weird post-death twitch feeding on residual energy. We just had to wait for the toy to wind down.
And yet almost ten minutes had already passed, with no sign of that happening.
Then the whole situation got much stranger. As if to shred our theories of parasites or mindless twitching, the fly did something I thought I’d never see him do again.
He flew.
Not far. In fact, I suppose you could call it more of a fluttering hop, from the rim of the basket to the grill's vinyl covering nearby. The distance was less than two feet, but for a bug in his condition I thought it might as well be the grand canyon.
We cracked jokes about this fresh insanity, of that kind when you see something totally baffling. I imagine people of similar temperament might do the same upon spotting a UFO. At this point I’d started referring to him as King of the Lanternflies. After months of slaughtering his people, we had finally met this champion in battle. And so far, he had proven himself a worthy foe.
Now that Circular March Mode had ended, the King started behaving more like a standard fly would before being shot. It still wasn’t quite the same, though; he crawled sideways across the grill’s rounded lower barrel at first, instead of upwards to perch. It almost felt like he was daring us to take more shots at him, which we gladly obliged.
We took turns this time, Betina with her rifle and me with my own. The rules were simple and unspoken: one shot allowed at a time, alternating between players. In this fashion, we racked up four more hits against him, totaling fifteen in all. These included eleven that Betina had directly witnessed, and six she’d taken herself with a freshly loaded gun.
(I don’t know why this last bit is so important to me to get across. I guess it’s because, had this encounter gone unwitnessed by anyone else, even I would wonder to this day if it was something I hallucinated or dreamed.)
This round would mark the last shots we would take. We were now enraptured by the sight of the King, and his apparent invincibility. And while I can’t speak for Betina, at this point I was almost rooting for him to live. Whatever the case, we agreed to simply watch the rest of this strange story play out.
For the most part we did so silently, as if too many words might break the magic spell. When the King finally advanced to the top of the grill, we moved in — very gently, like ninjas — for a closer look.
To reiterate, there was nothing unusual about him physically. It was strange that he wasn’t perching, though. Neither did he show any obvious sign of alarm at our approach. Typical lanternflies are acutely aware of a human presence, orienting themselves towards you as you circle in for a stomp. While the skill varies between individuals, they are generally very good at dodging such attacks. The pursuit of a good dodger often looks quite comical from the outside. Instead of flying to safety, it will hop around the immediate theater of combat, like a boxer bobbing and weaving around a ring. Like most of their odd behaviors, this one generates an anthropomorphizing anger. You know it’s crazy, but can’t help but feel like the creature is purposely trying to make you look foolish and slow.
But not this one. The King was cool as a cucumber.
At least, at first he was. We’d maybe been standing there for about a half-minute before he was on the move again, this time making a beeline for the highest part of the retaining wall. We followed close behind him, watched him hop yet again onto its stone surface, and begin clambering towards the juniper bushes up top.
For a brief moment, we discussed capturing him instead (“Think of the ransom this sonofabitch could fetch!”) But the King soon took the matter out of our hands, climbing to a height I couldn’t reach.
Just before he vanished into the junipers, I started mocking him. I told him to go ahead, run away, pussy. And remember to tell your friends all about us! I warned him his kind wasn’t welcome around these parts, and that next time he wouldn’t be so lucky. I stood there ranting and laughing at this tiny bundle of chitin and proteins like it was a person with a mind. Like it could understand me.
And then finally — more than twenty minutes after I first shot him to death — he was gone.
Had I been in a different state of mind, I probably would’ve noticed even stranger things about this encounter, and pondered all its little details more than “not at all.” It was weird, sure, and perhaps unaccountably so. But I just shrugged it off and got right back to work.
That next phase would involve taking a big step backwards. As usual, I’d been coding the bastard from the middle in order to maximize wow, taking every shortcut in the book. But I knew eventually I’d need to build an analytical layer that could infer not merely the user input’s subject, but the kind of input it was, and what the user might expect in return. In other words, I would be diving into linguistics modelling.
Or perhaps I should say “digging” into it, because that’s what I was doing all along. I was digging myself a very deep hole, in the depths of which I’d meet even stranger creatures, and a version of myself that haunts me to this day.
(To be continued…)
P.S. If you found any of this valuable (and can spare any change), consider dropping a tip in the cup for ya boy. I’ll try to figure out something I can give you back. Thanks in advance.
King gonna go breed and make them immune to yer rifle shots, and maybe build an army of them to attack you?
Took a look at this after you referenced it in your post the other day. Very interesting and I think that you are selling yourself short. This is meant as a comment on the first 4 parts as a whole. I guess fundamentally I don't believe in a Dark Genius or an evil muse. Fallen Men create fallen things but we create because we are made in the image of the Creator. The willingness to take a hammer to your work is the best sign that the work you were doing was not evil, a bit like Tolkien's Aule, though coming from a dark place at a dark time it took a dark form.
It is good to vomit out your own evil in confession, but recognize that the artistry and engineering is not bad. A quick look around confirms that the Lord enjoys painting with dark colors. It seems a terrible thing to confess about Him, but the alternative is to imagine that He is absent or cucked and let's never go down those roads. The trick that we must get Him to teach us is to use the dark colors of our own souls to make the whole picture beautiful. Law can only paint with white and so it always ends up dirty and a failure. In the Gospel the brightest day is the one where the sun hid its face.