I disagree with lots of advice here. My strategy to solidify my linux skills was simple: commit to linux desktop. We spend most of our time on our desktop, may as well let that time earn you skill points. I picked ubuntu and use the same on servers. You naturally learn a bit every day through daily use. This really adds up over time without extra effort of using a side system. Getting good at windows or osx is a wast…
> , (5) concise. That rules out C (due to 1) That's interesting, most people I've started on C have found it easier to start out in that than say, Java, which has been on a hell of a lot of introductory courses for a decade now
Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
101–110 of 114 posts
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#102I disagree with lots of advice here. My strategy to solidify my linux skills was simple: commit to linux desktop. We spend most of our time on our desktop, may as well let that time earn you skill points. I picked ubuntu and use the same on servers. You naturally learn a bit every day through daily use. This really adds up over time without extra effort of using a side system. Getting good at windows or osx is a wast…
Based on personal experience, I can totally echo this comment. I am a business undergrad (senior year), but I am a JavaScript developer for a local start-up. On my Windows laptop, my workflow included applications from MS Office, as well as PowerShell and Vim. At the beginning of this semester, my laptop broke (screen) and I couldn't afford a repair, so I dug up an old ThinkPad T430 that I installed Ubuntu on a coupl…
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#103I disagree with lots of advice here. My strategy to solidify my linux skills was simple: commit to linux desktop. We spend most of our time on our desktop, may as well let that time earn you skill points. I picked ubuntu and use the same on servers. You naturally learn a bit every day through daily use. This really adds up over time without extra effort of using a side system. Getting good at windows or osx is a wast…
That's how I learned; on a good ol'fashion gentoo box. learned so much about os stuff and kernel drivers, etc... It was like diving in the deep end of a pool though.
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#104I disagree with lots of advice here. My strategy to solidify my linux skills was simple: commit to linux desktop. We spend most of our time on our desktop, may as well let that time earn you skill points. I picked ubuntu and use the same on servers. You naturally learn a bit every day through daily use. This really adds up over time without extra effort of using a side system. Getting good at windows or osx is a wast…
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#105Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#106The automatic driver detection when you install it can be handy, the Arch repositories are easier to use and include the same software you would find on any other machine, and the Arch wiki still applies, allowing you to find information on any part of the system you have questions about.
In addition, I think Arch derivatives in general encourage a healthy reliance on the command-line, which is actually what you want to learn how to use.
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#107https://www.edx.org/course/unix-tools-data-software-and-prod...
More info about week 1: https://www.reddit.com/r/linux/comments/flmr8o/enjoying_the_...
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#108Earlier quoted context omitted.
Sure - the only benefit of a VM is that you can mess up the VM's filesystem without worrying about it too much.
Making terrible mistakes on real machines teaches you much more though (by sheer necessity if nothing else).
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#109Earlier quoted context omitted.
But at some point isn’t it helpful to know that some things are as difficult as you fear, and you just have to power through? I picked up vim early in my programming career and I think it was one of the best decisions I’ve made; I use it every day. Yeah, there’s a time and place for learning “easier” things, but there’s also a time to buckle down, get serious, and dig in.
i am a student and even using nano makes me feel less efficient and productive. is there something I am missing out by not using vim?
(Oddly enough, the default navigation used for the info pages is that of emacs.)
Someone's reading this itching to type that you can simply switch the default navigation for those yourself, which is true, but it's still helpful to know these if you have to hop on someone else's machine or ssh into a remote server.
Try one of these editors for at least a month after doing the basic built-in tutorial (e.g., vimtutor) and go through the tutorial every Sunday or so as needed to refresh your memory.
Or you could also use Anki to remember the shortcuts as you learn about them and use them.
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#110Download Ubuntu and run it as a virtual machine inside your current machine (use Google for instructions - it's fairly straightforward with a piece of software called virtualbox). That should stop you from running into hardware related compatibility issues. Get familiar with the interface and the concept of a "terminal". Then try do some simple stuff. Maybe set up nginx (or Apache) to run a web server that you can ac…
I’ll probably use my raspberry pi instead of installing a VM.
It's probably the best introduction to CS and programming online and teaches you the basics of the command line and C along the way.
Depending on the CS program, it's roughly equivalent of the first 1-3 semesters at a more average university, but the quality of the pedagogy is so high that it's very doable for anyone willing to put in the work.