July 02, 2020

#Books

A collection of (free) web books, guides, and references by category that I've found over the years. Suggestions welcome.

#General Programming

  • Learn X in Y Minutes
    • A collection of "tours" for every popular programming language. Intended for those with programming experience to quickly learn new languages.
  • Crafting Interpreters
    • A book on designing your own language interpreter. By Robert Nystrom, creator of programming languages such as Wren, Finch, and Magpie.
  • Structure and Interpretation of Computer Programs
  • Nature of Code
    • "This book focuses on a range of programming strategies and techniques behind computer simulations of natural systems, from elementary concepts in mathematics and physics to more advanced algorithms that enable sophisticated visual results."

#C/C++

  • Build Your Own Lisp
    • "If you're looking to learn C, or you've ever wondered how to build your own programming language, this is the book for you."
  • Build Your Own Text Editor
    • A walkthrough tutorial on how to build a text editor with C.
  • Beej's Guide to C Programming
    • "This is a rather comprehensive guide to C for folks who already know how to program in another language. The first half of the book is written in a tutorial style, while the second half is a reference section complete with examples (inspired by the incomparable Turbo C Bible). The goal is to keep this up-to-date with the latest C standards."
  • C++ By Example
    • "Here you will find clear and up to date C++ code examples with concise and straightforward explanations."

#Network Programming

#HTML/CSS

#JavaScript

#C#

  • Intro to C#
    • An introduction to programming using the C# language.
  • Tour of C#
    • A brief crash course on C# intended for those with some programming experience.

#PHP

#Python

  • Automate The Boring Stuff With Python
    • An excellent and pragmatic introduction to programming using Python 3. Perfect for beginners.
  • Python 101
    • A more general introduction to programming with Python. Good for beginners.
  • A Byte of Python
    • Another intro to programming using Python for those who know "how to save text files." Beginner-friendly.
  • Dive Into Python 3
    • As the title suggests, this is a deep dive into Python 3, highlighting differences from Python 2. Good reference.

#Rust

#Elixir

#Haskell

#ML

#Racket

  • Beautiful Racket
    • "An introduction to language-oriented programming using Racket."

#Game Development

  • Harvard CS50 Introduction to Game Development
    • A free course with lectures, slides, and source code on developing games using Love2D.
  • Game Programming Patterns
    • A collection of game development-related design patterns. By the great Robert Nystrom.
  • BYTEPATH
    • A book published as a series of Github issues. Guides the user in creating a game using Lua and Love2D, with plenty of exercises. Intended for those with programming experience.
  • How to LĂ–VE
    • A gentle introduction to programming and game development using Lua and the Love2D game library.

#Game Design

  • Riot Games Game Design Curriculum
    • "Riot Games’ Game Design Curriculum is an entry-level course that teaches high school students the fundamental elements of game design using a framework and interactive workshops created by our own game designers."

#Math

  • Calculus Made Easy
    • An accessible and pragmatic introduction to Calculus. Originally published in 1910 by Silvanus P. Thompson.

#Electrical Engineering

  • All About Circuits

    • "Starts from the very basic fundamentals of electricity, and builds up to quite complex circuits and their workings."
  • All About Electronic Circuits for Kids

    • Not a book, but a short introduction to Electronic Circuits for kids, along with a collection of useful links accessible to young learners.

#Literature

  • Standard E-Books

    • A collection of literature in the public domain, available in multiple formats, with standardized and readable typography.
  • Electronic Texts of H.P. Lovecraft

    • Collecton of HP Lovecraft writings. A browser plugin or feature to improve readability is recommended (e.g. Firefox Reader Mode).

#Cooking

  • The Wikimedia Cookbook
    • A collection of recipes from a number of nationalities and cultures. Editable open-content.

#Tech Interview Prep

#Misc.

  • Project Gutenberg
    • An online library of over 60,000 public domain books, ranging on topics from literature, to cookbooks, and history.
  • Wikibooks
    • As the title suggests, these are open-content wiki-like textbooks on a myriad of subjects.