Programming (General) - BKJackson/BKJackson_Wiki GitHub Wiki

Design Patterns & Refactoring
Clever Algorithms: Nature-Inspired Programming Recipes By Jason Brownlee PhD.
Google Careers Technical Development Guide Recommendations and Resources

Teach Yourself Programming in Ten Years By Peter Norvig.
See also, Peter Norvig's homepage.

OOP Alternatives

Consider using structs and protocols instead of classes. Every time I watch Dave Abrahams’ talk on this, I learn something new. Protocols can be used to handle situations that are difficult to solve with inheritance. Matthijs Hollemans writes, “Inheritance is often used as a mechanism for code reuse, but protocol extensions let you reuse code without forcing you into a superclass-subclass relationship.” (Source)

Object Relational Mapping (ORM)

ORM Wikipedia A programming technique for converting data between incompatible type systems in object-oriented programming languages.

Software Copyright

Creative Commons Creative Commons helps you legally share your knowledge and creativity.

General Programming Tutorials / Courses

Software Carpentry Lessons on Github Wide range of lessons.
Data Carpentry Lessons Many different lessons.
Software Carpentry Instructor Training

Fun Stuff

Graal & Truffle An obscure research project could radically accelerate innovation in programming language design