Apple silently announced their future release of Mac OS X operating system to come this summer (2012). The pages on Apple website show the new features and claim this release is the missing bridge between the iPad and the Macs, I think it narrows the gap between their two OSes even more than they claim, I fear a completely bound to Application Store operating system requiring jailbreak to be free in OS X 10.9...
mongoDB request failing when upgrading (1.8 > 2.x)
At work we faced a strange issue with mongoDB 2.x. Whereas our requests were working perfectly with mongoDB 1.8 we always got errors. The message mongoDB was firing at us was of the form :
Caused by: com.mongodb.MongoException: assertion db/../bson/bsonobjbuilder.h:127
at com.mongodb.MongoException.parse(MongoException.java:82)

I found the following issue in mongoDB's Jira but apparently nothing to do with our requests (we are not using empty properties indexes), it takes me a lot of time to figure out that, at times, our request were sorted on empty properties (as stated here). The fix is really simple, do not sort on empty properties !
As it takes me times to find this and I did not find any blog post explaining this, I hope it will help another developer.
git bisect saved my day !
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 !
dotfiles or easily manage your shell environment

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.
Trello unread notification favicon userscript
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.