Live data from Hacker News

Learn the Command Line

codecademy.com

21–30 of 110 posts

Re: Learn the Command Line

#22
post #20

I completed this a few days ago. Good enough to make me want to put Linux on my Macbook again. How I missed thee.

Doesn't your Macbook already have a unix command line?

It does, and most of Unix command line tools can be installed painlessly via brew or port (Mac package managers).

There are reasons to install Linux on a Mac, but general purpose unix command line isn't one of them.

Re: Learn the Command Line

#23
post #2

Do you really have to create an account to even see the first exercise? How times have changed at CodeCademy.

We teach things like bash by assigning each user to a virtualized Linux server. That gets really expensive and hard to manage when you give one to every anonymous user who hits the site (especially when our courses pop up on sites like HN). With that said, I have been wanting to change the UI to be less intrusive, so you can better see what you're signing up for.

Could you use emscripten and just run bash in the browser?

Re: Learn the Command Line

#24
post #16

What do people think about wrapping a Natural Language Processing interface around the command line (for educational purposes)? For example: "Show me all of my files, including my hidden ones" --> "ls -a". Good idea or not?

Just from the perspective of mapping sentence meanings to bash commands, that's a difficult thing to do. But going beyond that, I think there are issues having to do with the ambiguity of language that just aren't solvable, period.

Take your example: "Show me all my files, including my hidden ones". That, to me, should show all the files on the entire system where I am the owner. Even as someone who ostensibly knows some bash, you missed that you dropped some pieces of data which are relevant in bash terms. "my" indicates ownership, and nowhere in your sentence did you say to limit the function to the current directory. If you're making that mistake as an experienced user, what hope does a beginner have?

`ls -a` actually encodes a fairly complex query, which only becomes apparent when you attempt to really nail down what it does in a natural language. To produce `ls -a`, you would really have to type something like "List the names of all the files, folders, and symbolic links in the current directory that are visible to the current user." You could, of course, start making assumptions about certain parts of this, similar to how `ls` does, but then you get into users guessing which part of the sentences they can elide (why wouldn't we assume that "List the names of the files, folders, and symbolic links in the current directory" wouldn't show us all the files, folders, and symbolic links?). At that point, the user must learn the idiosyncrasies of which exact sentence they have to type in to get what they want: i.e. when they have to say "all", when saying "my" matters instead of saying "the", etc. At that point the natural language stuff is no longer a learning tool, it's a separate, very complicated thing for the student to learn in addition to what they are trying to learn.

As another example of this: if you're willing to accept some ambiguity, why did you choose `ls -a` instead of `find .`? Recognizing that `ls -a` and `find .` do very different things.

To summarize: I don't think it's a bad idea, just an impossible one. :)

Re: Learn the Command Line

#26
post #14

I finished it last night and wrote a "review" in a mailing list, so I'm just gonna copy that "review" I sent last night if anyone's trying to figure out whether or not they should take this course: I just finished it. It took me less than half an hour. It was OK until I finished the 75% of the course. The last 25% were pretty repetitive: use nano to edit your bash config (they used .bash_profile as a config file), ty…

vim is available, and if you know how to use it, it doesn't seem to know what text editor you're using. At least, that was my experience.

But I'll also agree that the edit bash_profile stuff was repetitive. I might have preferred something in there about symbolic links or ownership and permissions.

Re: Learn the Command Line

#27
post #15

It's great to see a course to teach basic command line use, I tried this back when it was in beta and it was great. At the time I had also emailed their support team about some security concerns regarding the course and never heard back(I'm not infosec expert but I was surprised at a few things they allowed that would seem like security issues).

The servers are all sandboxed and isolated to you as an individual learner. What problems did you find? Feel free to email me at artur@codecademy.com.

This is not about security but since you're from codecademy, I'm having trouble with the font on the console, on chrome on OSX.

I'm having trouble with - and = which look almost the same to my not so great vision.

https://www.dropbox.com/s/dtyrq7jlao350br/Screenshot%202015-...

By the way, thanks to the codecademy team. Cool stuff.

Re: Learn the Command Line

#28
If you're interested in more, I recently wrote a short book about learning Bash scripting: https://gumroad.com/l/datascience

In the book, I use "adventures" to demonstrate Bash concepts, where I guide the reader through using the command line to answer questions such as: What's the average tip of a NYC cab driver? Is there a correlation between a country's GDP and life expectancy? etc

Re: Learn the Command Line

#30
post #14

I finished it last night and wrote a "review" in a mailing list, so I'm just gonna copy that "review" I sent last night if anyone's trying to figure out whether or not they should take this course: I just finished it. It took me less than half an hour. It was OK until I finished the 75% of the course. The last 25% were pretty repetitive: use nano to edit your bash config (they used .bash_profile as a config file), ty…

If you're looking for another beginner friendly command line resource, I'd be interested in having you go through the below, and doing a comparison.

http://www.gotealeaf.com/books/command_line

Post reply on HN