about

The screenager

A mostly made-up autobiography, with photographs, also made up.

Every about page has a photo of its author as a child, squinting on a beach somewhere. I don’t have any of those, so I drew some. None of these photographs happened. Most of this story didn’t either.

The annoying part is that the true bits are the least believable ones, so I’ve stamped them, like this.true Anything without a stamp, assume I made it up. You’ll be right more often than not.

player 1

Me as a pixel-art character, front on: messy dark hair, a grey hoodie, jeans, and a rubber duck sitting on my head. press start

Tejas

class
Night-shift programmer
level
Still loading
alignment
Lawful good: two spaces, never tabstrue
  • STR 4 of 20 Can carry a laptop, a charger and a grudge.
  • DEX 16 of 20 Types very fast. Mostly backspace.
  • INT 14 of 20 Knows what a monad is. Cannot explain it. Nobody can.
  • WIS 3 of 20 Has deployed on a Friday. On purpose.
  • CHA 7 of 20 Rises to 15 when the subject is hash maps.
  • LCK 10 of 20 Depends entirely on test case 2.
equipped
Hoodie (grey). All of them are grey.
Mechanical keyboard: +2 speed, −5 to friendships within earshot.
Rubber duck. Companion. See chapter 2.
special move
“Works on my machine.” 100% effective, on my machine.
weakness
Anyone who opens with “quick question”.

chapter 1

In which I am born, near a monitor

A dark room at night. A beige CRT monitor glows green on a desk, a blinking cursor on its screen. On the floor a baby peers out of a cardboard box whose THIS WAY UP label is upside down. Fireworks go off in the window.
Me and Mum, 1 January 2000. Mum’s the one on the left.

I was born at midnight on 1 January 2000: the exact moment every computer on Earth was supposed to stop working. We’d all been warned for years. Planes would fall out of the sky. Banks would forget everyone’s money. Lifts would stop between floors, forever.

None of it happened. The computers just carried on, slightly embarrassed, and in the confusion somebody left a baby in a cardboard box beside one of them. The box said this way up, and it was upside down, which should have told everyone something.

The monitor had been left on. Nobody ever turned it off, so that is how I grew up: in the glow of a beige CRT that hummed, ran warm and went black now and then for no reason anyone could find. I called her Mum.

My first word was “OK”, because OK was the button that made the boxes go away. I clicked it every time, without reading what the box said. I still do. Statistically, so do you.

chapter 2

In which I learn to read, mostly from error messages

A classroom by day. The chalkboard says TODAY: COUNTING, then 1 2 3 … 99 99 99, above a loading bar stuck at 99%. A small boy in a blue jumper sits at a desk, talking to a yellow rubber duck.
Year 2. The duck sat every exam with me. We both passed.

Other children learned to read from books about hungry caterpillars. I learned from dialog boxes. By four I could read “An error has occurred”. By five I could read “An unexpected error has occurred”, and I spent most of being six wondering who had been expecting the other ones.

I learned to count from a progress bar. It went one, two, three, very quickly up to ninety-nine, and then it stayed at ninety-nine for longer than all the other numbers put together. My teacher said that isn’t how numbers work. The progress bar and I knew better.

School went fine. My report card said I was “bright, but talks to a duck”, which was fair. The duck came free with a bath. I explained every problem I had to it, out loud, from the beginning, and somewhere around the middle I’d hear myself say the answer.

The duck has been with me ever since. It is the best senior engineer I have ever worked with. It listens to the whole problem, never interrupts, and has never once asked if I’ve tried turning it off and on again.

chapter 3

In which I fix a printer, and regret it

A living room strung with festival lights. A boy reaches for a printer that blinks orange. Behind him a queue waits under a deli-style sign reading NOW SERVING 047: an uncle holding a phone, an aunt with a laptop, a grandmother with a TV remote, and more relatives out of the door.
Diwali, 2008. The queue went out of the door and down the road.

When I was eight, a relative’s printer stopped working. I walked over to it, it saw me, and it started working again. I want to be very clear that I did nothing. I touched nothing. I’m not sure I blinked.

It didn’t matter. The news went round the family faster than a good-morning message on the family group chat, and by the next festival there was a queue. An uncle whose phone was “full”. An aunt whose laptop “had the internet on it”, and she wanted it off. A grandmother with a remote that only worked pointed at the ceiling. A cousin who’d forgotten his password and wanted me to guess it, which I did, first try, because it was his name and 123.

According to my extended family I am now “in computers”, and I’ve stopped arguing. For the record, nobody fixes printers. Printers are not fixed. They are appeased, and they remember.

chapter 4

In which I find dark mode, and it finds me

A dark bedroom at night, lit by a code editor in dark mode. Then a white web page reading WELCOME! fills the screen and floods the room with light, and the boy at the desk throws an arm over his eyes. Someone shouts AAA.
2:14 a.m. Someone’s home page, at full brightness.

At twelve I found the setting that turns everything dark, and I’ve lived there ever since. My eyes adjusted. My soul adjusted. My family say I adjusted a bit too much.

Mostly it’s fine. But every few weeks, at about two in the morning, I click a link and a website that doesn’t believe in dark mode opens at full brightness, pure white, like a fridge door in a dark kitchen, and I make a noise I’m not proud of.

This site has a light theme too, behind the button in the corner.true I’m told it’s lovely. I have never seen it.

chapter 5

In which I move into a hostel, and worship a router

A hostel rooftop at night under a sky with Saturn in it. Washing hangs on a line, a black water tank stands on legs and a cup of noodles steams on the parapet. In the middle I stand on one leg in a grey hoodie, holding a laptop over my head, a wifi signal flickering above it.
Two bars. Nobody move.

At eighteen I moved into a hostel with three hundred other people and one wifi router. It lived on top of a cupboard in the warden’s office, and as far as any of us could tell it was the only god. None of us knew the password. We knew someone who knew someone who did. Faith, basically.

It was fast at exactly one time of day: three in the morning, when everyone else was asleep. So I stopped sleeping. My best work, my worst code and nearly all my instant noodles happened between three and five, up on the roof, where if you held your laptop over your head and stood on one leg you got two bars.

The rooftops in the header of the home page are those roofs.true Saturn wasn’t there. We could barely see the moon. But it’s my header.

chapter 6

In which I take up a sport, technically

A role-playing game battle screen. A giant red numeral 2 with angry eyes and teeth looms under a banner reading WRONG ANSWER ON TEST 2. Facing it, I hold a keyboard like a sword. The menu offers SUBMIT, ADD PRINT, BLAME JUDGE and RUN. My health is 3 of 20; the duck’s is 99 of 99.
Div. 2, problem B. It is always problem B.

Then I found competitive programming: a sport where you solve puzzles against the clock, submit your answer, and a machine tells you, in under a second, in front of thousands of strangers, that you’re wrong. People do this on purpose. At weekends.

The machine’s favourite thing to say is “Wrong answer on test 2”. Test 1 is the example in the problem, and you passed it. Test 2 is the first one they didn’t show you, and it is where every dream I’ve ever had has gone to die. I’ve fought it for years. I’ve beaten it a few times. It always comes back, because test 2 was never the problem. It’s my off-by-one error, wearing a costume.

My Codeforces rating peaked at 1414, specialist, over 44 rated rounds.true The graph looks like the heart monitor of someone watching a horror film. I also made it to the ICPC regionals,true where three people share one computer for five hours, and I learned that they shouldn’t.

chapter 7

In which I build things to see how they work

Deep space. A black hole shaped like a folder, labelled NODE_MODULES, swallows cardboard packages into a blazing orange disc while an astronaut floats nearby holding a laptop. A terminal in the corner reads: $ npm install, added 1847 packages, 31 vulnerabilities.
npm install, 2024. Still running.

Somewhere along the way I started building things to find out how they work, and I never managed to pick a lane. Whatever I’m curious about that week gets built, gets half-finished, and gets replaced by whatever I’m curious about the week after. I don’t have a speciality. I have a browser history. I can tell you, from experience, that a distributed system is an ordinary bug that happens on five computers at once, each with a log proving it was another one’s fault.

I’ve had a patch merged into npm.true npm is the tool that, when you ask it for one small library, downloads that library, its three hundred friends and a meaningful fraction of the internet into a folder called node_modules. Astronomers rank the heaviest objects in the universe as: the Sun, a neutron star, a black hole, and node_modules. My patch didn’t move it down the list. Nothing will.

Achievements

8 of 12 unlocked

  • Exited Vim On the fourth attempt, by closing the terminal. 2.1% of players
  • Centred a div Vertically, first try. Nobody saw it, so nobody believes me. 0.3% of players
  • Works on my machine Said it out loud, in a meeting, about production. 97% of players
  • Heisenbug Added a print statement to find a bug. The bug left. 41% of players
  • Read the docs After trying everything else first, in order. 12% of players
  • Friday deploy Shipped at 5 p.m. on a Friday. Got the weekend back on Tuesday. 8% of players
  • Wrote a regex It works. I can no longer read it. It's load-bearing now. 33% of players
  • Off by one 99% of players have this achievement. The other 2% are lying.
  • Touch grass Go outside. Progress: 0/1. locked
  • Inbox zero Progress: 0/2,413. locked
  • Hidden achievement Keep playing to find out. locked
  • Explain a monad Nobody has this one. It's a burrito, apparently. locked

chapter 8

In which I build this website

Night at a desk under a red lamp, three cold mugs beside the keyboard and sticky notes on the wall reading MORE BUNS, FOX OK? and WEEK 6. I lean in with a pair of tweezers, placing a tiny rabbit into a meadow on the monitor, where another rabbit already hops about.
Week six. Placing a rabbit, by hand.

Then I built this website, to write things down once they finally make sense.true It has a night sky in the header that’s painted fresh when you arrive,true a meadow in the footer with its own seasons, rabbits and foxes,true and, behind a button in that header, a music video about taking things apart, every frame of it drawn in code.true

I spent weeks on the footer. Weeks. Most people never scroll that far, which is fair, because footers are where links go to retire. If you have been down there and met the rabbits, you’re one of very few people who have, and I think about you often.

This is the least exciting chapter, and the only one stamped nearly all the way through. I’m as disappointed as you are.

chapter 9

In which we catch up

An overcast afternoon at an e-waste yard behind a chain-link fence, a heap of old keyboards, monitors and a printer to one side. I kneel beside a beige CRT, tapping its glass, which crackles with static. A worker in a high-visibility vest holds up a hand, an exclamation mark over their head.
Visiting Mum. The staff have asked me to stop.

I still live in the glow of a screen. Mum retired years ago, to an electronics recycling yard outside the city, and I visit when I can. She doesn’t turn on any more. But when I tap the glass there’s a crackle of static, and I like to think that’s her saying hello, and not, as the staff keep telling me, a safety issue.

My phone sends me a report every Sunday saying my screen time is up 12% on last week. It has said that every week for six years. Compounded, that comes to about nine quadrillion hours a day, which feels right, given the name.