Also if you have kids, I would recommend you print https://punkx.org/panic/ which has amazing pranks that fit in one poker card (e.g. randomly hitting backspace or space every 30 seconds, or pressing W randomly if minecraft is open)
I am donating a lot of the decks to teachers and schools, so if you are interested send me an email.
PS: I am in London for 1 more week, so if you order decks now the shipping will be delayed, but I will make sure I add 1-2 extra decks in the package because of it.
PPS: the unix pipes expansion deck is all about process substitution, but I don't think its useful for kids, though I think it contains nice puzzles
One thing I noticed: in the game there are tasks like print the second line and print the seventh line. But both of those lines are empty. So technically e.g. a non-matching grep is a correct solution. :)
So cool! I'm ordering a few of these after rework tonight.
Out of curiosity, how do you handle printing? DIY? POD? Order in bulk and ship yourself? I'm always so interested in how people handle physical product sales at a small scale.
TBH physical products are amazing, I want to make more. Its such an amazing feeling once the product is "done", you can just start working on the next one, in contrast with software which is always in your head..
I ordered 1 of all your available decks a few months ago, my daughters are too young for them still, but I think they are great, and I can't wait to bust these out in 8+ years
Are kids these days actually able to grasp things like this? I don't have kids and am never around them, so please take this question as genuine and in good faith.
It is difficult because I have to compete with snapchat and google/meta for her attention, and school is quite exhausting. Snapchat has this super annoying 'streaks' and the more friends you have the more streaks you have to keep alive, so you have to send like 400 messages per day.. its non stop. I teach her that there are 100_000 developers and psychologists and product owners and etc, that they go to work every single day thinking how to extract the most value out of her attention, and she has to constantly be aware of what is the "algorithm" making her do.
Unix Pipes she got quite quickly, but doesn't use often, but the idea of one program reading another program's output she got. Also grasping the command line was not that difficult. But I used quite some tricks to help. For example her windows PC I change the shell from explorer to cmd.exe, so it boots in cmd, so she has to navigate and also fix it. I also make scavenger hunts on her filesystem so she has to look for a file using dir and cd and etc, also https://overthewire.org/wargames/bandit/ I bribed her with robux for passing each level of the bandit game
I want to teach her how computers work and how to make them do what she wants. From what is a register, to an instruction, to a program to a process. Kihon no Kihon as they say. But in the process I also teach her how to break things down and how to think and most importantly how to learn. I teach her about the heart of things, so there is no mystery between the keyboard press and the letter appearing on the screen, or how chatgpt predicts the next word (I am working on a RNN board game with 3 neurons and you have to teach it to count https://punkx.org/move-37/rnn.pdf [work in progress])
So in the end I am not sure if it matters what you teach your children :)
> Snapchat has this super annoying 'streaks' and the more friends you have the more streaks you have to keep alive, so you have to send like 400 messages per day.. its non stop.
I had no idea. That sounds insane. Can that "feature" be disabled?
> I teach her that there are 100_000 developers and psychologists and product owners and etc, that they go to work every single day thinking how to extract the most value out of her attention, and she has to constantly be aware of what is the "algorithm" making her do.
It's great that you make her aware of it. And still, it sounds like an horribly unfair fight.
not that I know of, but also she has social pressure to not let her friends "down", its a huge thing who you have "streak" with, and also the longer the streak is the more "important" it is.
Not sure about kids, but I've seen university students that literally did not know how to use a non iOS computing device. Colleagues had to start explaining what a file is, a folder, etc etc, in their courses.
Honestly I don't find that too bad. My guess is that computers will go the same way cars did: Most people will only know the very basics that are needed to operate the thing. Any deeper knowledge will be left to enthusiasts and professionals. Thus computers, while getting more complicated internally, will have fewer and fewer modi of usages.
What is a file, what is a program, how programs run and how programs communicate, is not understood by most people (including most CS students).
> Honestly I don't find that too bad.
I understand what you mean, it is the same with most technology, users just use it, as your example of cars, or even furniture, or forks and spoons, or language, I am not even sure it is related to complexity.
But I disagree on what it means to use a computer, because unlike other machines, it does what you make of it (now even more, with llama 3.1 out), I think to use a computer means to program it. Somehow in the last 30-40 years, user interfaces gave up on their users. You dont own your programs, your files or in many cases even your computer, it doesnt start the programs you want(iphone for example), and you cant debug other programs (e.g. in case of macos you cant gdb -p into signed programs unless you disable the system's integrity protection).
Somehow we managed to squeeze all the fun out of it. As John Carmack says: the distance between what it is, and what it could be, is the opportunity, and I am sure people can have way more fun programming :)
The first class of my CS degree was "How to use Microsoft Word" and some of the other students had a really, really hard time figuring this out. Including the guy next to me who kept telling me he had a job lined up already to write software for nuclear reactors in Pascal.
Great fun with the autocorrected Unicode double quotes.
A customer of mine got bitten on a preproduction server because of a copy and paste from some blog, where ASCII " were converted to Unicode (slanted) "
Why would using a fancy editor be in any way relevant to writing code? That CS class should be dropped from the curriculum, imo, until such time as bolding a register has some sort of meaning, or perhaps viewing an sql table via "print preview".
A good developer I've been working with years ago told me "I really don't know how networking works [and SQL] but... I studied Graphic Design, not CS. While I was studying that I realized that I liked programming more than design so I started doing it and never got a formal education about computer stuff." He was really good at Node and he ended up being the lead developer of the company he was working for. I know good developers coming from all sort of backgrounds, from Philosophy to Agrarian science (if that's the right English term for that.)
Yea that's the fault of the scoring method (Count pipes). Character count would be better... either that or play within the spirit of the game and learn the tools for their intended purpose. I use a lot of awk/sed for quick one-time processing and I use a similar mental model for how I do most of my processing. Build a input stream, use sed to structure the data into records, use awk to process records, massage the output (e.g. sort/uniq). In many cases I could use sed or awk to replace eachother but that makes it take longer to visualize and also harder to re-use.
> In many cases I could use sed or awk to replace each other
I always felt that way too. I don't do a ton of command line processing of stuff now, but got pretty proficient with them back in day specifically for a unix class in college. A lot of the seemingly simple command line tools have overlapping feature sets or can be coerced into doing extra stuff.
Sorry :( I use PostNL, and its actually even more expensive, on most non EU shipping I lose
but each deck has pdfs you can just print them with your local printing shop, if you don't print the box it should be cheaper
you can also just print them on a4 paper and cut it with scissors, its not the end of the world, it is even helpful to explain to someone with pen and paper as well.
Not the same, but I mailed a sweatshirt to a relative in Sweden from the US and it was like $36 and if I wanted it tracked the whole way it would have been something like $55. Granted this was USPS and maybe shopping it around would have been cheaper, but I had no idea that international shipping was so expensive considering you can buy stuff from china and shipping is basically free.
btw, you might also like https://punkx.org/overflow/ which is a buffer overflow riscv assembly board game, or depending on your kid's level you can also play snakes and ladders with gotos https://punkx.org/overflow/build/snakes-and-ladders.pdf
Also if you have kids, I would recommend you print https://punkx.org/panic/ which has amazing pranks that fit in one poker card (e.g. randomly hitting backspace or space every 30 seconds, or pressing W randomly if minecraft is open)
I am donating a lot of the decks to teachers and schools, so if you are interested send me an email.
PS: I am in London for 1 more week, so if you order decks now the shipping will be delayed, but I will make sure I add 1-2 extra decks in the package because of it.
PPS: the unix pipes expansion deck is all about process substitution, but I don't think its useful for kids, though I think it contains nice puzzles