9 ms·
I took a Unix half credit course randomly where you basically did bash scripting, a huge bunch of command line tools and then eventually use all that to build y
by xzel 7y ago
I took a Unix half credit course randomly where you basically did bash scripting, a huge bunch of command line tools and then eventually use all that to build your own linux distribution. I swear I learned more in the half credit class, and way more if you try to count it as useful information, than 90% of my other CS courses.
Edit: And since this got some traction, here is the current version of the class: https://www.cis.upenn.edu/~cis191/ https://www.cis.upenn.edu/~cis191/ it looks pretty similar to what I took but they added a little bit of Python.
- kbenson 7y agoGoing through Linux From Scratch[1] manually and reading each component, while allowing yourself the time to look into interesting bits of each, is essentially this. I did it back in the early 2000's, and view it as one of the most useful educations I've ever gotten on how a Unix-like system functions (even if a lot of the knowledge is somewhat obsoleted now for many Linux distros with the introduction of systemd). I was doing it as research for how to ship a custom distro for a small purpose-built device, and while that never panned out, I've never once regretted spending the time to go through the process. 1: http://www.linuxfromscratch.org/ http://www.linuxfromscratch.org/
- HPsquared 7y agoThis - it methodically takes you through all the little details inside the system that are usually taken for granted and hugely improved my confidence working with Linux. It also taught me a lot of what's in this class (e.g. editors, shell scripting, even a fair bit of troubleshooting)
- kevstev 7y agoI never successfully made it through LFS, maybe this is the year :)
- aquaticsunset 7y agoWe had a very similar course at Penn State, as well. It's among three courses that I learned the absolute most from, and have had a huge amount of applicability to my life and career. https://bulletins.psu.edu/search/?P=CMPSC%20311 https://bulletins.psu.edu/search/?P=CMPSC%20311
- commandersaki 7y agoI did a similar Unix course. It was on quarter based system so it only lasted 3 months. We learned Unix from first principles. There were programming assignments that started off as shell scripts. We wrote manpages for our shell scripts. Then we learned C with the expectation you figure out the hard parts really really quickly (we were a Java school). We implemented various different C and Unix programs. We even reimplemented some of our shell scripts. We implemented a custom version of ls(1) with built-in sorting features. In the last 3 weeks we built a full-blown Bourne shell in C including background jobs, shell/environment variables, pipelines, i/o redirection, lex/yacc parsing, etc. A lot of the features were extra credit (e.g. single pipeline a | b, versus infinite pipeline a | b | ...). The class is unforgettable in my mind. I now mentally parse everything I do in the shell and imagine system call tracing every program I run.
- abhisuri97 7y agoNice to see some Penn alum on HN :)
- awbraunstein 7y agoI took this class as well and agree that it was the most useful course I took at Penn. I still use all of the things that I learned in this class every day (especially emacs). Luckily, I took it early in school and it made subsequent classes so much easier. Thank you Perry Metzger!
- hatmatrix 7y agoHe recently had a really interesting talk called Emacs: The Editor for the Next Forty Years [1] [1] https://youtu.be/KYcY7CcS7nc https://youtu.be/KYcY7CcS7nc