Recent Posts

The APL family of languages Why APL? I recently got interested in APL, an array-based programming language. In APL (and derivatives), we try to reason about programs as series of transformations of multi-dimensional arrays. This is exactly the kind of style I like in Haskell and other functional languages, where I also try to use higher-order functions (map, fold, etc) on lists or arrays. A developer only needs to understand these abstractions once, instead of deconstructing each loop or each recursive function encountered in a program.

CONTINUE READING

The Ising model is a model used to represent magnetic dipole moments in statistical physics. Physical details are on the Wikipedia page, but what is interesting is that it follows a complex probability distribution on a lattice, where each site can take the value +1 or -1. Mathematical definition We have a lattice $\Lambda$ consisting of sites $k$. For each site, there is a moment $\sigma_k \in \{ -1, +1 \}$.

CONTINUE READING

L-systems are a formal way to make interesting visualisations. You can use them to model a wide variety of objects: space-filling curves, fractals, biological systems, tilings, etc. See the Github repo: https://github.com/dlozeve/lsystems What is an L-system? A few examples to get started Dragon curve Gosper curve Fractal plant Penrose P3 aperiodic tiling Definition An L-system is a set of rewriting rules generating sequences of symbols.

CONTINUE READING

Projects

Ising model simulation

Monte Carlo simulation of the Ising model using Metropolis-Hastings

L-systems

Generate and draw L-systems

ADS-B data visualization

Visualization of plane trajectories over Northeastern France. The data was gathered using a Software Defined Radio to listen to aircrafts.

Civilisation

SAT solver, using the Davis-Putnam-Logemann-Loveland (DPLL) algorithm.

Community Detection

Community detection algorithms and applications to a large social network obtained from Prestashop data. Slides (in French).

Orbit

N-body simulator

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.

WWII bombings visualization

Every allied bombing during WWII, mapped over the whole world. The data has been released by the U.S. Department of Defense here.