My Favorites

Blogs

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.

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.

Specific Articles

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

Fiction

Some short stories that made an impression on me.

Video Games