[HN Gopher] The Unix Pipe Card Game
       ___________________________________________________________________
        
       The Unix Pipe Card Game
        
       Author : kykeonaut
       Score  : 156 points
       Date   : 2026-01-20 16:48 UTC (6 hours ago)
        
 (HTM) web link (punkx.org)
 (TXT) w3m dump (punkx.org)
        
       | seeknotfind wrote:
       | I bought several of these and give them as gifts. Unix Pipe,
       | Expansion Pack, and PUNK0 are my favorites.
        
       | sfblah wrote:
       | What a good idea. I couldn't see on the site if there's an online
       | version (especially relevant since it appears to be sold out in
       | physical form).
        
         | kykeonaut wrote:
         | https://openbsd.amsterdam/cards.html
        
       | snarf21 wrote:
       | I used to work with a guy in the data group at MapQuest a long
       | long time ago and the stuff he could very quickly do with nothing
       | but _awk_ and _sed_ was insanely impressive.
        
       | slybot wrote:
       | Earlier discussion on this;
       | 
       | 2024 - https://news.ycombinator.com/item?id=41047110 (41
       | comments)
       | 
       | 2022 - https://news.ycombinator.com/item?id=33222687 (59
       | comments)
        
       | SamBam wrote:
       | As a science teacher and former software dev, I find this totally
       | cute, and I understand exactly why the creator chose to make it a
       | physical card game.
       | 
       | That said, I do think the translation into a physical card game
       | means that kids aren't getting the experimentation and near-
       | instant feedback that they'd be getting if they were doing this
       | digitally.
       | 
       | In order for a kid to "win," they either have to already know, or
       | explicitly be told using words, what all of the commands do. Then
       | they have to hear the parent analyze their solution, and tell
       | them where they went wrong. Picture, however, a different game,
       | played online: A kid has no idea what "sort" does, but when they
       | link the "sort" command to a blob of text, all the lines are
       | sorted in order. Now no one has told them what this command does,
       | but they've discovered it. By playing the role of a scientist
       | discovering these commands, they might actually gain an intuitive
       | understanding of them.
       | 
       | I'm thinking of the board game "robot turtle," where kids needed
       | to create a "program" of commands to move a turtle to a goal.
       | When they did that, they had near-instantaneous feedback: the
       | parent moved the turtle. If the kid mixed up their left with the
       | robot's left, the failure was obvious. But if the game has been
       | re-made so that there was no board, and the parent and kid just
       | needed to talk about whether the turtle would actually end up
       | seven paces forward and three paces to the left -- i.e. doing it
       | all verbally -- it wouldn't have been nearly as powerful.
       | 
       | So I'm not raining on this, I can see this as very cool. But I am
       | having a hard time imagining it's the best way to learn to pipe
       | together commands.
        
         | d-us-vb wrote:
         | As a young Linux user I always hated the experimentation aspect
         | because usually it meant just straight up getting the command
         | wrong 5 times before trying to read the man page, thinking I
         | understood what the man page meant, trying again another 5
         | times and then giving up.
         | 
         | This idea of experimenting and getting instant feedback is just
         | survivorship bias for a certain type of person, not "the way we
         | ought to teach Unix shell"
         | 
         | This view is corroborated by the research summarized and
         | presented in _the programmer's brain_ by Felienne Hermans.
        
           | nomadygnt wrote:
           | Maybe I am wrong about this but I think a lot of recent
           | research has shown that trial and error is a great way to
           | learn almost everything. Even just making an educated guess,
           | even if it is completely wrong, before learning something
           | makes it much more likely that you remember and understand
           | the thing that you learn. It's a painful and time-consuming
           | way to learn. But very effective.
           | 
           | Maybe Linux commands is a little different but I kinda doubt
           | it. Errors and feedback are the way to learn, as long as you
           | can endure the pain of getting to the correct result.
        
             | JamesTRexx wrote:
             | Trial and error was the root of what became my IT career. I
             | became curious about what each executable did from DOS and
             | with that did my first tweaking of autoexec.bat and
             | config.sys to maximise memory. Years later I was the only
             | one who could investigate network (and some other) problems
             | in Windows via the command line while I was the junior of
             | the team. Ended up being the driver of several new ways of
             | working for the department and company.
        
             | cheesecakegood wrote:
             | Needs qualification. Research shows trial and error
             | learning is very durable, but it's not the most time
             | efficient (in fact it's relatively poor, usually, on that
             | front). The two concepts are a bit different. Yes, trial
             | and error engages more of the brain and provides a degree
             | of difficulty that can sometimes be helpful in making the
             | concepts sticky, but well designed teaching coupled with
             | meaningful and appropriately difficult retrieval and
             | practice is better on most axes. When possible... good
             | teaching often needs refinement. And you'd be surprised how
             | many educators know very little about the neuroscience of
             | learning!
        
               | zahlman wrote:
               | > And you'd be surprised how many educators know very
               | little about the neuroscience of learning!
               | 
               | I'm (pleasantly) surprised every time I see evidence of
               | one of them knowing anything about it.
        
           | shakna wrote:
           | I'd add nuance to Hermans' work. Its not all experiment
           | blind, but also not feedback-less. They advocate for "direct
           | instruction", not just rote learning.
           | 
           | > As that is not a surprise, since research keeps showing
           | that direct instruction--explanation followed by a lot of
           | focused practice--works well.
           | 
           | Note the "lot of focused practice".
           | 
           | [0] https://www.felienne.com/archives/6150
        
           | robocat wrote:
           | > usually it meant just straight up getting the command wrong
           | 5 times before trying to read the man page, thinking I
           | understood what the man page meant, trying again another 5
           | times
           | 
           | I think that is a developer's superpower. The poncy term for
           | it is grit. I tell others that the secret to leaning
           | computers is frustration and persistence.
           | 
           | > and then giving up.
           | 
           | Knowing when to stop or change direction is hard.
           | 
           | I've definitely wasted years of work failing to solve
           | something that I eventually had to give up on (most memorably
           | depending on nasty Microsoft products).
           | 
           | But I've also been paid very nicely because I've solved
           | problems that others struggled with.
           | 
           | And I was paid for the failures too.
        
           | inopinatus wrote:
           | I'm trying to remember being a young Unix user but it was
           | four decades ago, so the details become hazy. Nevertheless
           | the proper go-to after the manpage fails to clarify matters
           | is the same as it ever was, that is, one reads the source
           | code, if you have it, and this is easier today than ever.
        
         | dhosek wrote:
         | I'm wondering whether it could be played with a Unix box
         | connected to the big TV in the living room so that with each
         | command added to the pipe you can see the result. That's my
         | instinct for what to do with this, although it does feel like
         | it is a play once kind of game.
        
           | williamcotton wrote:
           | Would this be something along those lines?
           | 
           | https://github.com/williamcotton/guish
           | 
           | It's a GUI for constructing and executing Unix pipelines and
           | it shows the output of each step in the pipeline.
        
             | derrida wrote:
             | woah that looks nice!
        
         | jackdoe wrote:
         | > But I am having a hard time imagining it's the best way to
         | learn to pipe together commands.
         | 
         | To be honest, it is very strange how hard it is to teach
         | programming concepts, for some reason almost all humans use
         | computers but only 0.1% or so can program them.
         | 
         | I am not sure we have the 'best way' to teach anything computer
         | related.
         | 
         | People develop world model for physics quite early, they know
         | they can pull with a rope but cant push with a rope.
         | 
         | And they get intuition, things that are thrown up, go down, and
         | they can transfer this intuition in the math, because math is
         | real.
         | 
         | For some reason its hard to do that with code. People keep
         | trying to push with a rope, even after studying for many years.
         | 
         | PS: I am trying to teach her neural networks now and am working
         | on this RNN board game
         | https://punkx.org/projekt0/book/part2/rnn.html to fight the
         | "square" dragon. I want her to develop good world model for
         | neural networks, so that she understands what chatgpt is. I
         | just keep experimenting, sometimes things click, sometimes not.
        
           | bc569a80a344f9c wrote:
           | > almost all humans use computers but only 0.1% or so can
           | program them.
           | 
           | This is nitpicking but I was curious: there are 4.4 million
           | software developers in the US
           | (https://www.griddynamics.com/blog/number-software-
           | developers...). The population is 340 million, 0.1% would be
           | 340,000. You're off by over one order of magnitude.
        
             | jackdoe wrote:
             | there are 45 million devs in the world (out of which
             | probably 10 can actually program) and 8.5 billion people
             | 
             | we could say 0.5%?
        
         | derrida wrote:
         | hey, I just copy and pasted your comment into an agent I hope
         | you don't mind.
         | 
         | one shot result:
         | 
         | https://wonderful.exe.xyz
         | 
         | you could do the same, or I could give you access to this one
         | if you want.
        
           | empath75 wrote:
           | unreal that an agent knocked this out in one shot.
        
             | derrida wrote:
             | well, technically 2, my second was "good, now do it better"
        
         | d--b wrote:
         | One could make an app that actually scans the cards from a
         | distance and computes the stuff. Brett Victor style.
        
       | rbanffy wrote:
       | Still sold out?
        
       | xandrius wrote:
       | Interesting concept but in the current format it feels like a
       | game to bring out exactly once with a very specific group (or
       | perhaps an unexpecting child), play for 10-15min, smile to
       | oneself and then put the deck where these sorts of games go die.
       | If it is attempted to bring it out again with the same group, I'd
       | expect a response similar to "Again? Didn't we play it already?"
       | with some disappointment.
       | 
       | At least it was just $5 but I think it's 1000% more fun to
       | actually use a unix terminal with some sort capture the flag kind
       | of game.
        
         | jackdoe wrote:
         | Unix Pipes is a "play once" game, just so you can try some
         | ideas, then try them out on the computer.
         | 
         | I used to randomly set
         | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
         | NT\CurrentVersion\Winlogon Shell to cmd.exe on my daughter's
         | laptop so she can run programs from there, e.g. go the discord
         | directory and start discord from there.
         | 
         | Then I made unix pipes just to help her with
         | https://overthewire.org/wargames/bandit/ and so we can discuss
         | how do you make "programs that do not know how they will be
         | used", e.g. the programmer of "sort" does not know how it will
         | be used, and you can create ridiculous pipe chains with the
         | cards, just for fun.
         | 
         | Of course I made other random tasks, e.g. we take a random book
         | and we start "catting" and "grepping" it
         | 
         | Most of the games i made on https://punkx.org are like that, i
         | am just trying to teach her something and i need a bit of
         | physical help to "get out of the computer"
         | 
         | The only real card game is http://punkx.org/punk0 which is like
         | uno with state and I play it often with friends, and
         | https://punkx.org/overflow/ which is super intense depending
         | who you play with.
        
       | LollipopYakuza wrote:
       | "Teaching kids"? Well as a professional in IT I wished I knew how
       | to answer all this!
        
       | psarna wrote:
       | related: https://printed.games/gates/
        
       | behnamoh wrote:
       | I wish pipes would transfer more than just text to avoid re-
       | parsing.
        
         | matt_kantor wrote:
         | To be fair they really transfer bytes, which can be any data
         | format you want.
        
         | allegretto wrote:
         | Could I introduce you to https://www.nushell.sh/, kind sir?
         | 
         | Started using it last year and being able to type 'ls | sort-by
         | modified -r | take 5' feels liberating.
        
           | zahlman wrote:
           | Disappointing that Debian seems completely uninterested in
           | this :(
        
         | somat wrote:
         | Pipes don't transfer text, they transfer a unformatted byte
         | stream. The commands however do expect a particular format.
         | There is going to be serialization/parsing regardless of the
         | format the command expects. Even if it is an internal object
         | format as found in powershell commands.
        
       | GNOMES wrote:
       | This gets shared a ton, but the old Bell Labs video from 4:56 to
       | 10:52 is still the best way I have seen pipes explained:
       | 
       | https://www.youtube.com/watch?v=tc4ROCJYbm0
        
         | racl101 wrote:
         | It's amazing how these ideas conceived almost 50 years ago
         | still are helpful for new computer users today. Just goes to
         | show how well planned it was.
        
         | Dilettante_ wrote:
         | Nit: You can get a link to a specific time in the video by
         | clicking the "share" button and ticking "start at":
         | https://youtu.be/tc4ROCJYbm0?&t=296
        
         | cube00 wrote:
         | Great video, when I first watched it, it switched my thinking
         | from "why is *nix so hard to use" to understanding they were
         | really trying to build with the user in mind and to learn more
         | about the "*nix way" to work with it, not against it.
        
       | giancarlostoro wrote:
       | We need one for SELinux for adults, it'll lowkey force people who
       | haven't taken the time to learn SELinux to learn it and be fully
       | capable of using it without fear.
        
         | cube00 wrote:
         | I felt a lot better after seeing even the all knowing LLMs
         | couldn't explain how a set of files were getting labelled
         | automatically with a label that didn't match the parent
         | directory.
        
         | dvratil wrote:
         | Well, there's a SELinux coloring book - you need to start with
         | SELinux while they are still young!
         | https://people.redhat.com/duffy/selinux/selinux-coloring-boo...
        
       | j2kun wrote:
       | I saw that huge box of decks they printed for this, and I though,
       | oh dear, how are they going to sell that many copies? :(
        
         | jackdoe wrote:
         | :) I actually printed a lot so the price is cheap, and I could
         | sell for 5$ then I sold them until I recoup the printing cost
         | and donated the rest to schools.
         | 
         | I am thinking of doing a reprint, but tbh shipping is so
         | expensive now, and I there is also USA's tariffs and etc.
        
       | Contax wrote:
       | Love this. I once (2017 I think) made a card game based around
       | MS-DOS with elements of Crazy Eights which I called Crazy DOS
       | (shortened C:DOS) but got zero attention so I moved on. I might
       | try this one, I love this kind of stuff.
        
       ___________________________________________________________________
       (page generated 2026-01-20 23:00 UTC)