The Unix Game
unixgame.io
unixgame.io
* 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.
There is also a Christmas edition "12 days of shell" https://12days.cmdchallenge.com that is more like a learning progression.
https://news.ycombinator.com/item?id=27319540 (32 comments)
https://news.ycombinator.com/item?id=21249792 (66 comments)
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?
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.
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/passwdThat 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?
Pass.
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.
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.