Category Archives: Programming

TDD: Listen to the tests… they tell smells in your code!

These days, reading the Goos book, by Steve Freeman and Nat Pryce, it reminded me of a project I worked on a while ago. It was a one year old system, poorly tested, integrating to a handful of other systems, and the code-base… well I prefer not to remember. Despite this scenario, I joined the [...]

Hamcrest: Improving Reducer Implementations

In the beginning of the year I posted about the ways you can use Hamcrest out of test code, together with hamcrest-collections. This combination allows us to write different kinds of matchers to select and reject items from lists, as well as applying map and reduce to them. After a while making use of them [...]

Hamcrest Out Of Test Code!

It’s been a while since I read some interesting posts showing creative uses of Hamcrest library out of test code. Since then I’ve been proscrastinating to implement my own version, trying strongly typed java delegates. Thankfully this week I came across a nice API called hamcrest-collections. It uses Hamcrest to implement features such as select, [...]

Clojure: Integrating With Java

Currently I am learning Clojure. It is a functional programming language, but not a pure one, since you can both write code that share state (mutable) and also ones that doesn’t. Why Clojure? The main reason why I chose Clojure is its easy interoperability with Java, still one of the most used languages, bringing to [...]

Ping Pong Pairing: Even More Fun!

The agile software development practice I like the most, and at the same time, the one I find the most difficult is pair programming. Each individual has his/her own way of working, and characteristics such as motivation, engagement, habits, open-mindedness, and coding/design style varies a lot from individuals. Sometimes, to get a balance between these [...]

Spring MVC, almost there!

One of the things I really like about Spring 2.5 is the new set of annotations for defining controllers. Now you don’t have to extend any superclass to turn your class into a controller, just add the @Controller annotation on the top of the class definition and that’s it, you got one (still have to [...]

Common Lisp, Erlang and Emacs (Leopard)

This useful post from my friend Renato Lucindo is for those interested in start playing with Erlang. It helps you to set up your development environment, for MacOS, showing how to install it using MacPorts and how to set up Emacs. * It’s in portuguese!

Subversion command reference

This post is more to keep in a single place reference to useful subversion commands, for future development. Anyone who has a command can comment this post, so I can add it here. List all your local files that hasn’t been added to the repository yet. vn st | grep ? Add all your local [...]