Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
There is a huge amount of existing tools and ideas which modern software is built on. You would do well to dig deeper into some of these.
- Writing an OS in baby steps - explains the basics of operating systems.
- An intro to modern OpenGL - This explains how modern 3d graphics work
- Intro to digital video
- A visual guide to version control, Why you should use rebase - Source code management (aka version control) is the highly necessary process of tracking changes to a codebase over time
- The SQL Zoo - SQL the language used for interacting with databases. Databases are actually way cooler than you might think, and really fucking useful
- How to fake a database design - Basics of designing a sane database schema
- How linkers work - strongly recommended reading. (Try incrementing the URL to find the rest of the guide.)
- How to implement a programming language, the modern way - Implementing Haskell in LLVM, details how to create a frontend to a new language in a compiler. Highly important stuff to know about, even if you aren't planning on doing so yourself.
- Data science and machine learning resources - Info on various data analysis topics
- An example of a well-constructed C library - How to properly distribute a C library.
- The architecture of open source applications - See how lots of different large programs are structured, with lots of commentary. Highly illuminating.
- Perl/C mechanics - One of the most interesting bits of documentation I've ever read. Explains in concrete details how C and Perl work together. Very much worth reading even if you don't care about Perl.
- Node.js background
- Dependency injecetion
- Linux From scratch - How to create a usable linux-based system
- Booting linux on EFI - How a modern linux system boots up
- Intel ABI - Documentation on how low-level machine code modules interact with each other and the operating system, in the absence of any higher-level structures or protocols. Extremely complete at the expense of conciseness or being very pleasant to read, but you ought to skim the sections that make sense to you. Great info, actually explains what is going on, will familiarize you with how to read disassembly.
- Calling conventions - How functions are called and organized on different platforms and compilers
- Sysenter Internals - System calls on Windows
- Networking course
- Machine learning lectures - Carnegie Mellon course on machine learning, very enlightening and useful.