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...

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.

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.