The author

Designer of technical solutions for human problems. Portrait photographer. Research and development in modeling, computation and control interfaces for image processing (darktable) and thermal control (Cellier Domesticus), free software programming (C/OpenCL/Python/PHP). Pianist vaguely composer. Interested in anything that involves math, physics, philosophy and art, if possible at the same time.

Previous experiences in the territorial civil service (Conseil Régional Rhônes-Alpes), industrial electric motors (General Electric), carbon fiber solar cars (Esteban, Polytechnique Montréal), self-publishing, and academic nonsense (maths sup, IUT, engineering school, and other falsely prestigious elite waffle molds that have replaced thought with process because "you understand, the programs are loaded and we no longer have time").

Allergic to institutions, traditions, experts close to power, and symbolic violence in all its forms.

Links

Principal

  • Photography : magazine, prints, portfolio, didactics (bilingual FR/EN).

  • Research & Development : scientific calculation, design and programming for thermal engineering and image processing (EN).

  • YouTube : retouching and color science for photographers using darktable (bilingual FR/EN).

  • Github : the source code of all the free software to which I contribute.
  • Liberapay : to remunerate my research, development, teaching and creation activities in free access.

Peripheral

Contacts

  • GPG public key : 3267839ddfcabd37

  • Instagram : Snapshots of photographic production and news of the development of darktable.

  • Matrix : End-to-end encrypted messaging/VoIP

  • Matrix room : public bilingual exchanges (FR/EN) around my photo activities.

Skills

In bold: specialties.
In italics: more or less distant memories.

Computer science

  • Formalisms:
    • Object-oriented programming,
    • Regular expressions.
  • Web stack:
    • MySQL,
    • PHP, Javascript,
    • HTML 5, CSS 3.
  • Scripting languages:
    • Python (Numpy, Scipy, Numba, Cython, Pandas, PyFTTW, etc.),
    • Matlab,
    • Maple,
    • Bash,
  • Programming languages:
    • C, (SSE, OpenCL, OpenMP)
    • assembly (notions)
  • Markup languages:
    • LaTeX,
    • Markdown,
  • Junk:
    • Visual Basic,
    • Engineering Equations Solver (EES).

Software

  • Mechanical design:
    • Catia v5,
    • Autodesk Inventor.
  • Modeling:
    • Simulink,
    • Labview,
    • COMSOL,
  • Text editing/DTP: Scribus.
  • Image editing:
    • Darktable,
    • Photoshop,
    • Gimp,
    • Krita,
  • Project management: Orangescrum,
  • Versioning : Git.

General Physics

  • Geometric optics
  • Wave optics, interferometry
  • Atomistics and crystallography.

Mathematics

  • Linear and vector algebra,
  • Analysis:
    • differential equations with partial and ordinary derivatives
  • Numerical analysis methods:
    • solving systems of (non)linear equations,
    • digital integration and derivation,
    • interpolation (splines and radial function series),
    • differential equations:
      • discretization and finite differences,
      • finite elements,
  • Harmonic analysis and signal processing :
    • filter design, convolution,
    • dynamical systems analysis (transfer function, cutoff frequency, stability)
  • Optimization methods:
    • descent of gradients,
    • optimal/Hamiltonian control,
  • Integral transformations:
    • Fourier,
    • Laplace
    • Z
  • Image processing:
    • iterative variational methods,
    • deconvolution blind or not,
    • decompositions into wavelets,
    • methods for thresholding the normalized variance.

Mechanical engineering

  • Analyses of mechanical stresses in metallic and viscoelastic materials,
  • Flow analyses in Newtonian fluids,
  • Heat transfer analyses,
  • Analyses of kinematic and dynamical systems,
  • Design of automatic control chains,
  • Design of mechanical parts and assemblies, 3D models, plans, tolerance calculations.

Electrical engineering

  • Design of analog and digital filters,
  • Design of instrumentation amplifiers and measurement chains,
  • Motor control and basic electrotechnics.

Metrology

  • Calibration of sensors,
  • Characterization of uncertainties,
  • Measurement chain design,
  • Quality management: ISO 9000 & 16000,
  • Design of measuring instruments, test bench and calibration devices under accuracy stress.

Manufacturing

  • Manufacture of carbon/epoxy, carbon/glass composite materials,
  • Electronic brazing,
  • Basic machining (turning, milling, drilling),
  • Prototyping/3D printing,
  • Carpentry (hand tools).

Projects & Publications

mars 2021 : Conception d’un plugin Markdown/LaTeX pour WordPress, WP Scholar. Projet opensource.

Plugin pour documentation et communication technique efficace sur WordPress, incluant équations mathématiques, blocs de code, graphes interactifs, notebooks Jupyter et schémas générés programmatiquement, visant à motiver les gens à documenter leur travail en leur fournissant un moyen rapide, simple et extensible d’y parvenir.

  • Intégration du parser PHP Markdown, extension à la syntaxe Markdown Github et au code LaTeX, intégration des libs JS tierces,
  • Développement de l’extraction automatique de table des matières et liens internes, optimisation et chargement à la demande,
  • Intégration et extension de la lib FancyPants Typographer pour orthotypographie rigoureuse (espaces insécables, espaces fines, etc.).

Technologies & outils : regex, PHP7, Javascript/DOM, CSS3, LaTeX.

septembre 2018 – actuel : Révision de la chaîne de travail d’un logiciel libre de retouche photo, darktable. Logiciel libre.

Calcul matriciel haute performance parallélisé et vectorisé sur processeurs et cartes graphiques (C, SSE2-3-4, AVX-2, OpenCL, OpenMP). Développement d’un workflow efficace et méthodique pour l’utilisateur. 30 000 lignes de code, 342 commits. [Liste des contributions]

Lobbying pour convaincre des bienfaits et faire intégrer les changements, rédaction de documentation, création de tutoriaux vidéo, aide aux utilisateurs, etc.

Technologies & outils : Python, C/C++, SSE2, OpenCL, GTK3.

2017 – 2018 : Conception d’un appareil de profilage haptique pour l’étalonnage d’un bouton de tableau de bord, CAE. Projet intégrateur 4 du cursus de Polytechnique Montréal.

Conception mécanique et métrologique d’un système de mesure de couple, position, et affichage pour caractériser la réponse haptique d’un bouton de tableau de bord. Analyse des besoins et des performances requises (cahier des charges). Conception de pièces, calculs d’erreurs, de tolérances, modélisation statique et dynamique. Architecture logicielle pour le traitement des mesures. Formation de l’équipe à l’utilisation de Git.

Technologies & outils : Python, Catia.

2017 : Conception d’un algorithme de déconvolution aveugle pour le logiciel de retouche photo Darktable. Projet personnel/opensource.

En cours : Estimation de la fonction d’étalement du point (flou de bougé et/ou d’objectif) par apprentissage machine supervisé (optimisation par descente de gradient). Défloutage par déconvolution et régularisation/débruitage simultané sur le signal RGB. Accélération de la convergence par des méthodes numériques et accélération de l’algorithme par des optimisations bas niveau. Conception d’une librairie C/Cython optimisée pour la performance. Conception de l’API et de l’interface utilisateur. Analyse de la convergence et conseils de réglage à l’utilisateur.

À venir : Défloutage adaptatif en fonction de la profondeur de champ et changement de la zone de mise au point a posteriori. Vérification de la qualité de la solution.

Technologies & outils : Python, Scipy, Cython, FFTW, apprentissage machine, descente de gradient, déconvolution, débruitage, framework bayésien.

2017 : Conception d’une méthode d’analyse en temps réel de la température du vin dans une cave, dirigé par André Garon, Dominique Pelletier (Polytechnique Montréal) et Franck Boulbès (Cellier Domesticus). Projet intégrateur 3 du cursus de Polytechnique Montréal.

Comparaison de plusieurs méthodes et établissement d’un algorithme prédictif de calcul de la température effective du vin dans les bouteilles en se basant sur la température mesurée de l’air. Modèle dynamique paramétré.

Technologies & outils : Python, Scipy, Comsol, Matlab, Simulink, éléments finis, thermodynamique.

2016 – 2017 : Analyse de la segmentation du marché des appareils photos numériques. Projet personnel.

Analyse du rapport qualité/prix des appareils photos numériques en vue de segmenter le marché suivant les performances optiques et le prix, afin d’établir un guide d’achat sur des critères objectifs. Data-mining par rétro-ingénieurie de moteurs de recherche, traitement de données, régressions non-linéaires par optimisation itérative, analyse statistique. Création de graphes interactifs, interprétation et vulgarisation des données générées.

Technologie & outils : Python, Pandas, Plotly.

2016 : Amélioration des algorithmes de contrôle thermique des caves à vins, dirigé par Franck Boulbès (Cellier Domesticus). Stage du cursus de Polytechnique Montréal.

Étude et modélisation du comportement thermique des caves à vin. Conception d’une librairie Python de calcul et de traitement des variables thermodynamiques, avec tests unitaires et documentation complète. Conception d’un banc d’essai et d’un contrôleur basé sur microcontrôleur Arduino. Établissement d’algorithmes optimisant l’efficacité énergétique.

Technologies & outils : Python, Pandas, Sphinx, Arduino, thermodynamique, métrologie, électronique.

2016 : Création du plugin WordPress Photographers gallery. Projet personnel/opensource.

Conception d’un plugin d’affichage de séries photographiques léger et minimaliste, à largeur et hauteur auto-adaptative pour remplir 100 % de l’espace écran quel que soit sa taille. Entièrement HTML et CSS, sans javascript, avec les derniers standards responsive, et une expérience visuelle sobre inspirée des musées et galeries d’art. Amélioration de la prise en charge des images en tant que contenu principal par WordPress. Chargement de différentes tailles d’image en fonction de la résolution de l’affichage.

Technologies & outils : WordPress, PHP, HTML 5, CSS 3

2013 – 2016 : Projet Esteban, voiture solaire de Polytechnique Montréal. Projet associatif étudiant.

Fabrication de composites fibre de verre/fibre de carbone, usinage, assemblage, conception de petits équipements, pilotage et essais, conception d’un algorithme de profilage puissance/vitesse, recherche et renouvellement des sponsors, représentation médias et événements.

Technologies & outils : Python, Catia, composites, fibre de carbone, métrologie.

2013 : Abrégé de Mesures Physique. ISBN 979-10-92277-01-2. 92 pages.

Les bases conceptuelles et mathématiques de la métrologie expliquées d’après le Vocabulaire International de la Métrologie. Pour que l’horreur méthodologique des cours de métrologie du DUT Mesures Physiques ne soit plus une fatalité.

2012 : Trigonometry course. ISBN 979-10-92277-00-5. 100 pages.

Une centaine de formules de trigonométrie démontrées pas à pas, de la géométrie à l’analyse, pour contrer la tendance de l’Éducation Nationale à parachuter des formules sans explication ni cohérence au fur et à mesure du cursus.

2012 : Création du script Scan2Thunderbird. Projet personnel/opensource.

Conception d’un script d’assistance automatisé pour la numérisation de documents optimisés et leur envoi par email à destination de personnes peu à l’aise avec l’informatique.

Technologies & outils : Linux, Shell, Sane.

2012 : Établissement d’un plan d’instrumentation pour le Moteur à Grande Vitesse (MGV), dirigé par Lionel Durantay (General Electric Champigneulles). Stage de fin d’études pour le grade de Technicien Supérieur.

Établissement d’une chaîne de mesures physiques de couple, pression et débit en milieu sévère. Rédaction du cahier des charges, choix des fournisseurs et des capteurs, recommendations d’intégration.

Technologies & outils : couplemètres rotatifs, tubes de Pitot, pyromètres IR, métrologie.