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…
There's no such thing as Linux programming without C. You will have to deal with it eventually regardless of how many wrappers Python etc. puts on top of it.
Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
71–80 of 114 posts
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#72I 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?
#73I 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…
Commit to using, breaking and fixing a Linux desktop to learn quickly. I learned a lot running Debian Unstable back back when men were men and unstable was really unstable; so the 2010s. If minor things are constantly going wrong and getting fixed then the only way that can happen is the user building up a good mental model of how the system works. An update that breaks X11 will teach you a world of information about…
Disagree. There's nothing worse than needing to use a machine, but you can't since it's broken because some package maintainer pushed a bad release upstream.
There will be plenty to fix and tweak on any standard desktop or laptop when you install Linux, especially Macs. Might as well use a distro and release channel that let's you get your work done.
IMO, the hours that I wasted learning how to fix XFree86 went to waste.
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#74I 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…
Ubuntu is good for a server. Using 2 different distros would be good to learn how not all Unixes/Linuxes are the same and how they might differ.
I would also add: Whatever programming language you learn, you're probably going to want to learn some auxiliary languages as well. Don't get stuck thinking you can do everything with one language. Learn JavaScript, SQL, HTML and CSS as well.
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#75Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#76I 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…
It is trendy to hate C now, but if you want to understand a Unix-like OS I think it is mandatory and they go hand in hand. Otherwise, you will have no idea what kind of interface your higher level language is abstracting. It's ok to not like it, but don't let that dislike be due to lack of understanding.
Besides that, libraries tend to be made in C as well. That's because if it's in C, it's easy to make it available for other languages. Most general purpose languages will have some type of "foreign function interface" to call on C code. That means that the main documentation for these libraries will be for C as well.
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#77I 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…
I agree you need to use it daily but disagree that an Ubuntu desktop provides any real insight. Here's some BASIC questions an ubuntu user might never encounter: Which processes are currently hogging the CPU? Which ports are currently open? How do you setup a remote git repo and/or add a user for limited ssh? How do you increase an existing swap part without locking the CPU during write at peak loads? How do you excl…
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#78I 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…
Learn to write good Python. After that, learning to write good C will be much faster and easier and far less frustrating. Ultimately, on Unix you end up at C for at least some things (Python is implemented it C, after all). But these days, you can kick the can pretty darn far down the road before needing C.
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#79I’m primarily a windows user and am programming to create products. Since I don’t work a programmer job, my learning is unstructured. Is bash the main benefit of learning something like Ubuntu? I have delayed making the switch because I have lot of things to learn (currently relearning math, testing out different deep learning architectures, and learning JavaScript (second language after Python)) and not sure if shou…
That's one advantage. The big advantage is that most enterprise web sites and webservices run either on a rented Linux server or on a Linux instance that's "serverless" (meaning it can run processes and access databases, but can't save stuff permanently to the filesystem). If you have familiarity with Linux, then that lends itself well to the work of troubleshooting the complications that come with that setup.
Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?
#80I 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…
learned so much about os stuff and kernel drivers, etc...
It was like diving in the deep end of a pool though.