Resume

Yann Esposito

26 July 2016

Yann Esposito

PDF Version

name Yann Esposito
mail yann.esposito@gmail.com
port (+33)650845271
address Bât 9, Résidence Saint Marc
591, avenue Jean Aicard
06700, Saint Laurent du Var

Professional Background

2016 Clojure Software Engineer for Cisco (Threatgrid), Remote
2013 2016 Machine Learning Scientist & Software Engineer at Vigiglobe, Sophia Antipolis, France
2010 Co-Founder of GridPocket, Sophia Antipolis, France
2007 2013 AirFrance, Sophia Antipolis, France
10/2006 3/2007 Post Ph.D., Hubert Curien Laboratory, St-Etienne, France
10/2004 9/2006 ATER (College Degree Teach & Research), Marseille, France
10/2001 9/2004 University Monitor (College Degree Teach & Research), Marseille, France
1995 2000 Miscellaneous summer jobs

Education

2004 CS Ph.D. in Machine Learning at Université de Provence
2001 D.E.A. (Equivalent to Master in Computer science)
2000 Maîtrise in Computer Science
1999 Licence in Computer Science
1998 DEUG MIAS (Math)
1995 BAC S (Math)

Research Activies: Publications

International Journal [Fundamenta Informaticæ, 2008]
[Pattern Recognition, 2004]
Internation Conferences [ECML 2008] [ICGI 2006] [COLT 2006]
[COLT 2004] [ICALP 2003] [ICGI 2002]
National Journal [JEDAI 2002]
National Conferences [CAp'06] [CAp'04] [CAp'03]

Presentation

I am French with a Post Ph.D in Machine Learning1. Furthermore I love web programming and design.

I am currently working remotely for Cisco Security team as a Clojure Software Engineer.

Previously I worked for Vigiglobe. The first six months I worked with node.js (API/MongoDB/Web). Then we upgraded our stack to Clojure, Haskell, Mesos, Kafka, Druid, etc... At that time we were two to make all technical decisions. In the end we made a real time analytics of social media content on a scalable architecture. Actually our architecture is able to manage (Aggregation & Machine Learning) thousands of messages per second.2 In particular, I've written an Haskell twitter stream absorber able to handle thousands of tweets per seconds. And I coded myself a real time sentiment analysis module taking algebraic properties into account to optimize its efficiency.

  • During my Ph.D. I made a C++ program (github3 and resume4). I coded most of standard HMM learning algorithms. I developed an algorithm which I invented during my Ph.D. which use some operational optimization algorithm. During this period I published articles in international conferences and I taught Computer Science to college students.

  • At the Hubert Curien Laboratory I made my post Ph.D. I developed a scientific application in Java/applet/JWS that should be used by biologists. The code has been updated a bit since my 6 month post Ph.D5.

  • I worked in the web industry for Airfrance. My work environment was quite heterogeneous. From shell scripting to manage huge amount of data, web design and production environment.

  • I worked for GridPocket (I am a co-founder). This is a French startup specialized in Electric Grid. I created a private6 web application.

  • I've also written an iOS application to manage passwords7.

  • I am the author of some quite popular blog posts8.

For an almost exhaustive list of my projects, you could check my github account: github.com/yogsototh

Public things done

  • Cisco (threatgrid) Security & Threat Management.
  • Vigiglobe architecture able to analyze thousands of social media messages in realtime. In particular, real time Machine Learning & Statistics.
  • Gridpocket web services (from conception to realization, works in correlation with a mobile app)
  • DEES: a 10.000 line C++ command line program. This program implement most HMM standard algorithms & inference algorithms.
  • SeDiL: a Java application using Swing UI. The goal is to provide biologist an easy way to use an algorithm that generate Similarity Matrices for strings but also for Tree structures. Most graphics was done by me, including the drawing of trees. I didn't used a library for that purpose.
  • YPassword iOS application
  • YPassword web interface in elm
  • Also relative to YPassword ; a Dashboard Widget, a command line tool.
  • Some websites: yannesposito.com
  • Written a thesis in Machine Learning and published in major international conferences: [ICALP 2003], [COLT 2004] & [COLT 2006].
  • A full javascript web application which display Electric consumption in real time.
  • mkdocs (the engine I use to create this document. I exported it in HTML, PDF (using ) and SVG.
  • some Mac OS X screensaver, a MetaPost plugin to draw Automata, an RFC-like document to help my student to make a TOR like network, etc...
  • a bunch of other projects see http://github.com/yogsototh

Technical Competences

Languages Haskell, Clojure, Javascript,
scheme, C, camL, C++, Ruby, Perl, Java, Python, PHP
Web frontend elm, Clojurescript, Reagent, Angular.js, sass, etc...
Web frameworks compojure-api, Yesod, servant, actionhero
ML Tools weka, SVMlight
Stream Computing kafka, druid, storm (with clojure)
UNIX Shell scripts (zsh, bash), awk, , ConTeXt, metapost
VCS git, Bazaar (DCVS), subversion (svn), CVS
Mac/iOS Objective-C Cocoa (Mac & iOS), Dahsboard widget,
Quartz Composer

Jobs

Clojure Software Engineer for Cisco 2016 →

  • Remote
Product Security Threat Management
Role Clojure Software Engineer

Machine Learning Scientist & Software Engineer for Vigiglobe 2013 → 2016

  • Sophia Antipolis, France
Product Scalable Real Time Social Media Analytics
Sentiment Analysis
Many client side web applications (Angular.js & reagent)
Role Machine Learning Scientist
(fast sentiment analysis, learning protocols, etc..)
Full stack engineer (backend to frontend architecture)
Keywords Clojure, Haskell, node.js, reagent, Angular.js, Stream computing

Co-Founder & freelance for GridPocket 2010 →

Sophia Antipolis, France

Product Two API server (one for client, another for administration)
A private client side web application
An iPhone Application
Some Linux boxes to send data to the servers
A Linux driver
Role Full technical responsibilities
Keywords Ruby, REST, JSON, HTML, CSS, Javascript, AJAX,
jQuery, Objective-C, ASIHTTPRequest, CorePlot, CoreData, C

Consultant, AirFrance 2007 →

Sophia Antipolis, France

Role In charge of the Airfrance CMS for their website.
Keywords TeamSite, Perl, XML, XHTML, CSS, javascript, JSP,
Unix (Solaris/Linux), Bazaar

Post Ph.D 10/2006 → 3/2007

Université Jean Monet, Laboratoire Hubert Curien, Saint-Etienne

Product SeDiL
Role Java Developer
Research Similarity measure between strings or XML trees
Contact Marc Sebban
Keywords UML, Java 1.5, Swing, Java 2D, Java Web Start, Applet,
subversion, XML, XHTML, PHP

Details:

Java application: 11 000 lines with javadoc

Main functionalities

  • learn edit matrices
  • compute edit distances between trees or strings
  • visualize trees or sequences (JAVA 2D)
  • classification using K means
  • Generate random tree couple from an edit distance matrice

Web: http://labh-curien.univ-st-etienne.fr/SEDiL/

ATER 10/2004 → 9/2006

Research & Teacher, Université de Provence, Marseille

teach 1/2, research 1/6, C++ development 1/3

DEES ; a C++ software

7500 lines of C++ code, 10.000 with comments

Main functionalities:

  • Mulitiplicity Automata, HMM & PDA Inference,
  • Baum Welch & Viterbi Algorithms,
  • GraphViz export,
  • String Generation from many Models,
Languages C++
API STL
Environment Linux (Debian) & Windows XP

Moniteur des Universités 10/2001 → 9/2004

Université de Provence, Marseille

teach 1/3, research 1/3, C++ Development 1/3

Creation of DEES (see preceeding entry).

Diploma

2004 Ph.D. degree in Machine Learning
2001 D.E.A. in Computer Science (equivalent to master)
2000 Maîtrise d’Informatique
1999 Licence in Computer Science
1998 DEUG MIAS (math)
1995 BAC S (math)

Scientific Publications

International

Journals [Fundamenta Inforamticæ vol.86 2008][Pattern Recognition, 2004]
Conferences [ECML 2008] [COLT 2006] [ICGI 2006][COLT 2004] [ICALP 2003] [ICGI 2002]
Workshop [TAGI05]

National (French)

Journals [JEDAI, 2003]
Conferences [CAP 2006] [CAP 2004] [CAP 2003]
Thesis [Université de Provence 2004]

Projects

Most of my latest programming activities are publicly available at github.com/yogsototh

Haskell libraries

  • Link to list of packages

  • holy-project
  • human-readable-duration
  • wai-middleware-caching-lru
  • wai-middleware-caching-redis
  • wai-middleware-caching

YPassword 2008 →

Mainly an iOS application:

I've done fully the website from scratch. Also there are some javascript implementation of YPassword method:

  • a Mac OS X dashboard widget,
  • a Cappuccino Web application,
  • a jQuery Web application,
  • a command line tool,
  • an Applescript helper

Anonymous Network Project 02/2006 → 06/2006

Made a protocol similar to TOR for student.

Other projects

  • Web Application used for private team usage at AirFrance 2008 → This application is just done for teh lulz. Not related to the Airfrance work. But still pleasant. Javascript(Prototype.js, Scriptaculous), CSS, PHP/MySQL, Google Talk
  • metapost package to draw Automata 2003 → 2004 metapost
  • Mac OS X Screensavers (YClock & YAquaBubbles) 2003 → 2004 Objective-C,Quartz Composer,Cocoa

You could find even more information by looking at:


  1. To be more precise in Grammatical Inference

  2. http://vigiglobe.com

  3. https://github.com/yogsototh/DEES

  4. http://yann.esposito.free.fr/dees.php?lang=en

  5. http://labh-curien.univ-st-etienne.fr/SEDiL/faq.php?lang=en (I like to believe I became a better designer ☺)

  6. Sorry the code is private I can't show it :(.

  7. http://ypassword.espozito.com

  8. http://yannesposito.com/Scratch/en/blog/