Geez, it sounds like a really good bonding activity and discussion format they've got going there. I'd be excited too.
My son once asked me as I was walking down the hall, "dad, how do I install Steam?" I walked in his room and he had a very prominently placed terminal open, where I saw that he was typing "sudo apt install steam". I practically core dumped in shock. "Whoa buddy! Wow!" and of course that's what he was going for, since he has the affinity-vibe concept absolutely locked down and has had this gift ever since birth as far as I can tell.
Half or even most of that typing was just to synchronize with dad's values and build affinity. I respect it and I also, knowing that it's not _exactly_ 100% terminal love, don't push the terminal too hard unless it's related to a specific goal of his.
Meanwhile my other kids get up and leave for a snack as soon as I open the terminal on their desktops (it saves me time, they get that). But they are on the other hand really good at introducing COTS thinking into our household. :-) Sometimes you gotta go with the social tech bell curve. Just go buy the thing that does what you want! Duh! And I agree, you can define this as rationality itself in fact. Tinkering, scripting...irrational in some ways for sure, so good thing we have other ways of discussing its value.
Speaking of uh, typing, I was just today remembering one of the most scary experiences my kids and I have ever had, playing this roguelike game together...
TBH I think there was a time period during which my distro's terminal env would explain in so many words--"using `apt-get` is now such a fail," or some friendly nudge like that, and that's where I picked up the new form.
My theory is that it's because most people using Bash are not interested in it per se (in the way, say, many C programmers are interested in its intrinsics) but in solving a problem, and Bash can let you solve it in several different ways. So you solve the problem and maybe don't use Bash for a few days and then again you need to solve another problem, maybe completely different. Personally I rediscover certain aspects of Bash every few years just because of that. I'm not going to read the whole Bash manual from the beginning till the end in the same way I read K&R because it makes no sense - I can solve my problem in 2 minutes and get on with my main work.
You say that, but the bash manual is an absolute delight. (unironically).
Super clear, comprehensive but straight to the point, everything you might want to know is there in logical headings.
I struggled with bad bash code I'd pick up on websites and online tutorials, until I decided to just do `man bash` one day. Went from 10% to 99.999% bash proficient overnight.
Whenever I need to check something related to bash these days, 99% of the time the man page resolves my query within seconds. Occasionally you have to do `help [TAB]` and get the help for the specific built in instead. The bits not covered by the above two points are extremely rare.
I think this is a super cool idea. I have been thinking how to introduce my children to a computer for some time now.
They are both also very young - 3 and 5 and currently have very limited interaction with screens.
No tablets/console/PCs at all and TVs only during the weekend for 2-3 hours.
I love the fact that their favorite games are LEGO and board games and I'm concerned that introducing a PC to their life will immediately take over everything else.
I want them to be familiar with other STEM based "toys" before they put their hands on a PC - A couple of days ago I ordered a microscope from Amazon (the expensive kind that is able to view individual cells) and we are going to prepare slides from samples that we'll take from a nearby pond.
At the end of the day, I want them to develop curiousity and fascination towards nature and science. I still haven't figured out completely how to do it with PCs/tablets without getting down a slippery slope
In my case, it started wonderfully, until they learned that they could just launch firefox from the terminal, and proceed to stupid prank videos on youtube. When they log-in, all that they see is an xterm (no menus, no icons). And they just arrow-up+enter to run their previous command that is invariably firefox. I tried disabling youtube on the hosts file and let them figure it out, but apparently is too large a step to make yet. Sigh.
Don't despair, you're on the right track. You just need to keep erecting increasingly elaborate artificial obstacles, one tiny increment at a time, and by the time they're teenagers they'll be manually linking together their own custom OS from scratch every time they want to watch stupid prank videos on their homemade reimplementation of Firefox.
mitm their requests and make everything render backwards or in 144p. Make it interesting. My parents would give me challenges like taking the cord to the computer, and they'd find increasingly elaborate improvised power cables. It took my mom 5 years to realize why the treadmill only worked 'sometimes'.
My dad (an IT person) had set specific time during the day when my computer was allowed to access the internet on the router. One day I asked him to login from my computer to whitelist my brother's connection, I had installed a keylogger to grab the login and change the config. Don't think he ever caught on.
I'm astounded that the author's 2-year old son is not only reading, but typing. Is this not outrageously young to be capable of reading, writing, and typography? I thought age 6 is the standard age at which children start reading, but perhaps this has changed with so much socialization happening online now
My three year old could log into her user account on the computers. She was a month shy of 4. It was the first letters of her name. She could also click on her name. And get into Minecraft from there. I thought it was pretty early for the feat.
She is well into 4 now, still can't really "read" yet but she can identify surprising individual words. Plays Minecraft as well as her older siblings for the most part. Still a favorite.
Without passing judgement on the value of the approach, I'd caution against taking to much away from those method, considering the sample bias of the forum here. I can't help but think the relevant distinction between leading paths of easing your kids into computers with a bash shell vs. hanging them an iPad and a Chromebook might have more to do with the manner and knowledge of the person they turn to when they have questions. The OP's kid asked "what does install mean?" Does it really matter whether he was trying to install htop, ncdu, Zoom, Roblox, or TikTok? Or does it matter more the positive affect of the OP's response and the deep well of knowledge and understanding that he could pull from in formulating an answer? A busy mostly tech-illiterate parent may interpret that question as a "how" question and simply respond, "go to the app store - that's the blue button with the weird 'A' - open it and type R O B L O X. Let me know if you still can't get it." that's not the answer to the question and offers no opportunity for follow on questions, but if you don't really know yourself, you can't really answer.
Raising a child to use computers via command line is very interesting.
I would want my child to be tech-savvy, but most parents I see make the mistake of just giving their kids an iPad. I think it's very destructive to their attention span.
On the other hand, having a cheap laptop with only access to TUIs could be used for improving reading skills and tech literacy. Add some TUI games like the good ol' days of BASIC, and it can be just as entertaining as an iPad.
I've installed noVNC on a Pi before, didn't try accessing it through an iPad and I don't recall if I was using desktop or just terminal, BUT, I think something like noVNC could get you close to iPad-as-RPI-screen. Add in some VPN functionality and you can keep the Pi running at home, but use the iPad anywhere you can get online (though now you're getting into diminishing returns).
I use my iPad Pro as a remote terminal to an RPi 400 and an Odroid N2+. Both of these machines are running xrdp, and I use the Microsoft Remote Desktop client on the iPad. RDP seems somewhat faster than VNC.
RDP is much faster than VNC because it has improved compression and latency management. Also, it is its own X server generally, and not a bolt-on, so less overhead.
I'm surprised how many people are dismissive of learning the command line like it's obsolete. I still use the command line constantly and would be lost without it, and I'd like my kids to understand what's going on better than they can with a desktop environment.
I have a 4 year old and found an old Raspberry pi earlier and decided to hook it up to the TV. She was thrilled (and spent plenty of time using a keyboard and mouse for the first time. She liked it! And we don't hide her from technology)
Just because we have calculators doesn't mean learning to do math on paper is a bad idea.
I was only slightly older than her in the late 80's when we got a 286 and I learned to do `cd games` `dir` `some_game.exe` etc. and I learned the very basics of what a file/directory structure (something a lot of young adults don't understand) is, among other things. Some games meant editing autoexec.bat and that was helpful for understanding system config. Obviously I'm not looking for autoexec now but just understanding that such a config exists is useful.
> the very basics of what a file/directory structure (something a lot of young adults don't understand)
My dad is confused by the false-skeuomorphism of the word "file". He thinks of them as containers, since this is how "file" is used in the paper sense ("hand me the file on Mrs. Anderson"). So when he's describing something on the computer, he will often refer to a folder as a "file", which can be confusing even though I know he uses this term in this way.
My kid is never more fascinated than when she sees me inspecting HTML or using the terminal. I wouldn't ever push a CLI on her, but she is genuinely more interested in learning about computers when she's staring at a screen of text she doesn't understand. We've started doing an HTML tutorial, and her initial enthusiasm seems to have generated enough momentum that she's now excited about what we can do using these previously-daunting text-based tools.
I also plan on doing this, but haven’t had the time yet to put together the actual “plan” per se, other than lots of raspberry Pis and a screen to connect to in the family room.
My main motivation for doing this, I suppose, is that being a millennial I got to straddle the analog-to-digital divide growing up, and I think that experience path with technology is healthy because you tend to view it as a tool and less so the basis for your entire existence.
I don't plan on having kids of my own, but if life finds a way (or I end up with custody of a relative's children) I figured I would similarly put together some kind of loose "curriculum" to guide them along if they took an interest in computing. Never actually planned it out - is a pretty large domain of knowledge to cover for something I don't currently plan on using, but I wouldn't be surprised if there are already pre-existing FOSS resources along those lines.
In other news: I taught my children how to hook up the buggy to the horse. Then I pulled out my great grandfather's Model T and worked them through how to adjust the spark and planning their stops because it didn't have normal brake pads. Then I taught them how to drive stick in a car that requires double-clutching because it doesn't have synchromesh...
I honestly don't "get" this need to raise our children with a state of technology like we had when we were kids. My kids use tablets, and when they want/need to use a full powered computer I'll just show them how to use one.
>In other news: I taught my children how to hook up the buggy to the horse. Then I pulled out my great grandfather's Model T and worked them through how to adjust the spark and planning their stops because it didn't have normal brake pads.
You joke but a lot of learning comes from things like this.
>I honestly don't "get" this need to raise our children with a state of technology like we had when we were kids
It's basically like if I want to understand unix better -- I actually find tutorials written in the 70/80s much better than some of the stuff you see on YouTube or more modern tutorials -- even with all there inaccuracies in terms of getting to grip the core concepts it often gets straight to the point.
>It's basically like if I want to understand unix better -- I actually find tutorials written in the 70/80s much better than some of the stuff you see on YouTube or more modern tutorials
I'll be the odd man out amongst the responses and agree with you.
Not everyone needs/wants to be a software engineer or other kind of computer savvy person. The majority of people get along with life just fine these days with just a smartphone and/or tablet as their only computing device.
Now the caveat to this is, what if your child is the next potential super rockstar ninja pirate 100x SWE in waiting? I suppose there is nothing wrong with trying to get them interested in computers.
I kinda wonder how I would raise my own future kid when I hear stories of superstars in various realms ranging from musicians* to Formula1 drivers, etc. Most of them started extremely young - young enough that the decision to get them involved was their parents', not their own.
* I had a friend who was an absolute kickass cellist. However he claimed he would never advance beyond the ranks of a school music teacher because he started the instrument at age 8 whereas the real talent start before age 5. It boggled my mind.
> Not everyone needs/wants to be a software engineer or other kind of computer savvy person.
Most people need to interact with a computer for work or pleasure. Not everybody needs to be able to engineer enterprise grade software, but what's the downside to having everybody be able to write a bash script? Lots of people's jobs could be easier with a little command line fu.
We teach lots of core competencies to kids for this reason. You don't need to be a writer to benefit from knowing how to write well, but writing can also help in myriad careers, social settings and even be an artistic outlet. Coding is the same way. I can code for work, but I can also compose music with code or solve puzzles.
The difference here is that the command line is still a valuable tool. It's not obsolete. And your kids may not be interested in learning how computers work if they've never needed to figure them out to get to what they want.
My son once asked me as I was walking down the hall, "dad, how do I install Steam?" I walked in his room and he had a very prominently placed terminal open, where I saw that he was typing "sudo apt install steam". I practically core dumped in shock. "Whoa buddy! Wow!" and of course that's what he was going for, since he has the affinity-vibe concept absolutely locked down and has had this gift ever since birth as far as I can tell.
Half or even most of that typing was just to synchronize with dad's values and build affinity. I respect it and I also, knowing that it's not _exactly_ 100% terminal love, don't push the terminal too hard unless it's related to a specific goal of his.
Meanwhile my other kids get up and leave for a snack as soon as I open the terminal on their desktops (it saves me time, they get that). But they are on the other hand really good at introducing COTS thinking into our household. :-) Sometimes you gotta go with the social tech bell curve. Just go buy the thing that does what you want! Duh! And I agree, you can define this as rationality itself in fact. Tinkering, scripting...irrational in some ways for sure, so good thing we have other ways of discussing its value.
Speaking of uh, typing, I was just today remembering one of the most scary experiences my kids and I have ever had, playing this roguelike game together...
http://www.roguebasin.com/index.php/AliensRL