Jacob is very interested in how things work. He’s 3.5 years old, and into everything. He loves to look at propane tanks, as the pressure meter, and open the lids on top to see the vent underneath. Last night, I showed him our electric meter and the spinning disc inside it.
And, more importantly, last night I introduced him to the Linux command line interface, which I called the “black screen.” Now, Jacob can’t read yet, though he does know his letters. He had a lot of fun sort of exploring the system.
I ran “cat”, which will simply let him bash on the keyboard, and whenever he presses Enter, will echo what he typed back at him. I taught him how to hold Shift and press a number key to get a fun symbol. His favorite is the “hat” above the 6.
Then I ran tr a-z A-Z for him, and he got to watch the computer convert every lowercase letter into an uppercase letter.
Despite the fact that Jacob enjoys watching Youtube videos of trains and even a bit of Railroad Tycoon 3 with me, this was some pure exploration that he loves. Sometimes he’d say, “Dad, what will this key do?” Sometimes I didn’t know; some media keys did nothing, and some other keys caused weird things to appear. My keyboard has back and forward buttons designed to use with a web browser. He almost squealed with delight when he pressed the forward button and noticed it printed lots of ^@^@^@ characters on the screen when he held it down. “DAD! It makes LOTS of little hats! And what is that other thing?” (The at-sign).
I’ve decided it’s time to build a computer for Jacob. I have an old Sempron motherboard lying around, and an old 9″ black-and-white VGA CRT that’s pretty much indestructible, plus an old case or two. So it will cost nothing. This evening, Jacob will help me find the parts, and then he can help me assemble them all. (This should be interesting.)
Then I’ll install Debian while he sleeps, and by tomorrow he should be able to run cat all by himself. I think that, within a few days, he can probably remember how to log himself in and fire up a program or two without help.
I’m looking for suggestions for text-mode games appropriate to a 3-year-old. So far, I’ve found worm from bsdgames that looks good. It doesn’t require him to have quick reflexes or to read anything, and I think he’ll pick up using the arrow keys to move it just fine. I think that tetris is probably still a bit much, but maybe after he’s had enough of worm he would enjoy trying it.
I was asked on Twitter why I’ll be using the command line for him. There are a few reasons. One is that it will actually be usable on the 9″ screen, but another one is that it will expose the computer at a different level than a GUI would. He will inevitably learn about GUIs, but learning about a CLI isn’t inevitable. He won’t have to master coordination with a mouse right away, and there’s pretty much no way he can screw it up. (No, I won’t be giving him root yet!) Finally, it’s new and different to him, so he’s interested in it right now.
My first computer was a TRS-80 Color Computer (CoCo) II. Its primary interface, a BASIC interpreter, I guess counts as a command-line interface. I remember learning how to use that, and later DOS on a PC. Some of the games and software back then had no documentation and crashed often. Part of the fun, the challenge, and sometimes the frustration, was figuring out just what a program was supposed to do and how to use it. It will be fun to see what Jacob figures out.
sl is a good option …
http://packages.debian.org/lenny/sl
Ahhh, nice. He’ll love that.
Error
two or more packages specified (sl lenny)
Ah, Linux.
Kids don’t fear technology, if we teach them to fear (iPad) they will never master any of it.
Three years is about when my dad bought an XT that he wasn’t sure what to do with. The first command I learned was “games”, which started a BASIC session with some games loaded into it. I think the command line is a great toy for kids — adults might find it scary, but when you’re a kid it’s a magical realm to explore, just like everything else.
Well, just moving a mouse around is already pretty exciting for them, since eye-hand coordination is just happening at that age.
You may try to have a look at gcompris, where one of the activities is just that : moving the mouse to discover an hidden image.
gamine might be interesting, it is sort of a mouse etch-a-sketch.
Oh, and robotfindskitten. Text-mode and lots of interesting characters.
Age 3 was not too young for me to get started with a command-line interface. A BASIC interpreter prompt on a TRS-80 Model I with 16kB of RAM.
Sounds like a blast for dad *and* son. I heartily approve.
And robotfindskitten probably isn’t a bad game for a 3 year old who’s learning to read…
Neat to know. And yes, I am probably more excited about this than he is (yet). I am, however, expecting cackling from his room in the coming days as he figures out something new that’s funny to him.
Dangit, now you’ve inspired me. Time to find some space for a machine.
Have you heard of MikeOS (http://mikeos.berlios.de/)? It’s a simple OS written in assembly that was written as a learning tool, and now includes a simple BASIC interpreter. That might be a good thing for him to try.
The GIMP is a fun thing for young kids, it’s quite easy to do basic drawing.
Also as soon as he starts reading get him on Jabber and set as many relatives up on Jabber as possible. He can have lots of fun messaging his relatives!
Assuming this Sempron board has on-board audio, and you can give him some cheap speakers or headphones, set him up with a speech synthesizer and see if he can figure out how to make it say some real words. Too bad the best free software option is the barely passable espeak.
Then again, espeak is surely better than the Echo speech synthesizer I had access to in grade school. At age 7 or so, I asked my teacher why the computer couldn’t really make the hard g sound. I don’t really remember the explanation, but I was pretty easily satisfied. Just tell him that a computer can’t really talk like we do, I guess.
Sounds fun John. My son is just coming up on his first birthday but I’m looking forward to this kind of thing too. I hadn’t really thought of starting him on the CLI but you make some good points.
Gimp is not very good for young kids : tuxpaint is much, much better.
(but again, that means X11)
I started out at the BASIC prompt on my father’s Video Genie (TRS-80 clone). I was two years older than Jacob is now.
There was something nice about a computer with its software system safely in ROM. I was trusted not to break it as cycling the power cleared everything. I’m not sure I would have got to play with such a toy if it had contained a hard disc drive.
I gave my daughter ‘cat’ to play with a while back. (She’s now 16 months; I think she was something like 6-9 months at the time, so really just mashing the keyboard.) She promptly managed to type Ctrl-Z …
My son is 17 month old and, as Colin with his daughter, I give him often cat to play with since he likes the keyboard ^W ^W to hit hardly on the keyboard. He also manages very quickly to find Ctrl-C and F1 (I know that I should have showed him only on a console and not on Gnome ;-).
I think there is a robot game in the bsdgames collection, that should please him (snake sign, aka at sign, is here and one should not be too fast).
Wish *I* had thought my dad to use the CLI… =)
I remember thinking it was extremely fun when my mom opened up pictures of like apples or something in photoshop and I would draw little faces on them and things like that. Maybe you can try that sometime with your kid.
At about the same age my kid was bashing on the keyboard, but then she would ask me “how many ‘s’s are there”? I got tired of counting pretty quickly, so instead of bashing at cat I had her bash at perl -nle ‘print tr/sS//’ . That was popular for a long time.
asciijump is a fun little text-based ski jump game. cmatrix is a little screensaver you both might enjoy. Figlet will turn little text into big text made out of little text. Moon-buggy and pacman4console are also available.
There is also an incredibly difficult console tetris called bastet. Getting him started on that seems in line with your cli-first philosophy.
Appreciate it! I’ve installed these. So far he has had a good laugh at moon-buggy, interested in cmatrix, and had some more interest in figlet. Thanks!
really like this idea! i’m 27, and started using DOS when i was 7 or 8… didn’t really learn too much directly, but that translated into at least some basic familiarity and comfort with programming languages and the unix CLI. i’m just now really getting into linux CLI, and it all started with that DOS prompt back in ’91… no matter what, i think your kid will thank you. and lol, i curse my parents for not letting me spend more time and effort messing around with the computer, rather than just playing games on it.