Blogs
- Red Blob Games by Amit Patel: visual explanations of various algorithms, in particular the A* algorithm
- Julia Evans: in-depth exploration of computer stuff
- Random ASCII by Bruce Dawson, in particular his articles on floating points from 2012 and 2013
- Data Genetics by Nick Berry: math puzzles, in particular:
- Distributing passwords on Shamir’s Secret Sharing
- Impossible Escape?
- 100 Prisoners Escape Puzzle
- Bartosz Ciechanowski: in-depth technical explanations of non-computer stuff
- rachelbythebay: comments and opinions
- danluu: comments and opinions
- Gwern: random topics
Discussions
An effective way to glean unusual information, collect anecdata and get a general feeling of how things work with a particular topic, is to read the top discussions of a few forums, such as Reddit or Hacker News. Reddit is a huge platform with many topics, so you must identify the relevant subreddits. Stack Overflow is more structured but you can still find nuggets of arcane knowledge.
- Hacker News (here, C++)
- Top questions by tag on Stack Overflow (here, C++)
- /r/programming
- /r/ProgrammerTIL
Books
I do not rely on books that much, but I remember the Cormen foundly for how he got me up to speed for the most common algorithms and data structures.
- Introduction to Algorithms by Cormen et al.
Specific Articles
- A trip through the Graphics Pipeline
- Simple Top-Down Parsing in Python (simple parsers)
- What every programmer should know about memory
- What Every Computer Scientist Should Know About Floating-Point Arithmetic
- Latency numbers every programmer should know (see also https://gist.github.com/jboner/2841832)
- The Evolution of Trust (game theory)
- How to Remember Anything Forever-ish (spaced memorization)
Programming Challenges
Practice makes perfect and programming challenges are more effective than personal projects at pushing you out of your comfort zone. Of course, personal projects are much better to learn how to build an actual project.
- CodinGame: algorithmic challenges, bot contests, code golfs, and bouts of speed
- AdventOfCode: algorithmic challenges in an Advent Calendar
- CodingBat
- The Cryptopals Crypto Challenges: cryptography-oriented, a.k.a. Matasano challenges
- Project Euler: number-theory-oriented
- LCS35: simple puzzle initially planned to take 35 years of time to solve, takes about 4 on modern computers, mostly about how to design a software to be resilient to failure
Others
- The Infinitely Profitable Program: a funny story
- We Use BobX: a scary story
- C standard
- C++ standard
- More versions
- PoC||GTFO
- Documentation of the Python standard library
- C++ Frequently Questioned Answers
Fiction
Some short stories that made an impression on me.
- …And I Show You How Deep The Rabbit Hole Goes by Scott Alexander
- It Was You Who Made My Blue Eyes Blue by Scott Alexander
- The Fable of the Dragon-Tyrant by Nick Bostrom (video version by CGP Grey)
- The Last Question by Isaac Asimov
- The Egg by Andy Weir (video version by Kurzgesagt)
Video Games
- TIS-100: program with several chips
- Turing Complete: build a computer from the NAND gate (see also NandGame)
- Shenzen I/O: feels like work
- Universal Paperclips
- A Dark Room
- Kerbal Space Program: build rockets and learn orbital mechanics
- Portal
- Portal 2