Always write acceptance test first
black-box acceptance tests provide a user viewpoint and stability amidst changing requirements. The secret sauce? Write tests before implementation for optimal reliability.
Thou shalt not mock
Mocking frameworks like Mockito are considered harmful, by myself 😉. This is a concise presentation that just barely touches the subject at hand.
Conquering recursion one step at a time
Recursive data structures are everywhere and need to be processed. Operations on these structures are recursive and can not be reused on other data structures.