The Unix Pipe Card Game

(punkx.org)

97 points | by kykeonaut 3 hours ago

13 comments

  • SamBam 2 hours ago
    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 1 hour ago
      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 1 hour ago
        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.

    • dhosek 50 minutes ago
      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.
  • xandrius 1 hour ago
    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 1 hour ago
      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 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.

  • GNOMES 1 hour ago
    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

    • cube00 12 minutes ago
      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.
    • Dilettante_ 32 minutes ago
      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
    • racl101 51 minutes ago
      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.
  • giancarlostoro 1 hour ago
    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 10 minutes ago
      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.
  • j2kun 58 minutes ago
    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? :(
  • slybot 2 hours ago
    Earlier discussion on this;

    2024 - https://news.ycombinator.com/item?id=41047110 (41 comments)

    2022 - https://news.ycombinator.com/item?id=33222687 (59 comments)

  • behnamoh 1 hour ago
    I wish pipes would transfer more than just text to avoid re-parsing.
    • somat 20 minutes ago
      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.
    • allegretto 29 minutes ago
      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.

    • matt_kantor 1 hour ago
      To be fair they really transfer bytes, which can be any data format you want.
  • snarf21 2 hours ago
    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.
  • LollipopYakuza 1 hour ago
    "Teaching kids"? Well as a professional in IT I wished I knew how to answer all this!
  • sfblah 2 hours ago
    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).
  • psarna 1 hour ago
  • seeknotfind 2 hours ago
    I bought several of these and give them as gifts. Unix Pipe, Expansion Pack, and PUNK0 are my favorites.
  • rbanffy 2 hours ago
    Still sold out?