Senior Software Engineer in Search Core Squad at Algolia
Current Projects
Algolia Search Engine: full feature textual search engine in C++
Performances: measuring and improving preformances of the engine
Safe communications: automatic key management for internal protocol
Code maintainance: day to day work with a large C++ code base
Previous Positions
Teacher and Research Engineer at EPITA (CS Engineering School in Paris)
Automatic Malware classification: using deep learning for clustering large set of malware by famillies. Part of ViralStudio (funded project on malware classification.)
Geometric Spanner and Clustering: exploiting construction of sparse graph known as geometric spanner for clustering large set of data in higher dimensions euclidean space.
Concurrent Data Structures in Kernel Space: implementations of lock-free data structures for an experimental kernel.
Diameter Computing for Very Large Graph: finding strategies to efficiently compute diameter of huge graphs. Experimental new algorithms written in C, C++ and Go.
C!: a compiler-to-compiler based language designed for kernel programming with object oriented features and lower-level programming oriented syntactic sugar.
Education
DEA I³ (2002) Université Paris SUD Orsay - Master in Computer Science Master Thesis: Dynamic Security Analysis for XML Documents Transformation
Ph.D
Security Analysis for XML Transformation
Subject: XML documents can serve as storage for semi-structured data and transformation languages can act as query mechanism. Traditional access control mechanisms are hard to map on tree based data structures such like XML, so we decided to investigate information flow analysis in a transformation language (CDuce.) Our analysis is based on a modified version of the non-interference property more suited for fined analysis of a language with type case and semantic-subtyping.
Doctoral - All But Dissertation.
Skills
Programming: More than 15 years of programming experience, in C, C++ and OCaml, but also Go, Python, Java, SQL, Prolog … I have also developed some skills in parallel programming using C++11, go, POSIX-threads or Intel's TBB.
Computer Science: Huge graph exploration, deep learning (applied binary files classification) using modern framework like Keras, Theano or Tensor flow, typing and type inference …
Teaching: 10 years of teaching in Computer Science field: programming, algorithms, graph theory, parallel programming …
French (native language)
English (fluent, spoken and written)
Complements
Recent Articles
Reordering Very Large Graphs for Fun & Profit, Lionel Auroux, Marwan Burelle and Robert Erra, short paper at iSWAG 2015, (pdf)