Free resources to learn various things
My browser bookmarks bar is massive. I basically bookmark anything interesting I come across, and now I have a lot of resources accumulated, and I think it’s worth it to write them down, although formatting is still a work in progress.
I have a heavy preference for Free and Open Source resources, because I believe that things like wikibooks will be much more resilient in the long run, and stay up. I’ve seen similar lists of learning, and it is frustrating when I’m no longer able to buy or view one of the textbooks on the list.
I also like resources maintained by some kind of organization, either the official organzition behind the software (think Microsoft and powershell), or a nonprofit, (Overthewire), because again, I think they will be more resilient in the long run.
Linux
- This is definitely one of my favorites. They mention that they don’t have a free server for people to work with. However, many of the cloud providers offer 1 year’s worth of credit’s for a free server. Most notably, Oracle has an always free tier, which offers a very small server. I recommend this, because you don’t have to give up your credit/debit card information (dealing with cloud provider pricing can be… difficult), although Oracle has been known to randomly delete people on the “Truly Free” (no credit card) tier, to make room for paying customers.
- OverTheWire Bandit is a bit different from the other resources on this list. When I first used it, both personally and as a teaching tool, I was frustrated, because some of the commands it makes you use, will probably never show up in a real world usecase. I was frustrated with it’s “trickyness”, but I now realize the point of overthewire isn’t to teach commands, but to teach reading the manual. The answer to every challenge they give can be found in manpages, the built in Linux documentation.
Linux Professional Institute Free resources
- The free books they give out for the LPIC-1 and LPIC-2 exam are some of the best books I’ve seen in terms of teaching Linux.
Linux Foundation Free Training
- Their Intro to Linux seems to be good
- https://www.cncf.io/training/courses/?_sfm_lf_course_free=1
Terminus — A linux tutorial in the style of a text based rpg.
https://ryanstutorials.net/linuxtutorial/
Linux — The Penguin Marches On (Libretexts)
Ansible
Docker/Kubernetes/Containers
- There is also the lab where you can just play in an unstructured environment
Play with Kubernetes Classroom
- There is also the lab, an unstructured environemnt to play
- The “Getting started with Kubernetes and container orchestration” is one of the better resources I’ve seen on Kubernetes concepts.
- Interactive courses relating to a variety of topics, including Linux basics, Ansible, and Kubernetes. Requires login, although Github login can be used.
Troubleshooting servers
- Interactive troubleshooting of broken Linux servers.
Windows
Active Directory
Adsecurity (List of resources)
Devops
https://learnk8s.io/troubleshooting-deployments https://wellarchitectedlabs.com/security/
https://nubenetes.com/ https://sre.google/sre-book/table-of-contents/
Programming
Rust
Rust playground — open ended web based playground for rust.
C
Python
Automate the Boring Stuff with Python — Practical guide which focuses on automating mundane tasks like web scraping.
Wikibooks Python for the Non Programmer — Similar to automate the boring stuff in python, it focuses on introducing python and programming to a non programmer.
C#
Microsoft — Also seems to have some interactive resources in the form of modules
Java
Powershell
Powershell 101 — and in general this is
Bash
Documentation (writing)
Divio Documentation System — More about differences between the types of documentation; there’s actually 4 types.
- I really like this one to explain the differences between the four types of documentation: tutorial, how-to, reference, and explanation.
Software Technical Writings — A guidebook (pdf) — nitty gritty technical writing details.
Teaching
Git
https://shafiul.github.io/gitbook/index.html
- Data structure oriented guide to git. It starts at explaining what an object is, rather than how the command line works. I like this guide of git more than many other guides I’ve seen, although it’s still missing things (yes, git does a snapshot of the repo’s state at every point, as seperate objects, but it deduplicates data between those objects).
https://learngitbranching.js.org/ — Interactive, browser based game to learn git
https://ohmygit.org/ — Computer game to learn git
Computer Science
Heffron’s Theory of Computation
Data Structures
Low Level Operating System Programming
https://pages.cs.wisc.edu/~remzi/teaching/
Architecture and Assembly
Math
Project Euler — A set of CTF like challenges, but for mathmatics.
A Spiral Workbook for Discrete Mathematics (Kwong)
Calculus
Wikibooks — Good, but doesn’t have root test, only ratio.
Linear Algebra
Discrete Structures/Mathmatics
Computer Engineering
College Courses or Equivalent:
- https://github.com/ossu/computer-science
- https://github.com/ForrestKnight/open-source-cs
Nix
Expand/Collapse
https://github.com/justinwoo/nix-shorts/
https://nix.ug/
https://teu5us.github.io/nix-lib.html#nix-builtin-functions
https://nixos.org/manual/nix/stable/language/operators.html#has-attribute
https://book.divnix.com/
https://ianthehenry.com/posts/how-to-learn-nix/
https://noogle.dev/
https://nix-community.github.io/awesome-nix/#learning
https://www.youtube.com/@jonringer117
https://summer.nixos.org/
https://nix.camp/
https://nixlang.wiki/
Below is stuff I don’t like as much:
https://zero-to-nix.com/
https://nix.dev/
https://nixos.wiki/
https://nixos.org/guides/nix-pills/
Hacking
https://github.com/Adamkadaban/CTFs — Mega list of CTF’s and the like to get started.
https://www.vulnhub.com/entry/kioptrix-level-1-1,22/ — Intro box to Vulnhub. In general, that site has many vulnerable virtual machines for learning penetration testing.
Expand/Collapse
https://overthewire.org/wargames/
https://www.cyberstartamerica.org/
http://ctfs.github.io/resources/topics/web/http/README.html
https://hackgame.chaurocks.com/level6
https://www.sandiego.gov/cyber-lab
https://grow.google/intl/ALL_ca/certificates/cybersecurity/#?modal_active=none
https://exploit.education/protostar/
- This is the site for many cybersecurity courses at Arizona State University. They also have an associated twitch stream, where they stream classes as they happen.
Cryptography
Expand/Collapse
https://gotchas.salusa.dev/GettingStarted.html https://soatok.blog/2020/06/10/how-to-learn-cryptography-as-a-programmer/ https://cryptopals.com/ https://cryptohack.org/ https://www.youtube.com/watch?v=iqSMRO78UD0&list=PLUl4u3cNGP61EZllk7zwgvPbI4kbnKhWz
Chess
Lichess — an open source, chess website with many resources to learn chess such as puzzles that guide you through the basics or “studies” that guide openenings.
Blindfold tactics — Very, very good for practicing calculation.