Honestly shocked ethics aren't discussed more as the "missing semester," too many devs are completely fine working for truly evil companies.
The Missing Semester of Your CS Education – Revised for 2026
61–70 of 139 posts
Re: The Missing Semester of Your CS Education – Revised for 2026
#62Great to see a chapter on version control. It is such a shame that almost no CS program teaches proper version control. VCSs and the commit history can be such a tremendously valuable tool when used correctly. git bisect/blame/revert/rebase/… become so much less useful when VC is treated as a chore and afterthought, and basically amounts to: “Feature is done, my work is complete, just do `git commit -am "changes"` an…
It seems most people learn git only through necessity. I've heard people say "I just want to code, I don't care about the peripherals". JIT learning is a good way to acquire capabilities with real-world application, but there is not JIT pull that forces people to learn about bisect, git objects, git logging, etc. These things can only be learnt either through setting off time to read documentation or by being taught…
Re: The Missing Semester of Your CS Education – Revised for 2026
#63Earlier quoted context omitted.
> If most people are not using a tool properly, it is not their fault; it is the tool's fault. This is a standard that we don't apply to most other tools outside of IT. I do think git could be more usable, but most powerful tools have sharp edges and require training. A bandsaw is a fantastic tool, but if you try to use one without reading about it first, you'll end up losing a finger. I'm not sure I'd blame the band…
Then again, the number of shop teachers missing a finger would give anybody pause. Blame is secondary to the fact that you just lost your fucking finger . Thankfully, git's sharp edges won't permanently physically maim you, though guts sharp edges resulting in you committing API keys GitHub can still hurt you, just in your wallet but at least you didn't lose a finger.
https://old.reddit.com/r/todayilearned/comments/158lp0m/comm...
>My high school shop teacher, before he let any of us near the machines or power tools, told us horror stories about students who lost fingers and eyes by being careless with them. For the entirety of that semester, nobody got so much as a chipped fingernail.
which is a better match for my experience --- the best advice I ever got was from my high school shop teacher:
>Before turning on the power switch, count to ten under your breath on all your fingers while visualizing all the forces involved and all the ways the operation could go wrong, then remind yourself that you want to be able to repeat that count after turning the power off.
I don't think Sawstop would have a business model if all tablesaw injuries were tried by a jury of such shop teachers (heard him scream at the kid who removed a guard through hearing protection all the way on the other side of the shop around a corner while operating a lathe while making a heavy interrupted roughing cut w/ a chisel I really should have paused to sharpen --- the student was banned from ever entering the shop again).
Re: The Missing Semester of Your CS Education – Revised for 2026
#64Re: The Missing Semester of Your CS Education – Revised for 2026
#65Honestly shocked ethics aren't discussed more as the "missing semester," too many devs are completely fine working for truly evil companies.
Re: The Missing Semester of Your CS Education – Revised for 2026
#66 101
- Bash for Beginners (https://tldp.org/LDP/Bash-Beginners-Guide/html/)
- Bash Tutorial (https://www.w3schools.com/bash/)
201
- Bash Programming (https://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html)
- Advanced Bash Scripting Guide (https://tldp.org/LDP/abs/html/)
301
- The Bash Manual (https://www.gnu.org/software/bash/manual/bash.html) (https://man7.org/linux/man-pages/man1/bash.1.html)
- ShellCheck (https://www.shellcheck.net/)
To find every Unix-y program and get a 1-line description of it (and referenced programs/functions), run: for i in $(ls /bin/* /usr/bin/* /sbin/* /usr/sbin/* | sed -E 's?.*/??g' | sort -u) ; do
echo "command: $i"
whatis "$(basename "$i")" | cat
echo ""
done | tee command-descriptions.log
View 'command-descriptions.log' with less command-descriptions.log, use arrow-keys and page up/down to navigate, and type 'q' to exit. To find out more about a program like df(1), run man 1 df.Re: The Missing Semester of Your CS Education – Revised for 2026
#67This is great but irrelevant in the age of ai.
Re: The Missing Semester of Your CS Education – Revised for 2026
#68Great to see a chapter on version control. It is such a shame that almost no CS program teaches proper version control. VCSs and the commit history can be such a tremendously valuable tool when used correctly. git bisect/blame/revert/rebase/… become so much less useful when VC is treated as a chore and afterthought, and basically amounts to: “Feature is done, my work is complete, just do `git commit -am "changes"` an…
Your workflow makes sense for FOSS projects, where the commit is the unit of work. In my experience, on most professional teams, the PR is the unit of work. PRs trigger CI/CD pipelines. PRs map to tickets. The meaningful commit goes with the squash merge to the shared dev/main branch. There are cases where I've staged commits this way for a PR, to make it more reviewable. I'd usually rather split them off into separa…
Re: The Missing Semester of Your CS Education – Revised for 2026
#69Earlier quoted context omitted.
> If most people are not using a tool properly, it is not their fault; it is the tool's fault. Replace tool with one of piano|guitar|etc and see your logic fall apart. Software tools like any other have a manual and require effort and time to learn.
modern instruments are actually improved designs of older instruments which were just that: badly-designed & hard to use