Dear Fedi friends,The normalization of "vibe coding" in certain environments is pushing me in the exact opposite direction
-
Dear Fedi friends,
The normalization of "vibe coding" in certain environments is pushing me in the exact opposite direction.
I, a normie (ok maybe a semi-technical person), would like to learn some basic computer programming*.
*** Update at 10pm ***
I’ve been offline for the past 6 hours and I checked my notifications before going to sleep: 71 new mentions
thank you for all your generous advice, I’ll respond one-by-one tomorrow morning. Good night!
️
****
I need some advice about where to start because I'm a little clueless in this regard. Maybe it will help to share my goals, so that you can tailor your advice:
1) I'd like to become much more proficient using CLI... so that one day for example I could migrate a #YunoHost app to a new server without breaking anything
2) I'd like to be able to confidently run remote backups with rsync
3) Security: I need to learn how to turn my VPS or Raspi into a fortress
4) Eventually I'd like to learn #FreeBSD
Where does one even start?
I'm based in Paris, France, speak French, English and Italian, but remote learning is preferable because my child is in school only 4 days a week and has 2-week holidays every 6 weeks of school (thanks to the French educational system, don't ask me).
I'm super motivated to learn all these things, I just don't know where to start.
*Edit: maybe I'm just dreaming of becoming a proficient sysadmin
#AskFedi #MySoCalledSudoLife #NoAI@elena@aseachange.com
man rsyncis the best doc you can find and it works for any command ! A more friendly interface is https://tldr.sh/
But indeed you're not looking for development skills (lot of devs don't know how to use Linux), more Ops/Linux skills. -
@MachineLordZero @elena given the areas of interest here i don't think i'm at all qualified to comment
though if she ever fancies trying her hand at gamedev, pico 8 is my recommendation
-
Dear Fedi friends,
The normalization of "vibe coding" in certain environments is pushing me in the exact opposite direction.
I, a normie (ok maybe a semi-technical person), would like to learn some basic computer programming*.
*** Update at 10pm ***
I’ve been offline for the past 6 hours and I checked my notifications before going to sleep: 71 new mentions
thank you for all your generous advice, I’ll respond one-by-one tomorrow morning. Good night!
️
****
I need some advice about where to start because I'm a little clueless in this regard. Maybe it will help to share my goals, so that you can tailor your advice:
1) I'd like to become much more proficient using CLI... so that one day for example I could migrate a #YunoHost app to a new server without breaking anything
2) I'd like to be able to confidently run remote backups with rsync
3) Security: I need to learn how to turn my VPS or Raspi into a fortress
4) Eventually I'd like to learn #FreeBSD
Where does one even start?
I'm based in Paris, France, speak French, English and Italian, but remote learning is preferable because my child is in school only 4 days a week and has 2-week holidays every 6 weeks of school (thanks to the French educational system, don't ask me).
I'm super motivated to learn all these things, I just don't know where to start.
*Edit: maybe I'm just dreaming of becoming a proficient sysadmin
#AskFedi #MySoCalledSudoLife #NoAI@elena@aseachange.com you can also find "bash cookbook: 2nd edition" from O'Reilly's edition as a pdf to download from the internet
-
Dear Fedi friends,
The normalization of "vibe coding" in certain environments is pushing me in the exact opposite direction.
I, a normie (ok maybe a semi-technical person), would like to learn some basic computer programming*.
*** Update at 10pm ***
I’ve been offline for the past 6 hours and I checked my notifications before going to sleep: 71 new mentions
thank you for all your generous advice, I’ll respond one-by-one tomorrow morning. Good night!
️
****
I need some advice about where to start because I'm a little clueless in this regard. Maybe it will help to share my goals, so that you can tailor your advice:
1) I'd like to become much more proficient using CLI... so that one day for example I could migrate a #YunoHost app to a new server without breaking anything
2) I'd like to be able to confidently run remote backups with rsync
3) Security: I need to learn how to turn my VPS or Raspi into a fortress
4) Eventually I'd like to learn #FreeBSD
Where does one even start?
I'm based in Paris, France, speak French, English and Italian, but remote learning is preferable because my child is in school only 4 days a week and has 2-week holidays every 6 weeks of school (thanks to the French educational system, don't ask me).
I'm super motivated to learn all these things, I just don't know where to start.
*Edit: maybe I'm just dreaming of becoming a proficient sysadmin
#AskFedi #MySoCalledSudoLife #NoAI@elena follow your heart
️
️ i am still learning sysadmin and, like a lot of comments suggest here, I learn by doing! I am mostly experienced in web dev tho.think of a small project that you would use in your life! start out simple and learn by doing! you will be motivated to make this thing because you will use it!
I also recommend checking out https://pangolin.net/
which is a super cool self-hosting solution that allows you to publicly host local resources on the public net securely! -
I'll throw in two additional resources:
- MIT's Missing Semester https://missing.csail.mit.edu/
- Learn Linux The Hard Way https://archive.is/AkjauOther than that, I always tell students to run their own services. Get a VPS, a domain, set up a web server, ... - that forces you to keep up to date and learn by doing.
And good for you to want to dive in when others seek shallow answers! :- )
-
tldr pages, https://tldr.sh , can be a good complement to man pages.
@skjeggtroll Nice - I hadn't come across that before. Bookmarked!
-
tldr pages, https://tldr.sh , can be a good complement to man pages.
-
Dear Fedi friends,
The normalization of "vibe coding" in certain environments is pushing me in the exact opposite direction.
I, a normie (ok maybe a semi-technical person), would like to learn some basic computer programming*.
*** Update at 10pm ***
I’ve been offline for the past 6 hours and I checked my notifications before going to sleep: 71 new mentions
thank you for all your generous advice, I’ll respond one-by-one tomorrow morning. Good night!
️
****
I need some advice about where to start because I'm a little clueless in this regard. Maybe it will help to share my goals, so that you can tailor your advice:
1) I'd like to become much more proficient using CLI... so that one day for example I could migrate a #YunoHost app to a new server without breaking anything
2) I'd like to be able to confidently run remote backups with rsync
3) Security: I need to learn how to turn my VPS or Raspi into a fortress
4) Eventually I'd like to learn #FreeBSD
Where does one even start?
I'm based in Paris, France, speak French, English and Italian, but remote learning is preferable because my child is in school only 4 days a week and has 2-week holidays every 6 weeks of school (thanks to the French educational system, don't ask me).
I'm super motivated to learn all these things, I just don't know where to start.
*Edit: maybe I'm just dreaming of becoming a proficient sysadmin
#AskFedi #MySoCalledSudoLife #NoAI@elena Hey there, here are some remote learning courses you may like:
-
@ottaross thanks! I have Ubuntu on my Raspi and I've been moving around in Terminal running commands for about a year... but it's mostly copy and paste.
Like I installed Ghost and Varnish Cache on my VPS and edited a lot of settings for it in Terminal... I just wish I could become more proficient in it, like rsync scares me a bit
-
Dear Fedi friends,
The normalization of "vibe coding" in certain environments is pushing me in the exact opposite direction.
I, a normie (ok maybe a semi-technical person), would like to learn some basic computer programming*.
*** Update at 10pm ***
I’ve been offline for the past 6 hours and I checked my notifications before going to sleep: 71 new mentions
thank you for all your generous advice, I’ll respond one-by-one tomorrow morning. Good night!
️
****
I need some advice about where to start because I'm a little clueless in this regard. Maybe it will help to share my goals, so that you can tailor your advice:
1) I'd like to become much more proficient using CLI... so that one day for example I could migrate a #YunoHost app to a new server without breaking anything
2) I'd like to be able to confidently run remote backups with rsync
3) Security: I need to learn how to turn my VPS or Raspi into a fortress
4) Eventually I'd like to learn #FreeBSD
Where does one even start?
I'm based in Paris, France, speak French, English and Italian, but remote learning is preferable because my child is in school only 4 days a week and has 2-week holidays every 6 weeks of school (thanks to the French educational system, don't ask me).
I'm super motivated to learn all these things, I just don't know where to start.
*Edit: maybe I'm just dreaming of becoming a proficient sysadmin
#AskFedi #MySoCalledSudoLife #NoAI@elena loooong ago before LLM booming I started with collecting small oneliners to master new skills it might be still useful https://github.com/Hellseher/cix
-
@elena@aseachange.com The usefulness for your use case may be limited, but the Archlinux wiki has some pretty good coverage on running a Linux system with some depth into CLI and text configs. It is operating under the assumption that you're running specifically Arch, thus specifically Linux, but some of the advice is likely at least related to other similar systems.
Also, a command and concept you'd likely want to get familiar with ismanand man pages. In a linux terminal (and probably other unix ones) typingman <command>can give you some documentation on a given command's uses. And you can also look up those "man pages" on the internet (see: https://linux.die.net/man).
Some pages are better than others, but hopefully this could help you learn a bit about some of the tools you're gonna use.I was going to suggest manual pages and manuals myself, because that was my own learning path, but since you beat me to it, I'll second it.
@elena@aseachange.com, it's also important to set out to use the CLI. one important thing to have in mind is that while it's suited for very efficient use, it's not exactly suited for discoverability, in that it doesn't have offer menus for you to pick from, you sort of have to know what you're looking for to even know which manual to read.
though there are clusters of commands that are often available together, such as the shell builtins, and the commands in GNU coreutils and the likes, there will be plenty of variation across systems depending on distro defaults, package selections and whatnot.
so don't worry about mastering everything (it's a neverending task), and focus on learning about the tools you find yourself wanting to use at first (you mentioned rsync; it has a very decent manual); you may also want to skim the GNU bash manual page, particularly the builtin commands, and the GNU coreutils manual (whether info, pdf, or html). There is plenty of stuff that probably won't click at first, but you'll most certainly also find things that you will be able to experiment with to start building your knowledge about how to use command shells, how to compound commands with pipelines, and soon you'll be writing scripts to automate tasks and wishing you'd learned this stuff sooner
when you get to FreeBSD, you may find that some of the details will be different, but the acquired knowledge will be useful there too
have a joyous and useful journey!
-
@joel Thank you Joel! Indeed I had edited my message yesterday to say that I probably dreamed of becoming a proficient sysadmin... who can understand some basic programming...
-
@elena If you're TRULY new to the CLI then you could always start with Veronica Explains Li'l Linux Lessons
She's also on PeerTube at @vkc but not all the lessons are migrated over. (A good follow for upcoming videos, though.)
https://www.youtube.com/watch?v=uL7KvRskeog&list=PLjie1qS4xnWhsfRJ5nWL_6S7I-kKf49bf
@mausmalone @vkc oooh I know Veronica and I've already learned so much from her excellent videos. I suppose I should have clarified in my message that I have one year of experience managing two servers... but I'd like to become a more knowledgeable sysadmin that can do some basic coding...
-
@elena Oh! I meant to say, an advantage of starting with Scratch is that you can learn it with your child!
@jonathanhogg yes! I would love to! Looking into Scratch now
-
@elena Sounds like you're well on your way. A little effort to at least skim the man page for the commands you use, or finding a readable explanation for the commands will set you up well. Maybe a paper notebook to write down what you learn. (The effort of handwriting makes it stick in your head better.)
CLI knowledge is a spectrum - nobody knows every corner, it's just a case of gradually increasing your repertoire.

@ottaross thanks! I typically save my favorite commands in a document so I can copy and paste them
-
CLI is basically just a way to do things, it’s something you’ll learn by usage. CLI makes it easy to automate things: someone proficient with CLI will often create small (or big) shell script to automate or facilitate daily tasks.
You can think of CLI as being a one-line shell script.
May be start with what you want / need to do, and try from the CLI.rsync can be tested on small directories, just to make sure you got it right before creating a full backup. Being able to use it with the confidence and reliability you need from a backup process is a different story and needs some shell script competences.
I have some rsync backup scripts that I can share.It’s the most ambitious item on your list. You might want to start with some core principles:
- stay up to date
- read the documentation
- defend with layers (firewall, ACLs, service config, isolation, least privilege, etc.)
You’ll get tons of info from some of those guides: https://messervices.cyber.gouv.fr/catalogue/#guides
If you have many nights to spare, you can also look at https://www.cisecurity.org/cis-benchmarks Those documents are quite exhaustive but even if you don’t apply their recommendations, it’s filed with knowledge.
FreeBSD has a great handbook (HTML / PDF) https://docs.freebsd.org/en/books/handbook/ even though you might want to disregard everything about GUI (X11, Xorg, Wayland…).
@patpro thank you for all the great advice and resources!
-
@elena@aseachange.com I am not fit to assess its difficulty in general. It certainly requires more tinkering than other distros, that's true. Or at least it did for a while.
Unless you wanna challenge yourself, I wouldn't recommend it as your first distro. It's certainly doable, but might be a bit steep depending on one's approach and current skills. Though setting up an Arch PC at some point in your learning journey might be a neat exercise.
What I wanted to say is that its wiki is quite extensive and some of the explanations there can prove to be at least useful starting points for other similar systems, as many of the underlying tools are quite similar between linux distros. Not sure about FreeBSD, but there's probably some similarity.@flesh I'm probably gonna save the arch linux experiment to my year 2 or 3 after learning basics
-
@elena I'd suggest taking Harvard's CS50 as your first step. It's excellent, free, and online. It won't just teach you a language, it'll teach you the *how* of programming.
@jcnotwit thank you! Will definitely do this either before or after MIT's missing semester
-
Ruby on Rails is not really the hot language it was 20 years ago, but Michael Hartl's Ruby on Rails tutorial, available online, is a very good tutorial for learning to code.
If you are completely new, Learn to Program by Chris Pine is a good start.
No Starch Press has good books on the Linux CLI and on Bash Scripts
https://www.learnenough.com/ruby-on-rails-8th-edition-tutorial/beginning
@SeanPLynch thank you Sean!
-
@elena@aseachange.com you can also find "bash cookbook: 2nd edition" from O'Reilly's edition as a pdf to download from the internet
@nathan ooooh great to know, thank you!