Jeff Mesnil

About Me

I’m Jean-Frederic Mesnil (everybody calls me Jeff). I’m a software developer and this is my . Be my guest and enjoy your stay.

If you want to contact me, you can send me an email at .

The opinions expressed on this web site are my own, and neither my employer nor any other party necessarily agrees with them.

Professional Experience

Since November 2010, Bestofmedia Group (bestofmedia.com)

I work for Bestofmedia Group as a senior software developer.
I am working mainly on “Big Data” (using Hadoop Map/Reduce and related projects) and Java backend infrastructure (on top of HornetQ and Solr).

I also lead development for Tom’s Hardware and Tom’s Guide iOS apps.

October 2007 – November 2010, Red Hat (redhat.com)

I worked for JBoss, a division of Red Hat.
I was a core developer on HornetQ, the messaging system which powers JBoss Application Server.

June 2005 – August 2007, Continuent (continuent.com)

I worked for Continuent where I developed on Sequoia, an Open Source cluster middleware. I worked on its management infrastructure (using JMX) and its text console in addition to the core development.
I also developed a graphical console built on top of Eclipse RCP.

Jan. 2005 – May 2005, Kelkoo (www.kelkoo.com)

After I left Coframi, I signed a 4-month contract with Kelkoo (where I already was on a mission for Coframi) to finish development on the User Reviews project I was working on and put it (successfully) in production.

The project was based on web services (more RESTful than SOAPish) to integrate Yahoo! services (login and user content) to Kelkoo web site (Kelkoo is owned by Yahoo!).
If I should describe it with buzzwords, I’d say that it was Web Style SOA.

Dec. 2003 – Jan. 2005, Coframi (www.coframi.fr)

I worked for Coframi, a French software engineering and consulting firm. I made several missions for their customers.

Kelkoo (www.kelkoo.com)

I was part of Kelkoo R&D team where I provided support and development of Kelkoo web sites.

It was a great experience working on one of the most visited web sites in Europe and being challenged by scalability issues due to the success of Kelkoo. I also was in charge of interfacing with the production team to improve production servers uptime by analyzing recurring performance bottlenecks and fixing them.

GTIE Vinci

For GTIE Vinci, I was part of the team in charge of the development of a traffic road supervision software (Vinci is a worldwide leader in construction and related services)

I designed and developed the communication tier to exchange data with external partners and road equipments.
The data were exchanged through Web Services (XML over HTTP/FTP/SMTP/JMS, yes we had 4 different underlying communication protocols to talk to partners, road devices, etc.).

I also developped a graphical application to display traffic data in (almost) real time. The application was built using SWT and was connected to an Oracle database through a homegrown ORM.

Oct. 2001 – Oct. 2003, ObjectWeb (www.objectweb.org)

I was hired by INRIA to help development and promotion of ObjectWeb projects.
ObjectWeb is an international consortium creating Open Source middleware projects.

JOTM (jotm.objectweb.org)

I lead development for one year on JOTM which was the transaction manager embedded in JOnAS, a J2EE server. It was extracted from JOnAS codebase to be reused in contexts more lightweight than a J2EE server (e.g. Tomcat, Jetty or Spring Framework).

  • Help and support to the JOTM community
  • Coordination and integration on developments about JOTM (such as a BTP implementation above JOTM)
  • Managed documentation and version releases
  • Promotion and animation of the project
    • Presentations and talks at ObjectWeb conferences
    • Presentation at HPTS’03
    • Article about using transactions in Servlets with Tomcat and JOTM for O’Reilly Java web site
  • Communication with related projects (JOnAS, Jetty, Tomcat)

JORAM (joram.objectweb.org)

I also developed for one year on JORAM, an Open Source JMS provider.

  • Support and help to the JORAM community
  • Integration of JORAM into JOnAS to provide JMS support and Message-Driven Beans
  • Test compliance to JMS specifications (both 1.0.2 and 1.1). I developped a JMS Test Suite based on JUnit which was later used by other JMS providers (SwiftMQ, Pramati, ArjunaMS) and has been included in JBoss own test suite
  • Managed documentation and version releases

Education

MSc Applied Mathematics and Computing, Cranfield University (www.cranfield.ac.uk), England, 2001

The MSc thesis was to design and develop a Java graphical application (Swing and Java 3D) for B-Spline Volume Modelling.

Master’s Degree in Applied Mathematics and Software Engineering, INSA Rouen (www.insa-rouen.fr), France, 2001

As a part of my studies I made two internships:

  • At Bull, I designed and implemented EJB 1.1 security in JOnAS, an Open Source J2EE server
  • At INRIA, I designed and developed a Web application to change in one step passwords on multiples OSes. As part of this application I implemented a SSL stack on top of RMI/JRMP to communicate securely between the Web Server (Apache + JServ) and the OS backends (Unix, Windows NT, Mac OS). I prototyped both a Java Applet client but ends up with a Servlet-based application (to make the long story short, https beats RMI over SSL between a web browser and a server)

Technical Profile

I worked on projects for R&D team or Open Source organizations, products for companies and software-as-services which were delivered on the web. I’m involved in various Open Source organizations, either as a user (apache), a member — a.k.a bug reporter — (eclipse) or a committer (jboss, objectweb, continuent).

Before the TLA slugfest begins, let’s make it short: I developped a lot in Java, both on client side (3 different applications using either Swing or SWT/JFace) and server side where I developed on a EJB container, 2 MOM implementations, a distributed transaction manager and a cluster middleware. I also developed web applications on top of Java middleware.

On my spare time, I develop using Java too and a little of Ruby/JRuby.
I also learn a new language every year (Ruby, Erlang, Objective-C, JavaScript, Clojure). I won’t use Java for all my career and I wonder what is the next platform I will move to….
For each new language I learn, I try to develop a serious application to have a deep understanding of the language (e.g. jmx4r for Ruby, TangTouch — an iPhone game — for Objective-C)

Java Server Side

  • JMS – Development of 2 JMS Providers, integration of JMS and Message-Driven Beans in a J2EE server
  • JTA – Development of a JTA transaction manager
  • EJB – Implementation of the EJB security in a J2EE server
  • JSP/Servlets – Development of Web applications (using Struts and in-house MVC frameworks)
  • JDBC – development of a JDBC cluster middleware
  • JMX – used to manage the JDBC cluster middleware
  • Hadoop Map/reduce – Development of map/reduce jobs for Web site analysis

Java Client Side

  • Graphical User Interface
    • a 3D application in Swing and Java 3D
    • a SWT application
    • a management console built on top of Eclipse RCP
  • Text-based application
    • a text console used to manage Sequoia through JMX

Misc Development

  • XML, XSLT, Web Services – I developped several applications using REST Web Services, XML over various Internet protocols (HTTP, FTP, SMTP) or JMS
  • Web development in HTML, JavaScript, CSS
  • iOS (1 game, 2 apps)
  • Ruby, Ruby on Rails

Misc

The development and production tools are the usual suspects:

  • Eclipse, TextMate, Vi
  • Git, Subversion, CVS
  • JUnit
  • Ant, Maven
  • Hudson, CruiseControl
  • Mac OS X, Linux, Unix (AIX)
  • MySQL, PostgreSQL, Oracle

jmesnil.net

I created this web site in May 2004. Since then, I have posted articles on my weblog about all things related to software design and development which interest me.