Testing multithreaded code in Java

Testing multithreaded code is a tough challenge. The first advice that you get when trying to test concurrency is to isolate your concurrent concerns in the code as much as possible. This a general design advice but in this case it's even more important. Make...


Mouseless Programming

To be honest, I used to be quite a power mouse user. Looking back and trying to figure out why I got addicted, it probably happened when Microsoft released Word 6.0 with its twenty-some toolbars with thirty-some buttons in each toolbar. I didn't remember many...


Mouseless programming part II

Screencast - Mouseless Programming, Part II This is the second video of the Mouseless Programming screencast. A simple leap year kata is performed, using TDD process, File and Live templates, and some automatic refactoring tools. Only keyboard was used for programming in this video. This...


Property based testing

Background Craftsmanship in software strives for high, predictable, repeatable and affordable quality. This is the reason why we care about design, code reviews and of course testing. Test Driven Development helps us create a flexible implementation that meets the expectations of our clients in terms...


Mouseless programming

Screencast - Mouseless Programming, Part I This is the first video of the Mouseless Programming screencast. A simple leap year kata is performed, using TDD process, File and Live templates, and some automatic refactoring tools. Both mouse and keyboard were used in this video. This...


Changing Scalatra and sbt default directories

Conventions are not always good. I recently started a new internal web project at Codurance and I decided to use Scala. As I'm not a fan of big frameworks, I chose Scalatra as a micro web framework. The first challenge was that I wanted to...


My first couple of months at Codurance

Some background Some of you may know me from the various meetups in the city, especially my attendance at a number of LJC and LSCC meetup events. Attending these events I learnt about various conferences like Devoxx, SoCraTes, JAX London, Java2Days, OpenFest, and I ended...


Configuring an enterprise app sucks

There has been quite a lot of discussion over the last years about how configuration should be managed as code, be it software settings or infrastructure configuration: For infrastructure, all the cool kids now use Docker, Vagrant or some other tool that allows you to...


Tips for a friendly open source experience

Open source has moved from being an important actor in software development to being central for plenty of people, especially thanks to Github. Most of us are simple users of OSS (Open-source software) but being brave and taking a step forward and becoming a contributor,...


Time To Go

I'm writing that blog post I never thought I'd write. When I joined Codurance, I knew I was joining something special. I was right. Codurance is going from strength to strength, on the back of that most powerful of technologies: human beings with great willpower,...


Latest Tweets