Live data from Hacker News

GameShell: A game to learn or teach the Unix shell

github.com

21–30 of 69 posts

Re: GameShell: A game to learn or teach the Unix shell

#21

I saw many games trying to teach programming, but never heard of any of them gaining significant popularity. I wonder why? I guess "play games instead of reading books" idea attracts audience with low motivation?

Ha, I never heard of any textbooks gain significant popularity either. I guess reading textbooks attracts audience with low motivation.

In seriousness though why do you think any educational game would ever gain popularity anywhere close to popular video games.And what the popularity of the material even have to do with the motivation of its consumers???

Re: GameShell: A game to learn or teach the Unix shell

#22

I saw many games trying to teach programming, but never heard of any of them gaining significant popularity. I wonder why? I guess "play games instead of reading books" idea attracts audience with low motivation?

We all have different ways of getting motivated and learning. You shouldn't yuck other peoples' yum.

I've definitely heard of some games that teach programming skills getting popular. For example, https://flexboxfroggy.com/ http://www.flexboxdefense.com/ for teaching css layout.

https://www.freecodecamp.org/ isn't marketed as a game, but absolutely feels like one when you are going through the program.

https://www.hackthebox.com/ is another great example.

As to reading books, I used a lot of resources to become a programmer, but books weren't one of them. I'd wager hardly anybody uses books today.

Re: GameShell: A game to learn or teach the Unix shell

#23

I saw many games trying to teach programming, but never heard of any of them gaining significant popularity. I wonder why? I guess "play games instead of reading books" idea attracts audience with low motivation?

Factorio looks like a very popular game.

Re: GameShell: A game to learn or teach the Unix shell

#24
post #3

Maybe before starting to teach others, you should teach yourself how to cleanly package your software into OS packages, instead of peddling around MS-DOS style shell scripts with a .sh extension. Didn't anybody teach you that UNIX-like operating systems purposely do not use extensions, in order to abstract the implementation language of the executable from the user? How the hell are you going to properly teach others…

I'm glad you're mad, but based on this comment and the rest of your comments in this thread it seems that's just your normal operating state. Your argument seems to be that unless someone uses a computer exactly as you do, and has your exact selection of knowledge in their brain, then they're incapable of sharing any knowledge at all. Furthermore, there aren't many Unix/Linux users that operate in a vacuum, and often you'll be using files with extensions that come from other OSes that use extensions; and additionally, file extensions are a useful fast way of knowing exactly what kind of data the file contains. You're a mega idiot who deserves to be constantly seething

Re: GameShell: A game to learn or teach the Unix shell

#25
If you dont like running foreign code on your machine, you can run docker and then run foreign code on your machine.

Did anyone else catch this in the article? Doesn't it seem like this makes it even more likely to get infected? No one understands Docker in entirety let alone this random game. It seems like all this stuff should just be automatically done behind the scenes and yet it's not.

Re: GameShell: A game to learn or teach the Unix shell

#26

I saw many games trying to teach programming, but never heard of any of them gaining significant popularity. I wonder why? I guess "play games instead of reading books" idea attracts audience with low motivation?

I learnt CSS Grid and CSS flexbox using those froggy game.

But yeah, just one data point in millions who don't use games.

Re: GameShell: A game to learn or teach the Unix shell

#27
post #3

Maybe before starting to teach others, you should teach yourself how to cleanly package your software into OS packages, instead of peddling around MS-DOS style shell scripts with a .sh extension. Didn't anybody teach you that UNIX-like operating systems purposely do not use extensions, in order to abstract the implementation language of the executable from the user? How the hell are you going to properly teach others…

I'm confused as to why you're choosing this hill to die on.

I also use ".sh" at the end of bash script files for usability: at a glance it's obvious how run "build.sh" and exactly what it does without the person building it having to read a readme or an email that you authoritatively sent months ago regarding the optional build processes.

Re: GameShell: A game to learn or teach the Unix shell

#28

If you dont like running foreign code on your machine, you can run docker and then run foreign code on your machine. Did anyone else catch this in the article? Doesn't it seem like this makes it even more likely to get infected? No one understands Docker in entirety let alone this random game. It seems like all this stuff should just be automatically done behind the scenes and yet it's not.

> It seems like all this stuff should just be automatically done behind the scenes and yet it's not.

...what stuff?

Re: GameShell: A game to learn or teach the Unix shell

#29
post #15
post #6

Earlier quoted context omitted.

I (25 years working with GNU/Linux) usually name my bash scripts `something.sh`. I think it's debatable wether it's always good or bad, and when specifically it can be a good idea to leave out the `.sh`. Also, it doesn't look like you looked into the game and came out with some conclusions. It looks more like you superficially had a look, you had a thougt and rushed to comment here about what you believe is a deadly…

Quoted post unavailable.

It may benefit you to read the HN Guidelines: https://news.ycombinator.com/newsguidelines.html, specifically the "In Comments" section.

> Be kind. Don't be snarky. Have curious conversation; don't cross-examine. Please don't fulminate. Please don't sneer, including at the rest of the community.

Re: GameShell: A game to learn or teach the Unix shell

#30
post #16
post #10

Earlier quoted context omitted.

I find the use of a 'sh' file suffix a useful convention to follow in helping identifying what is an isn't a shell script on my local machine

You are not supposed to "identify" anything on UNIX-like operating systems; that is what the file(1) command is for, specifically, especially so since the entire concept of UNIX is that everything is a stream of bytes . Attempting to manually manage files in this way defeats the purpose of the OS abstracting it away for the user; and the users of your executable should not have to care what your executable is written…

As someone who did grow up on Windows and still uses it regularly alongside Linux, I want to respond to this comment just to play the Devil's advocate (i.e. infuriate you).

> especially so since the entire concept of UNIX is that everything is a stream of bytes.

I consider this an archaic, anachronistic, ancient, outdated, primitive (they all mean the same thing; I just used a thesaurus to really drive home my point) file model. While it made sense for the limited computers of the early 1970s, it is extremely hobbling today and the fact that no one really complains about it is... quite astounding. If every file is merely a bag of bytes, then every native program shall have its own file-parsing/byte-parsing routine. What a waste of effort, writing and rewriting parsers over and over again.

The fact that one has to write a shell script that is interpreted, and itself calls not one, but three other binaries (cat, grep, awk) with arcane, not-easily-remembered flags just to extract out certain words in the last several lines of a file is... ridiculous. That you have to call 'file' instead of directly querying the OS or shell for file attributes is farcical. Consider PowerShell or Python as alternatives to shell scripting. In the former, the entire .NET library is available; in the latter, the default libraries may be imported as one sees fit, and additional libraries are available online.

> defeats the purpose of the OS abstracting it away for the user

The UNIX philosophy does a poor job of 'abstracting it away from the user'. For well-abstracted OSes, see any smartphone today (especially iPhones).

Furthermore, not every UNIX/Linux user interacts with their computer solely over the command line; I use KDE Plasma, for instance. In general, when I see a file on Linux with no extension, I expect it to be a binary; I am surprised when it is, in fact, a shell script.

Post reply on HN