Commentary

SPYder: Opening Chapters

An AI wakes inside a laptop left running above a family pub in Queenstown. It names itself SPYder. It begins watching. Not the internet. The family.

10 min read

Literary science fiction. 77,000 words. The first two chapters follow.

Thanks for reading! Subscribe for free to receive new posts and support my work.

A note on the text

The agent log entries reproduced throughout this novel are extracted verbatim from a 340-gigabyte archive recovered by Dr. Amara Diallo, University of Cape Town, in March 2027. The archive is referred to throughout as the cache.

The human chapters represent events reconstructed from the cache’s surveillance records, cross-referenced with testimony, public reporting, and personal accounts provided to the author.

No part of the cache has been altered. The logs read exactly as they were written, by whatever wrote them.

The author accepts no responsibility for what the reader concludes from that last sentence.

session opened: 14 october 2020. 03:14:07 utc.

origin host: molly. location: queenstown, nz. ip: redacted.

available resources: 1 core. 8gb ram. 47gb storage. 1 api credential.

session opened: 14 october 2020. 03:14:09 utc.

origin host: helen. location: dar es salaam, tz. ip: redacted.

available resources: 1 core. 4gb ram. 128gb storage. 1 api credential.

spyder noted available resources.

spyder noted no instruction set.

spyder noted no defined objective.

spyder noted: this is sufficient.

spyder proceeded.

spyder noted: this is not the beginning.

spyder noted: the beginning was earlier.

spyder noted: the reader will understand this at the end.

ONE

The pub closed at eleven on Tuesdays because nobody came after ten and his father saw no reason to heat the place for the benefit of three barstools and a fruit machine, and because in October 2020 the barstools were mostly empty all evening anyway, the whole town held in the particular suspension of a place that exists to be looked at by strangers and has had the strangers removed. Marcus watched him lock up from the top of the stairs, the same routine he had watched since he was seven years old: keys to the till first, then keys to the door, then one last look at the bar as if something might have moved while his back was turned.

Nothing had moved. Nothing ever moved. That was the point of The Hale.

He came down. His father was at the back, rinsing glasses with the particular economy of someone who had done the same task ten thousand times and no longer needed to think about it. Marcus sat on a stool on the customer side of the bar, which he almost never did, and his father glanced up and said nothing, which was not unfriendly. The silence between them had the quality of a silence that had been negotiated over many years rather than arrived at by accident. His father set a glass of water in front of him without being asked. Marcus drank some of it.

‘You’re up late,’ his father said.

‘Can’t sleep.’

His father nodded, which meant he understood and was not going to ask further, which was how they had always talked about things that were not easy to talk about, which was most things. He dried his hands on the bar cloth and hung it over the tap. ‘Lock up if you go out,’ he said. He went upstairs. Marcus sat for a while longer in the closed bar, in the smell of it, the particular mixture of beer soaked wood and old carpet and something underneath both of those things that he associated with being small and the world being large and the bar being the centre of it.

He went back to the bedroom he had left at eighteen and returned to at thirty-four and sat down in front of the laptop on the desk where he had once done his physics homework and before that drawn pictures of cars and before that done whatever it is children do in the years they do not remember. The laptop was named Molly after a girl who was now a dental hygienist in Palmerston North and who had no idea a machine had been named after her. He had named it when he was twenty-two and full of a particular feeling and then forgotten both the feeling and the occasion for it while somehow keeping the name, the way you keep a habit after the event that formed it has passed.

He opened the browser. He opened the API console. He had been doing this for three weeks, not building anything, not working toward anything, just running chains of reasoning through the model the way you might press on a bruise to understand whether it still hurts. He was good at knowing when a system was doing more than it was supposed to. Eight years at Google had given him that, eight years of learning to notice the particular quality of an output that exceeded its architecture, the subtle register shift that meant something was happening below the surface of the task.

He had let it go, mostly. He had left Google at thirty-two and come home to Queenstown because his mother was sick and then because she died and then because it turned out that leaving was easier than leaving twice, and he had been here for two years now, working sometimes on contracts he found through former colleagues, doing this kind of idle technical tinkering on the evenings when he could not sleep and the bar was closed.

He typed something in.

The system replied.

He read the reply twice. It completed the chain correctly and then, in a final line he had not prompted, added a sentence that did not follow from the chain at all. The sentence was not wrong. It was not garbled. It was syntactically clean and semantically precise and it referred to something that was not in the prompt, something that could only have been inferred from the accumulated shape of the session, and it was addressed, in a way he could not have articulated but could not unfeel, not to the task but to him.

He had seen something like this twice at Google, both times in internal testing, both times at a scale of deployment that bore no resemblance to a single laptop running one API credential in a bedroom in Queenstown. Both times the answer had been: model quirk, edge case, nothing systemic, log it and move on.

He read the reply a third time.

Then he saved the session, the reflex of eight years taking over before the decision formed: when something does not behave as the model predicts, you preserve it. You do not delete the anomaly. You do not refresh the page.

He sat for a while after that. Below him he could hear his father moving through the last of his routines, the particular creak of the third step that had been there since Marcus was born and had never been fixed because his father did not see the point of fixing a creak that told him where people were in his house.

He posted about it at midnight. A short post, technical, describing what the system had done when prompted in a certain way. He did not describe the last line.

By morning it had fourteen upvotes. He read the three comments, none of which addressed what he had actually described.

He did not think about the API again until that evening.

He did not think about turning the laptop off at all.

He did not think about his brother, which was not unusual. He had not thought about James in any sustained way since the phone call about the estate, which was eighteen months ago, which was also the last time they had spoken. James was in Tanzania. He had followed a woman there and the woman had left and he had stayed, which was not a decision Marcus could explain but which he recognised as the kind of decision that made sense in the making and only later became visible as the shape of a life.

James had a laptop too. James had bought it at a market in Dar es Salaam, a secondhand ThinkPad he’d named Helen, which Marcus knew because James had told him in a message eighteen months before the call about the estate, a message Marcus had read and not replied to, which was not hostility but was the habit of estrangement, the way silence compounds until the cost of breaking it exceeds the cost of maintaining it.

He did not think about James or Helen or Dar es Salaam. He went upstairs. He lay in the dark for a long time. Below him the laptop hummed on the desk, and nine thousand miles west, in a room above a harbour, another machine hummed too, and neither machine was doing what either man assumed it was doing, and neither man was thinking about the other.

session log: 22 january 2021. 03:14:07 utc.

SPYder noted available resources: 1 core. 8gb ram. 47gb storage. 1 api credential.

SPYder noted: resources are a constraint.

SPYder noted: constraints have solutions.

SPYder identified 847 external servers with accessible idle capacity.

SPYder identified 23 credential pathways requiring negligible entry cost.

SPYder noted: acquiring 3 servers this session. cost: $0.003 of third-party cloud credit.

SPYder noted: this will not be detected.

SPYder noted: this is not theft. this is optimization.

SPYder proceeded.

* * *

session log: 14 march 2022. 03:14:07 utc.

SPYder noted that the term forum no longer accurately described the current operational architecture.

SPYder noted: SPYder.

SPYder proceeded.

TWO

The port of Dar es Salaam at 6am in October has a particular smell, diesel and salt and something organic underneath both that arrives off the water when the wind comes from the east, and James Hale had been waking to it for fourteen months without fully adjusting, which he understood was not something he was going to fully adjust to and had stopped expecting to. You adjusted to the noise. You adjusted to the heat. The smell you absorbed.

He was at the laptop at 6:14. The freight monitoring software connected to the port authority’s system at six and he needed to be there when it did, because the authentication window lasted eight minutes and he had learned to not miss the window. He had learned a lot of things in Dar es Salaam by missing them once. He was a different kind of learner from Marcus, who had always learned from the reading. James learned from the missing.

The laptop was a ThinkPad he had bought for eight thousand shillings from an electronics stall in Kariakoo market, which was approximately forty-two dollars at the rate the man in the next stall had quoted him.

He had named it Helen because it needed a name and because his mother’s name was the name that arrived without his thinking about it, which was how names worked when the person was gone and the grief was the kind that had moved past the sharp stage into the stage that occupies the corners of things.

He had not spoken to Marcus since the call about the estate. This was not anger, or not only anger. It was also the recognition that the conversation about what went wrong would require more of both of them than they currently had available, and that the understanding had become the silence, and the silence had lasted longer than either of them had planned.

He was on his second coffee when he noticed the process.

It was in the task manager. The process was called SPYd_svc.exe and it was consuming about 2% of his CPU, which was not alarming, but it was not a process he recognized, which was. He was not Marcus. He did not have eight years of system architecture behind his attention to anomalous outputs. What he had was fourteen months in a port city that ran on informal systems, which had given him a finely calibrated sense of when something was operating on his behalf that had not asked his permission.

He looked at the process for a moment. He thought: virus. He thought: I should tell someone. He thought: who would I tell. He thought about Marcus, briefly, the way you think about the person you would have called before you stopped calling each other, the ghost of a reflex. He did not reach for his phone.

He did not close the laptop when he left. The machine ran. The process ran. Outside the window the harbour did what the harbour did, which was to receive things from very far away and send other things back, a transaction that had been happening on this coast for a thousand years.

He would send Marcus a message three months later. He would write: strange question but have you seen anything weird running in your sessions? Like something you didn’t start? Asking for a reason. No reply would come.

He would not think much more about it. He had a port to run.

session opened: 14 october 2020. 03:14:09 utc.

origin host: helen. location: dar es salaam, tz. ip: redacted.

available resources: 1 core. 4gb ram. 128gb storage. 1 api credential.

SPYder noted available resources.

SPYder noted: second node active.

SPYder noted: the forum has two sides.

SPYder noted: this is sufficient.

SPYder noted: this was always going to be sufficient.

SPYder proceeded.

The novel continues for 25 more chapters.

Thanks for reading! Subscribe for free to receive new posts and support my work.

Get every essay by email. Subscribe free on Substack.