In order to get started with learning computing, you'll want a primer on how to use Linux. So, first take a look at linux-basics.md
if you haven't already, you'll need to know what's in there before reading anything else.
Here is a collection of wiki entries regarding data structures:
Wiki Entry | Usage Case |
---|---|
hashmaps.md |
NOTE: TODO |
heaps.md |
When you want to add elements to a datastructure quickly, and you want to efficiently peek and remove the "smallest" element out of the data structure |
bbst.md |
NOTE: TODO |
For using Linux at a more advanced level, you'll need a deeper understanding of how it works. This includes an explanation of what Linux does, and it also includes a full description of what bash can do.
Wiki Entry | Usage Case |
---|---|
linux.md |
Explains everything you need to know about the Linux Kernel |
bash.md |
Explains the full usage send semantics of bash |
Here is a collection of the wiki entries that will help one learn how to create and host their own website:
Wiki Entry | Usage Case |
---|---|
apache.md |
Used for learning how to host static HTML/CSS/JS files. (NOTE: Deprecated in favor of NodeJS and other modern backends with built-in static file support) |
nodejs.md |
NOTE: TODO (Used for learning how to setup a NodeJS backend, with static file serving and optional Typescript) |
mysql.md |
Learning how to setup a MySQL instance, and send commands to create and modify the MySQL database |
For learning how a computer works on a CPU-instruction-by-CPU-instruction hardware-level basis, you can use the following wiki entries:
Wiki Entry | Usage Case |
---|---|
operating-systems.md |
NOTE: TODO |
filesystems.md |
Explains the details of the ext4 filesystem |
optimizing-compilers.md |
Will explain how a compiler can take your C code, and optimize it to go 3-10x faster than what those lines of C directly translate to in assembly |