Commit Graph

6 Commits

Author SHA1 Message Date
type-two
4554bfcd2d He stops arguing and edits the program, and the line changes its mind
The uname escalation. rms does not get angrier, he gets tireder — each
interjection shorter and flatter and typed faster than the last, down to
"GNU/linux.", then "...", then "no. i am not doing this again." And then
he stops trying to change your mind and goes and rebuilds uname so that it
says GNU/Linux, and installs it, and does not ask anybody.

Which is, in fairness, the entire strategy. He never won the argument
about naming and was never going to. What he did instead was write a
compiler, a linker, a shell, a libc and a debugger, put all of them under
a licence that forces everyone downstream to keep them free, and wait.
That part worked completely.

THE RETRAIN — the last cross-cutting system in the design doc that was
not in. Real modems renegotiated mid-call: the copper got wet, somebody
picked up an extension, the exchange rerouted you through a worse pair,
and the two ends stopped and did the whole handshake again in the middle
of your download. So now, once per run, somewhere after hop 51, wherever
you happen to be standing, the line goes and takes a baud rate off you.

The way back is the beat you were taught at hop 47: SPACE on the ANSam
phase reversal, 450 ms, four clean ones. Spamming it fails, correctly.
Terminal levels opt out with noRetrain, because taking SPACE off somebody
mid-sentence is not a mechanic, it is a bug with a story attached.

Fixed while testing: the reversal flash was decaying on a setTimeout while
the beat it was cueing ran on dt. Two clocks for one event. Frame-based
now, which is both more correct and the reason the win path is reachable.

75 philes. All 14 hops swept clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 18:40:06 +10:00
type-two
e5ecadeab5 THE SHELL — the thing that killed the board
Day three of THE BOARD already names what kills it: about a third of you
have got shell accounts now and are not calling any more, and i do not
blame you, because it is better, it is genuinely better. The player never
got to see it. Now they do, immediately afterwards, while the board's
ghost is still warm.

kruuna.helsinki.fi, 1991. It connects instantly, with no dial tone, no
ring and no busy signal, and that silence after eight minutes of the board
is the whole opening beat. who(1) shows the people who are on the machine
at this second, against a board that had forty-four users in nine years
and could hold one at a time. talk(1) puts every character on screen as it
is typed, because that is what talk did. And make compiles a kernel in the
top four lines while you carry on using the shell underneath it — two
things at once, demonstrated rather than stated, which the board could
never do.

Then the interjection. rms has been on ttyp7 since six in the morning. He
waited until the level printed a whole operating system over a build log
in which every single line is gcc, and then he opened a talk request, and
he is right. If you never answer it he leaves mail instead, because of
course he does.

The closing speech now credits the compiler, the linker, the shell, make
and libc, which were all finished and free years before the kernel was.

74 philes. All 14 hops swept clean. README and STAGES.md brought current.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 18:18:37 +10:00
type-two
10b6c8fdf5 Seven floors, seven jobs
THE STACK had seven layers that all played identically with a different
colour of danger, which is not a layer, it is a reskin. Each floor now
asks you to do the thing that layer actually does:

  7 APPLICATION   plain. the only polite floor.
  6 PRESENTATION  transcode. the same bytes in two encodings, RAW and
                  BASE64, and only one set of platforms is real at a time.
                  Q switches representation, in mid-air.
  5 SESSION       keep it alive. a platform you have stood on begins
                  closing the moment you leave it. standing still is the
                  mistake.
  4 TRANSPORT     reassemble. they arrived out of order; only the next
                  platform in sequence is solid, and the sequence has
                  nothing to do with where they are in the room.
  3 NETWORK       route. every platform is a router and every router costs
                  a hop out of five. overrun it and the floor ASLR
                  reshuffles under you.
  2 DATA LINK     listen before transmit. shared media, each platform busy
                  on its own cycle, and landing on a busy one collides —
                  with real exponential backoff, 0.35s then 0.7 then 1.4.
  1 PHYSICAL      be a signal. no platforms at all: forty-six segments of
                  a travelling wave you ride, attenuating down the wire.

The canaries and NX floors are retired — the hazard was the only idea each
floor had, and now the verb is.

Fixed in the rebuild: the miss floor was getting a lit edge strip like
every other platform, and it is ninety metres across, so it rendered as a
bright blue disc filling half the screen.

66 philes. All 13 hops swept clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 17:51:24 +10:00
type-two
594fd584fa An arms race, a cure that cannot get there, and a board that closes
THE WAR — the trojan arms race. WinNuke, Sub7, Smurf, DCC send. Each one
works, and then the level patches it seventy seconds after you first use
it, with the countdown on screen and a line about how it died: a hotfix
went out; the scanners caught up; the amplifiers stopped answering
broadcast; the client asks before it accepts now. You cannot finish the
level on one tactic. An exploit is not a tool you own, it is a window that
is already closing while you are climbing through it.

Plus a rival crew who turn up after the first rejoin, who have read the
same text files you have, and who will take the ghost crown out from under
you during a split.

THE WORM — you can try to stop it. An antidote, three seeds, and it
travels only over live links while you are killing links. It cures fast
and then stops dead with its component severed, while the death count
climbs past it. Measured: 4, 12, 18, 19, stall — dead 20 through 30. It
works perfectly on everything it can reach. It cannot reach the rest,
because you already took the road. The phones ring all night and nobody
can send mail to warn anybody, because the broken thing is the thing you
would have used.

Pacing fix: spread rate now scales with the infection, since every
infected host is running a copy. Correct, and the only way the level ever
reached its own milestones — before this, nothing died inside ten minutes.

THE BOARD — three days.

Day one as before, and you post to FidoNet on the way out. Then the 04:00
run dials five nodes across the world while nobody is awake. Day two the
board knows you: last on yesterday, calls 2, user #44 of 44 — and the
first message is FIDONET quoting what you actually typed, with an answer.
Four days, three boards, a long distance call somebody else paid for.
Received. Hello. If you over-took on the files, your ratio has been
adjusted to 1:1, because he said it would be.

Day three is LAST CALL. Not raided, not busted: the second line was never
coming, the long distance is forty dollars a month out of a job he does
not much like, and a third of them have shell accounts now and are not
calling any more, and he does not blame them, because it is better, it is
genuinely better. Nine years. Forty-four users. Six real names. Never met
one of them. Ratio off, elite board open, the NUP given away because it
does not matter now. He asks nobody to say anything sad in the message
base. They all ignore him.

65 philes. All 13 hops swept clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 16:54:14 +10:00
type-two
8e194d677e The bridge, the card, and one call followed all the way through
THE BLUE BOX: you are not told the digits any more. The routing card is
on the wall — worked out by hand, traded, kept in a pocket, the only
documentation the long distance network ever had that was written by the
people using it. The objective names a destination and Joybubbles
explicitly refuses to give you the code.

And 2111 is up. A loop-around somebody left in a switch in Kansas,
dialable from anywhere at any point by anyone who knows the number, which
was exactly the problem with it. Six voices, no faces, nobody says their
name, it loops indefinitely, and holding 2600 drops the bridge. After SS7
there is nothing on it.

THE COPPER: start a call at the MDF and follow it. Seven banks of relays
down the aisles, each digit counted out at ten pulses a second because
that is how a step-by-step switch dials — the wiper steps once per pulse
and stops where the pulses stop. It connects. It is a wrong number. The
switch does not mind; it does not know what a number is.

Also fixed in kit: labelTexture ignored newlines, so any multi-line panel
rendered as one enormous single line. The routing card was nine metres
wide before this.

51 philes. All 13 hops swept clean. STAGES.md updated with what landed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 16:34:54 +10:00
type-two
ffd58fcebc STAGES.md — per-hop direction briefs
One page per hop: what is built, what is thin, what I would add ranked,
and a DIRECTION block to write into. Plus a cross-cutting table for
directing by system instead of by stage.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 15:50:38 +10:00