The last few days, I’ve been forcing myself to use a lot more of command line on Unix-based machines. For data processing, Linux is so much more powerful and faster than Windows based machines. And all good cloud-based computing resources, obviously, are Linux based.
This necessitates usage of command line to interact with the remote server. For example, Amazon’s EC2 is probably the most famous one out there. Their server instances don’t have any UI component. The only way to interact is through command line. And so, with the help of some beginners video guide and a bunch of helpful stackoverflow posts, I’ve been learning how to do it.
My approach has been to learn the commands as and when needed. This contrasts with the approach to learn all the commands and figuring out a use case to use them. So, I first started out with knowing about ssh and then connecting to the remote server using ssh. The next thing I learnt was to download files (using wget). Yesterday, I successfully used scp to download files from the remote server to the local system.
It might take me a while to figure out a whole lot of commands, I figured out that it is easier to learn only those things I immediately need. This way, there’s motivation to keep doing the things I currently am doing and also seeing the visible progress, there’s more motivation to go and learn incremental stuff every now and then.
I learnt R too the same way. I forced myself to learn Python the hard way – learning its syntax and commands, but with no usage point-of-view. And so, I’ve hardly been able to embrace Python. I should start doing that to Python.
I am going to attend PyData at Strata next month. And one thing I want to learn before I go there is enough Python so that I can pick up what’s being told.