
Show HN: Memorize Terminal Commands - maherdeeb
https://www.memorize-terminal-commands.com/
======
zestyping
I watched the GIF animation for a long time until it looped and I realized
that it conveyed no information about the project. That was disappointing.

It would be great if watching the main image/animation on your front page
showed what it's like to actually play the game!

~~~
maherdeeb
When I started the project, I did not have a better idea than this short video
to introduce the game. I agree that this is not the best way and it is
misleading. I am going to change it in the future.

------
jclulow

        Your answer:
        ls -lha
    
        Correct answer:
        ls -lah
    

Oh dear.

~~~
mimimi31
Question: Write the name of the standard subdirectory of the root directory
which contains references and files for the devices.

Your answer: dev

Correct answer: /dev

Edit: Also

Question: Write the command that shows a text 'hello world' in the console
without moving to a new line after executing the command

Your answer: printf '%s' 'hello world'

Correct answer: echo -n 'hello world'

~~~
BanazirGalbasi
I also got a similar result with this: Question: Write the command that reads
the file that has the name (text.txt) and shows only one page each time you
hit space and it allows you to explore the file back and forward.

Your answer: less test.txt

Correct answer: less text.txt

------
DC-3
Question: Write the command that reads the file that has the name (text.txt)
and shows only one page each time you hit space and it allows you to explore
the file back and forward.

Your answer: more text.txt

Correct answer: less text.txt

~~~
naniwaduni
Indeed, traditionally more doesn't go backward. It's the first line of prose
in the less(1) manpage: "Less is a program similar to more (1), but which
allows backward movement in the file as well as forward movement."

~~~
DC-3
Oh, good point. That is a subtle distinction, though.

------
nick0garvey
First question didn't go great, would be nice if there was a way to report
missing answers.

Question: Write the command which you use to move inside the directory which
has the name 'my dir' (the name contains a space)

Your answer: cd 'my dir'

Correct answer: cd my\ dir

~~~
chrismorgan
And in practice: `cd my<tab>`. I strive to make the first three letters of a
filename a unique prefix in each directory; and if I were to use a space like
this, I’d be making sure “my” was a unique prefix. This system becomes a
sufficiently ingrained habit that I can’t cope with Zola having a directory
“content” beside a file “config.toml”.

~~~
693471
Tab completion isn't default in every shell

------
gatherhunterer
The responsive design is unusable on an iPhone SE. This would have the most
appeal to me as something to use during downtime (e.g. on the train) rather
than when I am at my desk so it’s too bad.

~~~
stOneskull
Did you try Firefox?

~~~
gatherhunterer
Yep I only use FF. The DOM is the same either way, though.

------
trykondev
This is a really cool idea! I love that there's an option to train on git
commands. Git has always been the kind of thing where I only learn as much as
I need in order to do the task immediately in front of me, so this kind of
thing might be a useful way to level up my skills in that area.

I also really love that in the "about" section, you include lots of details
about the architecture of the project. I was only expecting a summary of how
to use the project, but all these additional details were really nice to see.

------
lol768
>Assuming that you execute the command man -ls

I assume this is supposed to be `man ls`.

>You move inside the help document of the ls command. Write the keyboard key
that you can use to move forward to the next page inside the help document

> Your answer: page down

> Correct answer: f

I mean, both work? Maybe my answer is less likely to work ona remote system
with TERM set wrong.

------
maherdeeb
I really thank you for giving it a try and for your comments. I should say
that the user's answer could be correct in many cases. I am working on a more
advanced answer normalizing feature using some regex expressions which will
NOT be a default option. From my point of view, it is better to memorize one
pattern of the command that does the work instead of focusing on searching how
to use the command.

~~~
jedberg
Maybe add a button that says “challenge this ruling I’m pretty sure im right”
so at least you’ll know which ones people were sure on vs ones they got wrong
because they guessed.

------
jedberg
Another suggestion: Instead of just the verbal description of what to type,
how about some sample output to? That wouldn't give away any answers but would
help understand what you are looking for. Like when you asked "type text to
the terminal" I put 'cat' instead of 'echo'. Sample output would probably have
helped me there.

~~~
maherdeeb
Thanks a lot for your suggestion. I agree 100% with you. I am thinking to
provide hints to the users either by giving a link to the source or showing a
picture of the results or both.

------
eequah9L
Anki is superb for this sort of stuff. It implements a spaced repetition
algorithm to keep the added content in your memory while minimizing the number
of times that you need to refresh it. While used mostly for studying natural
languages, there's nothing wrong with using it for IT stuff (I do).

(Edit: Dropped a bit that was left after some previous culling.)

------
JosephRedfern
"You can use a fake Email". Curious! Why not just make it an optional field?

------
RGS1811
I got a lot of questions about the names of root level linux directories,
which while good knowledge doesn't seem to fit under the title description.

------
stOneskull
I'm liking it so far. Doesn't bother me about being marked wrong when right.
It's not like it's for anyone else. Getting some good lessons and refreshes,
and works great on Firefox on my phone. Thank you very much for making it.

------
spoiler
Some of these are kinda poorly phrased, and the answer in a few of them
could've been "depends" more than once.

Would be slightly better if the questions were more specific, or at least
accept multiple answers.

------
m19n
I thought it would be a memory game like Simon [1] where the game prints one
line and then your repeat it. If you are correct it starts from the first line
but adds another line for you to remember.

I could see the fun in that. Also you wouldn't have the issue of people
complaining about right and wrong answers because you would have to write just
as it was printed.

[1]
[https://en.m.wikipedia.org/wiki/Simon_(game)](https://en.m.wikipedia.org/wiki/Simon_\(game\))

------
thrownaway954
What is this??? I see a gif with terminals commands and a sign up. You have no
call to action. There is nothing on the page that tell me what this is about
or how this will benefit me.

------
maherdeeb
Dear all,

I appreciate your effort and your time testing the website. It was a great
help to me. Your feedback is the light in the darkness. There are a lot of
ideas in the pipeline. Your feedback helps me to prioritize them. Big thanks
for everyone who wrote feedback here or sent it to me via email or LinkedIn.
Thanks for all 9k+ tester. This is my Sunday project. Each Sunday, I am going
to release a new version with a new fix or feature.

Best regards

Maher Deeb

------
PebblesHD
The University of Technology Sydney wrote a similar training program inside a
VM to use in their systems introduction classes called LinuxGym [0]. Its a
surprisingly useful learning tool if a little basic and dated, but covers
everything from directories to grep to awk.

[0] -
[http://linuxgym.it.uts.edu.au/linuxgym/lgwww/](http://linuxgym.it.uts.edu.au/linuxgym/lgwww/)

------
asicsp
See also [1][2] (bookmarked them sometime back, don't remember the details)

[1] [https://www.shortcutfoo.com/app/dojos/command-
line](https://www.shortcutfoo.com/app/dojos/command-line)

[2] [https://www.memrise.com/course/50252/shell-
fu/](https://www.memrise.com/course/50252/shell-fu/)

------
lawry
I love the idea, it's like push-ups for programmers. (Though actual push-ups
wouldn't be a bad idea either ;) On that note, are there other things that
come to mind like that? Maybe anki-decks or
[https://typing.io/](https://typing.io/)

------
beltekylevi
Correct answer adds the current working directory not all changes in the local
repository.

    
    
      Write the command that asks git to add all changes that have been made inside the project that git tracks.
      Your answer: git add -A
    
      Correct answer: git add .

------
noname120
Did one session and it kept asking me some commands that I had typed correctly
from the first time.

~~~
maherdeeb
Thanks for your comment. I appreciate it a lot. I will try to figure out why
this happened and solve the problem.

~~~
noname120
If this helps I trained as a guest.

~~~
maherdeeb
:) I am going to check the logs. I think I should be able to see the problem.

------
andreygrehov
UX feedback. Get rid of "Repeat Password" field. It will make the form look
more user-friendly, as well as hide the scroll bar (at least on my MacBook
Pro), so the entire page fit the screen.

------
uvictor
Hey guys, i have an app that I have just put away where you can save commands
in the command line in the system or upload them to a remote... anyone
interested...it is just a npm package

------
epiphanitus
Anybody have a good Linux command line reference they might recommend? I've
been using Ubuntu on my computer and it would be nice to have a resource for
when I get stuck.

~~~
asicsp
I have a curated list of resources[1] on topics like learning command line
basics, bash scripting, style guide, etc. I have also have my own basics
guide[2] and a comprehensive cli text processing repo[3]

[1]
[https://github.com/learnbyexample/scripting_course/blob/mast...](https://github.com/learnbyexample/scripting_course/blob/master/Linux_curated_resources.md)

[2]
[https://github.com/learnbyexample/Linux_command_line](https://github.com/learnbyexample/Linux_command_line)

[3] [https://github.com/learnbyexample/Command-line-text-
processi...](https://github.com/learnbyexample/Command-line-text-processing)

~~~
epiphanitus
Very cool. Thanks!

------
mtich-snipline
This is a really cool idea. I think ideally, it could do with a Duolingo/Flash
card style approach where your first taught the commands, and then asked to
write them.

------
posix_compliant
WRONG Answer: tail test.txt Your answer: tail test.txt

I think it didn't like my answers if I hit the 'enter' button.

~~~
msravi
I thought I got hit by this, and then realized that it's text.txt with an X
and not test.txt with an S.

------
stockkid
Just a heads up to the author: When I click the "Start memorizing" button, I
get a 500 server error.

~~~
maherdeeb
thanks a lot for your comment. I got the error from Google App Engine as well.
I am going to investigate this and solve the problem.

------
drcongo
Question: Write the command that you use to move into the parent directory of
the current directory.

Your answer: ..

Correct answer: cd ..

Nope.

~~~
NobodyNada
`..` is not a command, it's just the name of the parent directory (unless
you've defined it as an alias for `cd ..`)

~~~
drcongo
I use zsh and fish, `..` takes you to the parent directory without typing `cd`

------
envolt
Can you do something about duplicate questions?

~~~
maherdeeb
Sure! After I get all the questions in place, there will be no duplicate
questions.

------
jmkni
Very cool, thanks for sharing

------
sagarpatil
Thank you for creating this.

------
digitalsushi
this is like a parrot learning how to say 100 sentences in french. the parrot
has no idea what it is saying, only that the result might generate a cracker
or a grape.

