Jb Evain

Jb Evain

Software Engineer at Novell, Inc.

Lyon Area, France

Current
Past
Connections
117 connections
Industry
Computer Software
Websites

Jb Evain’s Summary

Software Engineer specialized in Open Source processes. I'm mainly focused on development and programming technologies.

Jb Evain’s Specialties:

OOP, AOP, Microsoft .net, Mono, ...


Jb Evain’s Experience

  • Software Engineer

    Novell, Inc.

    (Public Company; NOVL; Computer Software industry)

    May 2007Present (2 years 8 months)

    Software Engineer in the Mono team, at Novell, Inc. Reporting directly to Miguel de Icaza.

    Over the years, I've had the opportunity to work on different projects, such as Mono itself, Moonlight and MonoTouch. In which I've performed various tasks, including:

    - Maintaining and improving Mono.Cecil.

    Mono.Cecil is a library to read, write, and manipulate the file format used to contain the intermediate code (CIL) that is consumed by Mono or the .net CLR.

    - Writing the Mono.Linker.

    The Mono.Linker is a tool which is used to ship the minimal set of functions that a program requires, as opposed to the full class library. This is particularly useful in embedded scenarios.

    - Implementing new class libraries.

    I've been responsible for a large part of the System.Core assembly when we implemented C#3 and .net 3.5. This includes the System.Linq and System.Linq.Expressions namespaces. Implementing them required to write an expression tree to CIL compiler. All work on the class library is done test first.

    - Infrastructure

    I've been tasked to provide the base class library for Moonlight and MonoTouch. Moonlight uses Mono.Linker to tune the full class library into the lightweight API profile that Silverlight uses.

    - Tooling

    I've created various tools that add new possibilities to Mono and developers using Mono, such as the monolinker, but also on internal tools, such as mono-api-info and mono-api-compare that are a set of tools that are used to compare the API that Mono exposes to what .NET exposes. I also wrote a tool to convert .NET debug symbols (pdb files) to Mono's debug symbols file format.

    As a member of the original MonoTouch team, I integrated the linker inside MonoTouch to make sure the application on the device is as small as possible.

    - Maintenance

    Whenever I can, I'm providing patches for areas that are impacted by my work, be it the Mono runtime, the C# compiler, and the different libraries that Mono ships.

  • Consultant

    Jb Evain (Self-employed)

    (Self-Employed; Myself Only; Computer Software industry)

    May 2006September 2007 (1 year 5 months)

    Working as an independant consultant. I'm working for software companies as well as a trainer.

    I'm also working on a few Open Source projects, mainly:
    - Mono: http://www.mono-project.com
    - Cecil: http://www.mono-project.com/Cecil
    - AspectDNG: http://aspectdng.sf.net

  • Software Engineer

    db4objects, Inc.

    (Privately Held; Computer Software industry)

    May 2006May 2007 (1 year 1 month)

    Part of the core development team of db4o, an object database targeting multiple platforms : Java 1.2 and above, Android, .net 2.0 and above, Silvelight 2.0 and above, and Mono.

    I worked on the db4o core database, as well as on different projects:

    - Sharpen

    Sharpen is a Java to C# converter. It uses the eclipse SDK to transform a Java code base into a C# code base. Most of the .net version of db4o is continuously created from the Java version, while there's still a small part of the code that is kept native on both sides.

    - Cecil.FlowAnalysis

    A flow analysis engine using Mono.Cecil. This was used to implement the concept of native queries, letting the developer express queries against the database using code only. That's similar to what LINQ is, except it was available two years before LINQ. The flow analysis engine was used to decompile a method and transform it into a query the db4o database would understand and optimize. It uses Mono.Cecil to read the code of the query.

    - LINQ to db4o

    I implemented the LINQ to db4o provider, allowing developers to use LINQ queries and C#3 to write optimized queries against the db4o database.

    - LINQ to db4o / Compact Framework

    db4o is so far the only database with an optimized LINQ query provider on the Compact Framework. This was done by re-using the Mono implementation of LINQ.

    - ADO.NET Services for db4o.

    I added support to the LINQ to db4o provider for ADO.NET Services, formerly known as Astoria, allowing developers to query a db4o database over HTTP using a rest like interface.

    All the work at db4o was done in an XP fashion with a team of 6 engineers around the world. We were constantly pair-programming using VNC and Skype. Everything was done test first.

  • Summer of Code participant

    Google, Inc.

    (Public Company; GOOG; Internet industry)

    June 2006September 2006 (4 months)

    For this second edition of the Summer of Code, I've been selected to work on the Mono project. I've implemented the Mono Linker during this edition. I was mentored by Miguel de Icaza, VP for developer technologies at Novell, Inc, and by Paolo Molaro, Mono's runtime team manager, and JIT architect.

    I completed my project successfully, and the Mono Linker is now used to produce the base class library of the Moonlight project.

  • Developer

    Evaluant

    (Privately Held; 11-50 employees; Computer Software industry)

    December 2005April 2006 (5 months)

    Part of the development team of EUSS, a generic object relational mapper.

    http://euss.evaluant.com

  • Summer of Code participant

    Google, Inc.

    (Public Company; GOOG; Internet industry)

    June 2005September 2005 (4 months)

    I've been selected to participate in the very first edition of the Google Summer of Code program, to work on the Mono project. My task was to complete the assembly rewriting part of Cecil. I was being mentored by Miguel de Icaza, Vice President for developer technologies at Novell, and founder of the GNOME and Mono project.

    I successfully completed my task, and Cecil is now used in different areas of the Mono project.


Additional Information

Jb Evain’s Websites:

Jb Evain’s Interests:

programming languages, compilers, virtual machines, photography, squash, badminton

Jb Evain’s Groups:

MVS

  •    Novell Alumni
  •    ALT.Net
  •    .NET People
  •    Open Source Universe
  •    openSUSE Contributors and Users
  •    Agile
  •    agile .net practitioners
  •    Alt.net francophone
  •    Mono Contributors
  •    .NET France

Jb Evain’s Honors:

Microsoft MVS, Most Valuable Student, from 2004 to 2006
Completed the Google Summer of Code 2005
Completed the Google Summer of Code 2006


Jb Evain’s Contact Settings

Interested In:

  • career opportunities
  • consulting offers
  • expertise requests
  • reference requests
  • getting back in touch

Public profile powered by: LinkedIn

Create a public profile: Sign In or Join Now

View Jb Evain’s full profile:

  • See who you and Jb Evain know in common
  • Get introduced to Jb Evain
  • Contact Jb Evain directly

View Full Profile