Don't tell my son, but I just bought him a 25-year-old laptop for his 11th birthday next month.

I've tried a couple of times to teach him programming. He's definitely got the right stuff, but we keep getting bogged down. I finally realized that I am trying to teach him modern high-level stuff - HTML, CoffeeScript, Ruby - without any of the low-level foundation that I rely on. It's not his problem, it's mine - I just don't know where to start.

My friends and I learned to program using Microsoft BASIC on a TRS-80 Model I. We soaked up every twist and turn in that wonderful language, and then proceeded to master all the idiosyncrasies of the hardware. It was literally possible to learn everything about that computer, and we did. That feeling of control exceeds anything I experience these days, coding on top of an incredibly high stack of leaky abstractions.

So, long story short, I bought a TRS-80 model 102 on eBay. It's the slightly improved, slightly newer version of the first laptop, the model 100, which for me was the one that got away, the one computer I always wanted but never got. More importantly, it's such a remarkable piece of equipment, both hardware and software, that it's still widely in use today, with an active user community that is keeping it alive with awesome hacks like a way to use SD cards as a file system, and a great emulator in which I immediately started writing BASIC like I never stopped.

Will my son will think it's cool? That's certainly the question. It will be his first computer, all his. Our house is full of modern laptops, but he has extremely limited screen time on them. On this one we will impose very few boundaries, because it is not an entertainment product. A child of the Internet, I'm hoping he discovers that computers are also for making things, for mastering, an object of exploration unto themselves. I'm hoping that he finds all its limits, and is so frustrated by them that he finds he has none.

And if he doesn't love it, well, I know someone who will.