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