Why 2001: An Environment That Rewards Poking At It
I rebuilt the machine I learned computers on, on purpose. It pays you back for exploring, it lets you break out of it, and yes, it runs Doom. Part three of three: what KidDOS is for.
Part one was the babysitter. Part two was the machine behind it. This is the answer to “so what did you do instead?”
The project
Here is the project: I recreated the environment of 2001, the one I started learning computers in. An environment that rewards you for exploring it. It rewards you for poking at things and figuring them out.
That is the whole design. Every file on the machine was put there by a person, with a reason, and the kid can read the reason. The tutor says one thing and waits. The games are text files you can open. Nothing on it wants your attention; it only answers when you type.
And that is exactly why the whole thing is heading toward one outcome: once you have learned C and assembly, you start looking for holes in this very environment, and in the end you get out of it. On purpose. That door is part of the plan, not a bug in it.
Drivers in 2004 and drivers in 2026
But understand this: configuring drivers in 2004 is not the same as configuring drivers in 2026. The problem our planet is having right now is that we decided manuals and learning are unnecessary. You learn that a computer is a pile of transistors, and two minutes later there is a phone in your hand and you never think about transistors again.
And excuse me, who is going to etch those transistors, program them, and train models on them? Nobody. My body has about 30 or 40 more years of shuffling around this planet. Then that’s it, pop, no body. And who does the AI then? The job market looks very bleak for programmers right now. That does not mean that real programmers, the ones who understand how everything works, are not needed. They are needed like never before.
I have written before that the one thing no computer can do is say “this is correct” and answer for it. Somebody has to keep being able to. That somebody has to have understood the machine at some point, which means somebody has to have let him take it apart.
The way out
At some point it will be possible to switch him from emulated assembly to real assembly, and to teach how everything works outside the emulator. By then, luckily, he will have the skills and the means to use shells, scripts, vim, and other things of that kind. That is the order: the sandbox first, until the kid has hands. Then the real thing, when the real thing is what he should be exploring.
By the way, did I mention you can run Doom on KidDOS?

That is Freedoom, for those who don’t want to bother hunting down WAD files. It comes as a cartridge a parent installs, compiled through the same C toolchain the kid gets.
And of course I will break it properly, the way it should be broken, so that you have to sort out the linker before any of it runs.
There. I hope that gives more of an answer to what this is, what it’s for, and why.
Comments
Comments live in the project's GitHub Discussions. Sign in with GitHub below, or open the discussion on GitHub.