Curriculum Vitae

Thomas GIL

[email protected]

Key Skills

Fullstack developer

I have been the CTO of FirmFunding for nearly 10 years. Our team is small and efficient, which means we get to touch upon everything—from back-end development (Java, PostgreSQL, Redis) to front-end (Vue, Svelte), as well as infrastructure (Docker, AWS Lambdas, S3).

Researcher

I am currently working on a lossless image compression algorithm. My goal is to strike a balance between the performance of QOI and the compression ratio of FLIF, WebP Lossless, or even Gralic.

Tools Designer / Developer

I wrote GT, a transpiler that adds a small object-oriented layer to C (classes, single inheritance, dot notation, external methods). Its parser, based on Ragel, functions as a stack of finite-state machines.

GT has simplified the development of a PDF generation library (without any dependencies), as well as a slideshow generation tool.

Together with Jean-Baptiste Evain, we built AspectDNG—an aspect weaver that operates directly on the CIL of .NET assemblies.

Optimizer

Pour apprendre CUDA, j'ai optimisé l'exécution de quelques algorithmes de hashage utilisés dans certaines blockchains à Proof of Work sur GPU (NVIDIA).

Trainer

I have conducted training sessions on programming languages ​​(Java, C#, C++, C, JavaScript, PHP, XSLT...), object-oriented concepts and Design Patterns, Aspect-Oriented Programming, and enterprise architectures based on Java EE and .NET.

Author

I helped manage a comparison site for .NET and Java EE architectures (DotNetGuru), which involved writing technical articles (in French and English) and moderating the community (forums).

I wrote an ebook at the intersection of AOP and Design Patterns.


Detailed Technical Skills

Languages ​​used in my current projects Java, SQL, C, JavaScript, HTML, CSS
Languages ​​from my past projects C#, C++, D, XSLT, PHP, Python
Other Languages ​​Briefly Touched Upon Assembleur, Rust, Julia, Go, D, Lua, XSLT, PHP, Ruby, Perl
Design Object-Oriented Design, Design Patterns, Aspect-Oriented Design
Operating Systems Windows, GNU/Linux, MacOS X

Projects

Date Projet Description Technologies Rôle
2022- Image compression Research, prototyping and development of a lossless image compression software C Developer
2017- FirmFunding Architecture, code and deploy of a private placement marketplace Java, JavaScript, Vue.js, Svelte, Cloud, Serverless CTO
2016 Altcoins Miners Reimplementation on CPU and GPU of some algorithms: Lyra2rev2, Keccak, Equihash... C++, CUDA Developer
2016 DCNS Object graph state replication framework Java, C++, JDO, JCache, JGroups, ASM Developer
2015 Compressor Participation to the compression contest "Hutter Prize" C++ Developer
2015 C++ Unserialiser C++ unserialization framework of Java serialized objects C++, Java Developer
2015 DCNS Object graph state replication framework Java, C++, JDO, JCache, JGroups, ASM Developer
2014 UnityScript Transpiler Automatic translation UnityScript source code into C# C# Developer
2014 DCNS Object graph state replication framework Java, C++, JDO, JCache, JGroups, ASM Developer
2013 DCNS Object graph state replication framework Java, C++, JDO, JCache, JGroups Developer
2012 LExpress IOS application: news and articles reader ObjectiveC Developer
2011 Transformer 2 Railroad file format transformation and hispeed loading in a database C, Oracle Designer, developer
2010 Cv Flex / Java online application to manage resumes Spring, JPA, Hibernate Java infrastructure setup in cooperation with juliencarette.com
2010 Transformer Railroad file format transformation and hispeed loading in a database C++, Oracle Designer, developer
2009 training Document generation application that automatically creates training slides and students books (PDF format) G Designer, developer
2008 gpdf PDF document generation library G, C Designer, developer
2007 Messagerie applicative (Réseau Ferré de France) Prototype/grounds of a .NET multi-tier web architecture that will serve as the framework for applications development C# 2.0, ASP.NET 2.0, ADO.NET 2.0, Ajax.asp.net, CSS Architect, developer
2003 - 2005 Course Manager Web application to manage Valtech Training' course descriptions Java, Struts, EJB 3, XML, XSLT, XSLFO Architect, developer
2005 Scite Enterprise Architect A well known competitor to VisualStudio.NET ;-) Scite, Lua "Prototyper"

Open Source / Free projects

Date Projet Description Technologies Rôle
2010-2012 GT Lightweight layer on top of the C programming language. Successor of G, based on a finite states automata. Now public domain! C, Ragel Designer, developer
2008 G Lightweight layer on top of the C programming language C Designer, developer
2005 PetShopAOP An example of a technical architecture that takes advantage of AOP AspectDNG Architect, developer
2003 - 2005 AspectDNG .NET static aspect weaver C#, XML, XPath Project manager, developer
2003 - 2005 PetShopDNG An example of a .NET multi-tier architecture ASP.NET, C#, DTM, .NET Remoting Architect, developer

Base training

1998 - 1999 ENST Paris - Year 2 and 3
1997 ENST Bretagne - Year 1
1995 - 1996 Math Sup/Spé in the Lycée Kléber, Strasbourg
1994 Baccalauréat - Mention Bien