Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The Unix Game (unixgame.io)
218 points by jackdoe on Oct 20, 2023 | hide | past | favorite | 33 comments


This would probably be a lot better (game/challenge/whatever) if it was just a console input... I knew it was scratch from way back when I showed scratch to my kids, but it took me far too long to figure out I had to go grab icons and move them into place... I get it but I don't get it. I spend more time figuring out the interface and searching for blocks than solving the puzzles.



Or a day doing devops stuff at work


Curious: Did you "take the tour"? I doubt I would have had the patience to figure it out on my own, but after taking the tour, I had no problems.


What I like:

* block-based, similar to Scratch.

* while some people want option for direct text input, I like the blocks, as it is less intimidating for beginners.

* I genuinely learned few things that I would not have bothered to learn otherwise. I would recommend it for anyone who wants to go beyond simple shell commands.

What I don't like:

* it already assumes that user knows some of these commands. There isn't any instruction on the commands, except for a brief example shown when hovering on top of block.

* there's no help or clue so if you get stuck, it requires a little bit of googling. For example, I had no idea how to convert uppercase to lowercase. I had to use Google to find it.

* One challenge (`belle`) assumes that user will have knowledge of Chess notation or learn it on the spot, which offers more info on chess than on the actual topic of unix commands. I could imagine a user who has never played Chess to spend at least couple of hours trying to understand what is going on.


(Hopefully this feedback is interpreted in the instructive tone in which it is intended, rather than as pedantic nitpicking) There is a subtle difference in meaning between "few X" and "a few X" in English. While they both refer to a small number of items, "few X" has an implication that that number is smaller than hoped or expected, or is smaller than for other members of a similar category. In that sense, your third point ("I genuinely learned few things that I would not have bothered to learn otherwise") sounds like a negative - the implication is that, while you did learn some things, the number that you learned was small enough to not be worth your time.


I put something together very similar to this, https://cmdchallenge.com that I like a bit better because it has console input.

There is also a Christmas edition "12 days of shell" https://12days.cmdchallenge.com that is more like a learning progression.


That was great!


I could solve these with my eyes closed but I'm unable to operate the weird javascripty confusing building block thing. Why not just offer an option to use a terminal?


I thought this looked familiar... a couple of previous discussions:

https://news.ycombinator.com/item?id=27319540 (32 comments)

https://news.ycombinator.com/item?id=21249792 (66 comments)


I find it amazing that unix pipes are possibly the best inter-program communication system we have, and they are 50 years old, and things are pretty much the same as written in the book from 1984 https://archive.org/details/UnixProgrammingEnviornment


right from the start it's teaching bad practices [1]. You do not need to 'cat file.txt' when all tools can take file.txt as input directly without it being cat'd.

https://porkmail.org/era/unix/award

For a crew of people who read hackernews i'd expect something a bit more complicated. Perhaps just allow the user to write their own commands instead of doing that silly gui programming block thing?


That’s debatable. It’s a lot easier to swap things around if you use cat at the start of your pipeline and gives the data flow a complete left to right reading. For one liners I will probably < but for a shell script I’ll go with cat.

Like, if you originally < into awk but then you want to < into grep first because you realized some new requirement you can’t simply swap around a “cmd |” pair.


I agree with you that `cat` is not really useless when it makes the code more readable, and the common idiom of `cat input-file | process | process | process > output-file` can be more readable than `process <input-file | process | process > output-file`, while the theoretical performance overhead incurred by the needless cat is negligible in the majority of cases.

But for the sake of completeness I need to point out that technically I/O redirections can occur anywhere in the command line, so if you want to maintain left-to-right reading order, you can do that without resorting to cat, by writing:

    <input-file process | process | process >output-file
For example:

   </etc/passwd awk -v FS=: '{ print $7 }'
Works just as well as the more idiomatic:

   awk -v FS=: '{ print $7 }' /etc/passwd


Despite this being surprisingly touch friendly since everything is drag and drop, I found it unusable on mobile due to a sidebar taking up a quarter of horizontal space, the scratch sidebar taking up the next quarter, and the actual pipeline area just a few pixels to navigate. Still a very cool concept!


So what is this using, some kind of embedded Scratch[1] widgets? I would love to use a UX like that as GUI for my Scheme-based DSL so that it can be edited by non-engineers! Does anybody have any idea how one would go about embedding widgets like that, if there's a pre-made tool for it because I couldn't find any?

[1] https://scratch.mit.edu/


They appear to use this library: https://developers.google.com/blockly/



Not sure why you need a website, I play this game every day in a terminal.


It would be cool to have a filter input when you're looking for command/patterns/punctuation that's auto-focused and part of a form, so that you can just click -> type -> enter to fetch the command you're after instead of having to scroll through your whole sorted list and recite the alphabet in your head.


Couldn't solve awk question. I got 'AWK' in uppercase but there is no command to select from to make the letters lower case. I cannot even write my own patterns to match and replace letters. I don't get it.


You can use tr to replace the pattern [A-Z] with [a-z]

That said, if this unix game wants to showcase the great usability and pragmatism of unix pipes, it has the adverse effect on me. While I like the flexibility of plaintext pipes, I really wish there was a Linux shell that tries to be a bit like powershell without the opinionated powershell syntax... maybe there is?


nushell.org


It's easier to type a command pipeline, than to use that GUI.


I guess it's a good thing that they are trying to keep the spirit alive but it still takes a little bit of getting used to "Nokia Bell Labs".


"Construct a UNIX pipeline... ...by picking blocks from the above toolbox (grey) and dragging them to the workspace area"

Pass.


I think the "Just Play" button on the Please Log In screen is very difficult to notice. I bet most users won't notice and will instead close the page without reading all of the modal dialog.


I find this fascinating, hidden in plain sight. If you observe it without making assumptions about common bad patterns used by many websites, it's hard for me to call it difficult to notice it's a giant green play button (assuming there aren't multiple different login screens) can't be much bigger than that.

It is large and same shape as buttons for other options. Plenty of websites that try to hide least desirable options (for them) by making them smaller and assigning a style that doesn't look like a button at all.

The color is slightly different from options. That has both benefits and downsides. One hand it helps it to standout, on the other hand it can cause you not to consider as an option. Although I personally think that it would be more hidden if it had the same color and it was placed in the middle of list with rest of login options.

I guess this demonstrates how many bad websites have trained people to ignore popups so that they instinctively close them or whole website in a fraction of a second, or if they don't instantly close it brain blocks the ability to perceive any information within the popup.

Did any of you had the later experience where you spend some time looking at the login screen for a while but weren't able to perceive what's in front of you? No need to answer if it was the first case. There is very little you could perceive within the short time it takes for some of you to close it.

For me personally it wasn't that bad. There was something like a half a second hiccup, where I thought that this is will be one of those sites that want you to login, but was afterwards pleasantly surprised that they offer option to play without logging in.


> it's hard for me to call it difficult to notice it's a giant green play button

The issue is that it is at the end of a list of login options and looks similar to them. Why would I read the login options when I have no interest in logging in?

One solution that comes to mind would be a modal with two columns. One column for the login options and the other for the just play button.


I think "me too" is a good data point in this case; so.. me too. Like the others who commented, I gave up chasing the instructions after a while.


I’v just closed… now I see this, but not going back.


I certainly did


Exactly what just happened to me




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: