Free resources to learn various things

guides
Published

February 15, 2025

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

Linux Up Skill Challenge

  • 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

  • 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.

Terminus — A linux tutorial in the style of a text based rpg.

Linux Survival

https://ryanstutorials.net/linuxtutorial/

Linux — The Penguin Marches On (Libretexts)

Ubuntu’s Terminal Basics

Ansible

Het-Tanis Lab on Killercoda

Docker/Kubernetes/Containers

Play with Docker Classroom

  • 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

container.training

https://killercoda.com/

  • Interactive courses relating to a variety of topics, including Linux basics, Ansible, and Kubernetes. Requires login, although Github login can be used.

Troubleshooting servers

SadServers

  • Interactive troubleshooting of broken Linux servers.

Windows

Active Directory

Microsoft

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

The Rust Programming Language

Roguelike Tutorial in Rust

Rust playground — open ended web based playground for rust.

C

Wikiversity

Wikibooks

Python

Wikibooks Python Programming

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#

Wikibooks

Microsoft ­— Also seems to have some interactive resources in the form of modules

Java

Wikibooks

Powershell

Powershell 101 — and in general this is

Bash

Wikibooks

Low Level Operating System Programming

https://pages.cs.wisc.edu/~remzi/teaching/

https://pages.cs.wisc.edu/~remzi/OSTEP/

https://wiki.osdev.org/Expanded_Main_Page

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

How to help someone use a computer (1996)

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).

Missing Semester

Computer Science

Heffron’s Theory of Computation

Math

Project Euler — A set of CTF like challenges, but for mathmatics.

A Spiral Workbook for Discrete Mathematics (Kwong)

Calculus

Openstax (on Libretexts)

Wikibooks — Good, but doesn’t have root test, only ratio.

Paul’s Math Notes

Linear Algebra

Heffron

Libretexts (Kuttler)

Libretexts Denton, Cherney

Understanding Linear Algebra

Interactive Linear Algebra

Misc set

Computer Engineering

Nand2tetris

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

Expand/Collapse

https://www.isc2.org/

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://www.picoctf.org/

https://grow.google/intl/ALL_ca/certificates/cybersecurity/#?modal_active=none

https://exploit.education/protostar/

https://pwn.college/

  • 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.

https://www.cyber-fasttrack.org/

https://book.hacktricks.xyz/welcome/readme

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