I've got one example for the shell scripting section - a script I wrote decades ago called serial_killer.sh that's used to terminate "bad" processes that spin up tens to hundreds of copies of themselves. You do something like serial_killer.sh my-bad-program and it will use a few CLI commands to find the PIDs for all processes named "my-bad-program", ask you to input the signal (sigterm/sigkill) to use, ask you for confirmation that you want to send that signal to the list of processes (listing all of them with program name, owner, PID, PPID, etc), then kill all of them in one go if you confirm.
That was a hacky fix to a bad approach/configuration, but it was a fun script : )
Yes - I'm planning to walk them through a real install to a VM and have them follow along so they have a local instance that they can play with on their (win or mac) system. It requires me to spend a little extra time for setting up VirtualBox, but I think it's worth it since they can then play along and experiment as we discuss each topic. I know that's how I learn best - you can tell me something multiple times but it's only when I truly do it that it'll stick in my memory forever.
Covering the intro, history, etc would be perfect topics to go over while the install runs.
EDIT : I should point out that I'm going to distribute thumb drives to the students that will contain VirtualBox (win+mac) installers, a Linux ISO that we'll use (probably Ubuntu), as well as that thumb drive being a live Linux bootable drive in case they ever want to plug & boot without using a VM. This will hopefully cut down on wasted class time for "now everybody go download this 4GB ISO" - they'll already have it available and all in the same drive/directory/etc for every student. From past teaching experience, there's always at least one that doesn't come prepared with downloads and such no matter how much I harp on it... that and the ever present "I saved it somewhere and now I can't find it" š
Now I'm learning something. I've defaulted to using ifconfig for so many years I didn't even realize that ip and ss were around. I'll look into them, thanks for the pointers.
And yeah, good idea on file editing. Maybe I should move nano up to the essential category for basic editing and keep vim in the "extras" since it takes a little more training to use effectively, while providing a lot more functionality if you know how to take advantage of it : D
This is a great answer. Bumping it as someone who got forced to move into Node/JS around 8 years ago and came to love it (after the ES2015 changes :). It's primarily what I work in and I teach community classes on it these days.
I've been dabbling in Go lately for lower level server side stuff and, while I don't dislike it, it's a big shift in thinking. There are a lot of niceties to the Go ecosystem.
It's been about twenty years since I last shaved but there's still a razor with a fresh blade in the cabinet. So... twenty years ish?
I was using a straight razor towards the end and, while I loved it, it's way more time consuming than a standard razor. Part of the reason I stopped shaving was laziness so I'm sure the straight razor hastened my transition into the wookie I am today.
It could differ based on social context. I gave it some thought, and with coworkers or people I don't know really well, I almost always lead with courtesies.
But, with my spouse of 25+ years I've realized I'll often say "can you do this..... Please?"
And, that kind of fits what I think you're saying. So, maybe it's because you're family and the pleasantries get dropped or delayed?
tldr omits the "why" so if you're not reading the article or not already aware :
Three military services are now without Senate-confirmed heads for the first time in history, as Sen. Tommy Tuberville (R-Ala.) holds up the confirmations of more than 300 senior military officers to protest the Pentagonās new abortion policy.
Excellent suggestions.
I've got one example for the shell scripting section - a script I wrote decades ago called
serial_killer.sh
that's used to terminate "bad" processes that spin up tens to hundreds of copies of themselves. You do something likeserial_killer.sh my-bad-program
and it will use a few CLI commands to find the PIDs for all processes named "my-bad-program", ask you to input the signal (sigterm/sigkill) to use, ask you for confirmation that you want to send that signal to the list of processes (listing all of them with program name, owner, PID, PPID, etc), then kill all of them in one go if you confirm.That was a hacky fix to a bad approach/configuration, but it was a fun script : )