This morning one of the Jenkins job went red, 5 tests were failing, and it was very difficult to find out which commit caused the break (69 commits were concerned), I used git bisect to run maven tests to find the guilty one. Here is a quick howto:

  • find a stable commit (in my case it was 2ea34cf09cc83804cdcc445476bfb597c617a034)
  • write a short script (myScript.sh) allowing you to run the tests:
#!/bin/sh
mvn -f path/to/my/pom.xml -Dtest=MyTestClass test
  • git bisect start HEAD 2ea34cf09cc83804cdcc445476bfb597c617a034
  • git bisect run ./myScript.sh

That's all, in a few runs (6 in my cases), git found out the commit causing the test failure, a simple git revert and tests were back to green !

Like many terminal geek, I have a bunch of dot rc files allowing me to configure my environment. While this is a very powerful way to setup an environment, it is painful to log in a machine and set it up like you are used to, you often discover too late your favorite alias is missing.

I found a nice way to manage this thing by browsing the github account of one of a man coming frequently to the Tours Java User Group meetings. It is commonly called dotfiles and can not be better named I found.

I forked the repository to customize it to my needs, it is now possible to define aliases and to configure the shell on a per machine basis. To install, you will only need ruby and rake (manual install is also possible by symlinking the files) :

  • cd; git clone git://github.com/CedricGatay/dotfiles.git .dotfiles
  • cd .dotfiles; rake install
  • logout and login, or source your .zshrc / .bashrc

Please notice that I am a zsh user, the bashrc file provided should work but it will surely need some fixes. There is no better way than digging into the source to understand and adjust it.

What's Trello ?

Trello is a really nice application to manage about everything you want. The GUI is really cool and simple to use, we are actually testing it in my company and we have a very good first feeling. If you want to discover more, don't hesitate to watch the presentation video and give it a try at Trello website.

Notification system

Trello provides a very nice notification system, instead of spamming you with mail everytimes something happens, it detects your activity on the site and sends you mail only when you're offline / idle. The only thing I miss is the hability to see if I have missed notification in my pinned tab. I remembered of a good userscript for GMail allowing to display the number of unread emails. As I have no experience in GreaseMonkey scripts, I used the previous one as a learning base and did a script allowing to see the number of missed notification (from 1 to 9, and displaying a + if it exceeds 9).
You can see it in action in the blog post picture next to GMail pinned tab in Chrome.

You can download it on userscripts or view the source on my github repository.

Developing for Android is really fun, as you have probably noticed if you want to have a wide user base you will have to give your application for free on the Android Market. From there, you have different way to monetize your application, you can limit features and unlock them in a payed version, display ads in free version and provide a way to disable ads (in-app purchase for example). In this article I will explain how to detect ad blocking in your applications.