Projects
Academic projects
Master’s thesis: Topological Data Analysis of time-dependent networks
Application of the recent advances in Topological Data Analysis (TDA) and Persistent Homology to periodicity detection in temporal networks. Master’s thesis dissertation.
Community detection
Community detection algorithms and applications to a large social network obtained from Prestashop data. Slides (in French).
Personal projects
BQN libraries
- bqn-graphics: A collection of graphics-related tools for BQN (generate PNM images, convert between RGB and HSV, various colormaps).
- bqn-npy: Serialize and deserialize arrays in BQN to the Numpy NPY format.
- bqn-curl: BQN HTTP library, from libcurl FFI bindings.
SNCF Bot
Display the next departures at any SNCF train station. It also implements a bot for Mattermost.
Uniplot
Plotting tool for displaying CSV data directly in your terminal. Uniplot uses Unicode Braille characters and ANSI control codes to display line plots as text. It can be used as part of a standard Unix pipeline. (Gerbil Scheme)
ShaderTool
Live tool for developing OpenGL shaders interactively. High-performance GPU rendering, live reloading, screenshots, FPS tracking. (C) Documentation.
Reaction-diffusion system
Reaction-Diffusion system simulation using the Gray-Scott model. (Dyalog APL and BQN)
GardenOptim
Optimization of a vegetable garden: optimal allocation of plant species on a non-rectangular garden subdivided in individual cells, with constraints from an affinity matrix between neighboring species. Uses mixed integer quadratic programming and Markov chain Monte Carlo.
Ising model simulation
Monte Carlo simulation of the Ising model using Metropolis-Hastings. Associated blog post. (Clojure)
L-systems
Generate and draw L-systems. (Haskell)
Satrap
Simple ARP spoofer, allowing for interception and modification of all communications between two targets. It sends ARP packets to perform a man-in-the-middle attack. (C)
Orbit
N-body simulator. (Haskell)
Civilisation
SAT solver, using the Davis-Putnam-Logemann-Loveland (DPLL) algorithm. (Haskell)
WWII bombing visualization
Every allied bombing during WWII, mapped over the whole world. The data has been released by the U.S. Department of Defense here.
ADS-B data visualization
Visualization of plane trajectories over Northeastern France. The data was gathered using a Software Defined Radio to listen to aircrafts.
Challenges and competitions
- 2020 APL Problem Solving Competition
- 2018 APL Problem Solving Competition
- My submission on GitHub
- Nominated as a Phase I winner
- Advent of code
- 2006 ICFP Programming Contest: “The Cult of the Bound Variable”
(partial)
- Implementation of a virtual machine in C for a simple 32-bit architecture with 14 instructions, with register, heap, array allocation and deallocation, and character-based input and output
- Synacor Challenge (partial)
- Implementation of the virtual machine in C
- DocAssist: hackathon project made during OxfordHack 2017
- Automate record and diagnosis tracking for medical practitioners
- Automatically extract meaningful data from conversations with patients
- Automatic speech recognition, entity extraction, recommendation system, and knowledge extraction