I made some contributions to various projects, mainly in ruby and around ruby on rails framework. At first, I wrote patches for bugs I was facing using some libraries and ruby gems. Later, because I had to access a specific API for a personal project, I decided to write it as an open-source ruby gem. After that, I wrote several gems for my needs or sometimes just for technical interest. You can see most of my open-source contributions and projects on my GitHub profile.
Since 2006, I am working as a freelance consultant in various fields but mainly around web development. First, I used PHP and MySQL for a few websites. Because of some clients needs or to speed up project schedule, I was able to use and learn famous php frameworks (typo3, cakephp). I also had the opportunity to make specific unix administration to build a high performance mailing solution (based on postfix) for an emailing company.
In 2007, I started to work with Etienne Segonzac on a website using Ruby on Rails framework. In the same time, we had an opportunity to work with ITG, a french company. We upgraded their information system: virtualization using XEN, source code versioning with SVN, project management... And developed a tiny MVC framework in PHP for one of their website. I also had to make some code/sql optimization and development on a Ruby on Rails e-commerce application for OnWild Systems.
In 2008 and until first half 2009, Etienne and myself were working for a huge french company: Orange. The project was a multimedia search engine based on freebase data for the search part and various APIs for the multimedia part (flickr, amazon, youtube, etc). Because of the database size (90 million entries), we switched from a traditional MySQL to a more robust PostgreSQL. To distribute and parallelize queries to APIs, we used a messaging mechanism (amqp) powered by an ActiveMQ server. A couple of Ruby on Rails applications were developed communicating together through ActiveResource.
After working with Orange, we decided to develop iPhone applications. Pleased by Objective-C, I developed a small application (NTFS Mounter) for Snow Leopard.
- NTFS Mounter
- Small cocoa application for Snow Leopard to mount NTFS volumes with write support.
- Ruby library to query the Apple AppStore.
- Simple ruby utility to check if all your gems are up to date, like apticron for debian packages.
- Testing library for Mechanize (http client): works offline and simulate http queries for testing purpose.
- Implements longurl.org API to query their service and provides a way to extend shorten URLs.
- Named Fixtures Exporter
- Ruby on Rails plugin to export database contents in rails fixtures.
- Ruby on Rails
- I wrote 2 patches, both to add features. The first one is a generator for STI models (models inheriting other models). The second one extends ActiveResource to support JSON error messages, like ActiveRecord does with validations.
- Small fixes to daemonize correctly and improve ruby 1.9 compatibility.
- Asset Packager
- Fix load error on threadsafe environment.
- Remove outdated services and add new ones.
- Add support for google analytics directly from site configuration, without having to modify html/php view files.