Hacker News new | ask | show | jobs
by iudqnolq 2376 days ago
I will, I hope, someday. I want to get an intermediate knowledge of Lisp, or C, or Rust first I think. I know a bit of Python, and think I'd prefer to learn something more different than it next. My impression is that Python is a less whimsical more enterprise-y and conformist sibling of ruby.
1 comments

My unsolicited advice: Don't worry too much about specific languages. The most valuable thing you can do is get a strong command of *nix and solve a lot of real-world problems with it. Make it your desktop OS and spend a lot of time with it. Build yourself a router. Make a RPi do something to improve your life. Take some cloud service you use and figure out if you could do it the libre way yourself. Build your own NAS. Bonus points if you learn vim or emacs while you're doing it.

Don't worry too much about the meta-narrative about the culture associated with each of the languages. The surveillance state is being built with python, but a lot of hardware hackers prefer python too. Ruby is praised for its flexibility, but its most successful project is literally called "Ruby on Rails" because it tells you exactly how to do everything.

The way people feel about languages goes in cycles, so it's good to be aware of it, but you can mostly ignore it. Use the best tools for the job. If the job is making computers do things, the best tool is unix :)

Thank you for the advice. I'm trying two now: Ubuntu for my daily driver, Emacs (with spacemacs to simplify config for now) for most writing.

I bought an rpi, but could never figure out something to do with it. Any suggestions?

My feeling with languages is that they may go in cycles but it'd be useful to learn either something with a completely different conceptual model (Lisp) or requiring me to understand pointers. But I'd been thinking about trying to lean Unix instead lately.

I feel like I'm pointing a flashlight around a cave with Linux systems. Any advise for some systemic learning? My cs curriculum won't cover anything that applied.

> Thank you for the advice. I'm trying two now: Ubuntu for my daily driver, Emacs (with spacemacs to simplify config for now) for most writing.

If you don't know either of them yet, I'd suggest vim ;)

> I bought an rpi, but could never figure out something to do with it. Any suggestions?

Pi-hole is a super popular project, maybe give that a try.

> or requiring me to understand pointers

Maybe learn to do some old-school stack smashing? https://insecure.org/stf/smashstack.html

There are a bunch of CTFs out there you can play with that help build skills.

> I feel like I'm pointing a flashlight around a cave with Linux systems. Any advise for some systemic learning?

Sounds like you're on the right path :)

Maybe try doing http://www.linuxfromscratch.org/lfs/read.html if you really want a deep understanding of how Linux works.

Also, just browsing the Linux documentation is useful: https://www.kernel.org/doc/html/latest/

I have a few years muscle memory with basic vim. I'm not the most efficient yet, mostly limited to hjkl, :wq, and %s//, but I know enough to edit a file on a remote system in vi and I think that's close to all I need. I use evil in emacs because I hate and don't want to learn vimscript, and because I like the concept of literate programming in org mode and want to learn it (recently tried literate programming hacky wifi config setup, found it reduced repetition and confusion).

I'll take a look at your links, but I don't think RTFMing will be super useful to me right now. I want to learn the kind of questions I should be asking. For example, I recently heard the words "selinux" and "apparmour". Now that I know them I can Google around and eventually figure out how to use apparmour, but I'm more worried about what other gotchas I've never thought of. Any advise for something less comprehensive than the docs, with more of a focus on what works nowadays?

Thank you!

I didn't mean RTFM exactly, what I mean is that if you're curious about how SELinux fits into the system, check where it is in the docs: https://www.kernel.org/doc/html/latest/admin-guide/LSM/index...

You can see that both AppArmor and SELinux are part of the "Linux Security Module" framework.

If you know what's in the table of contents on the left, particularly "The Linux kernel user’s and administrator’s guide", you'll have a pretty good idea of how Linux hangs together: https://www.kernel.org/doc/html/latest/admin-guide/index.htm...

I'll have a look. Thanks for the pointers.