This page links to 840 pages around the web with information on Artificial Intelligence
A quick and easy intro to writing device drivers for Linux like a true kernel developer!
My belief is that unit testing is for everyone and, in fact, I’ll go so far as to say that I believe becoming a test-driven developer is the single best change a programmer can make in their day to day routine.
Behaviour-Driven Development (BDD) is an evolution in the thinking behind TestDrivenDevelopment and AcceptanceTestDrivenPlanning.
It pulls together strands from TestDrivenDevelopment and DomainDrivenDesign into an integrated whole, making the relationship between these two powerful approaches to software development more evident.
345 links to free online books
This group is for posting and discussing solutions to exercises from SICP
Introspection reveals useful information about your program's objects. Python, a dynamic, object-oriented programming language, provides tremendous introspection support. This article showcases many of its capabilities, from the most basic forms of help to the more advanced forms of inquisition.
Metaprogramming -- programming with code generators or writing programs that themselves write code -- has numerous useful attributes, such as simplifying code maintenance and making it easier to craft boilerplate code. The first article of this series explained why metaprogramming is necessary, looked at some of the components of metaprogramming, showed how to build a code generator, and introduced language-sensitive macro programming.
One of the most under-used programming techniques is writing programs that generate programs or program parts. Learn why metaprogramming is necessary and look at some of the components of metaprogramming (textual macro languages, specialized code generators). See how to build a code generator and get a closer look at language-sensitive macro programming in Scheme