Développeur indépendant depuis 2015, proche de Toulouse.
J'ai un très fort sens produit et suis spécialisé sur
Elixir, la BEAM et OTP.
Sous le nom de Turing-Express, j'édite le logiciel saas
, une base de données et outil d'édition crossmedia pour
agences d'architecture, pour rapidement répondre aux marchés
publics et communiquer de manière efficace.
Contact : contact@lucassifoni.info
- Introspection de code pour l'exécution sécurisée de scripts à usage peu fréquent Comment l'introspection de code de la VM Elixir permet de créer des scripts de nettoyage de données sécurisés, découvrables et pilotés par une interface utilisateur.
- Tirer parti du hot code loading d'Elixir pour modulariser une app monolithique Comment j'exploite le hot code loading d'Elixir pour construire des fonctionnalités client-spécifiques dans Alzo. Une approche monolithique qui évite les microservices tout en gardant une base de code cohérente et testable.
- Flux de calculs réactifs, pas spécifiquement pour LiveView Une autre approche pour les calculs réactifs en Elixir : Computer, ma bibliothèque POC pour créer des graphiques de calcul déclaratifs. Comme un tableur, mais indépendant du framework et entièrement en Elixir.
- Pointeurs vers des maps imbriquées en mémoire en Elixir et patterns d'accès concurrents Exploration de cinq stratégies pour implémenter des pointeurs vers des données imbriquées en Elixir sans base de données. Benchmarks des closures, pattern matching et accès inter-processus.
- Propriétés calculées dans LiveView : une approche pure Comment implémenter des propriétés calculées dans LiveView avec des patterns fonctionnels purs. Pas besoin de graphiques de dépendances complexes - une approche simple et pratique qui reste dans l'esprit d'Elixir.
- [Talk] BEAMing online meetup mars 2025 Présentation au meetup Elixir belge sur l'architecture d'Alzo et l'intégration de langages externes. Hot code loading, Node.js et Java depuis Elixir. Comment orchestrer plusieurs runtimes depuis la BEAM.
- Elixir depuis elixir Comment utiliser des nœuds Elixir dynamiques pour protéger votre BEAM des NIFs dangereux. Isolation du code C risqué via la distribution. Une approche pratique pour garder votre application principale stable.
- LiveView peut être super ennuyeux LiveView peut être super ennuyeux... et c'est une très bonne chose. Retour d'expérience sur la migration d'une SPA Vue vers LiveView pour Alzo, et pourquoi cette simplicité réduit la fatigue de développement.
- Variations sur le pattern "utiliser un langage depuis elixir" Trois patterns pour intégrer d'autres langages avec Elixir : génération de code, embarquement via NIFs, et orchestration par jeux d'instructions. Exemples concrets avec PHP, Node.js et Java pour étendre les capacités d'Elixir.
- [Talk] ElixirConf EU 24 — Écrivons un langage jouet depuis zéro en Elixir Transcription complète de ma présentation ElixirConf EU 24 sur la création d'Ovo, un langage de programmation jouet. De la tokenisation à l'interprétation en passant par les parsers combinateurs. Introduction pratique aux compilateurs en Elixir.
- [Podcast] ElixirWizards S13E04 — Créer un télescope terrestre avec Nerves & LiveView Interview podcast ElixirWizards sur mon projet de télescope télécommandé avec Nerves et LiveView. Approfondissement de ma présentation Code BEAM EU 2023. Discussion hardware, IoT et projets personnels avec Elixir.
- Et si LiveView donnait accès au DOM à Elixir ? Expérimentations avec la manipulation directe du DOM depuis Elixir. Comment implémenter des opérations DOM en batch et séquentielles pour réduire les hooks JS dans des applications LiveView complexes d'édition de documents.
- Transcription distribuée avec Whisper et Elixir Construction d'un système de transcription distribué avec Whisper et Elixir pour Audioskop. Comment répartir le travail sur plusieurs machines avec la distribution native d'Elixir. Spoiler : j'ai découvert que Nx.Serving faisait déjà tout ça !
- Un nuage ☁️ alimenté par (Elixir+Nerves) (1/2) Installation artistique qui génère de vrais nuages avec des capteurs électromagnétiques et une pompe haute pression. Projet pour le collectif Lab212 avec Elixir, Nerves et LiveView.
- Hello AtomVM — Elixir & Erlang sur ESP32 Mes premiers pas pour faire tourner Elixir et Erlang sur ESP32 avec AtomVM. Installation de la toolchain, configuration du hardware, et premiers Hello World. L'écosystème BEAM sur microcontrôleurs, c'est possible !
- Hello Bumblebee. Hello, Whisper ! Première expérience avec Bumblebee pour intégrer Whisper en Elixir. Remplacer une file de scripts Python à orchestrer, par un simple GenServer.
- Plongée dans Plug.Conn.send_file/5 Archéologie de code : comment Plug.Conn.send_file descend jusqu'aux syscalls Linux. Exploration technique de la stack complète depuis Elixir jusqu'aux optimisations zero-copy du kernel. Pas un post fun, mais instructif.
- [Talk] Code BEAM EU 23 - Prototyper un télescope télécommandé avec Elixir Transcription complète de ma présentation Code BEAM EU 2023 sur la construction d'un télescope terrestre télécommandé. Nerves, Rust NIFs, LiveView et beaucoup de bricolage. Quand l'astronomie amateur rencontre Elixir.
- Moyennes périodiques avec des buckets débordants Comparaison de deux approches pour calculer des moyennes glissantes : buffers circulaires vs buckets en cascade. Les buckets sont plus rapides en lecture, parfait pour mon systèmes embarqué.
- Héberger un petit langage (Ovo2) depuis zéro en Elixir, pt 7
Fonctionnalités bizarres, vers une machine à états globalePartie 7 d'Ovo2 : on sort des rails ! Fonctions avec état, registre global de programmes et invocations cross-program. Exploration délibérément dangereuse des fonctionnalités expérimentales d'un langage de programmation. - Héberger un petit langage (Ovo2) depuis zéro en Elixir, pt 3
ParsingPartie 3 d'Ovo2 : construction de combinateurs de parsers en Elixir. Transformation des flux de tokens en AST avec des combinateurs either/any. Parsing fonctionnel sans regex, juste du bon vieux pattern matching. - Le télescope Elixir
Partie 5 : Porter la simulation de profondeur de champ vers Elixir + RustPartie 5 du télescope Elixir : portage des simulations de profondeur de champ vers Elixir avec des NIFs Rust. Calculs optiques haute performance via Rustler pour le système de mise au point télécommandé. - Le télescope Elixir
Partie 4 : Simuler la capture d'image et la mise au pointPartie 4 du télescope Elixir : simulation de capture d'images et systèmes de mise au point. Calculs optiques réalistes avec champ de vision, limite de Dawes et profondeur de champ. L'optique rencontre Elixir. - Imago, hachage perceptuel d'images Elixir + Rust Imago : bindings Elixir vers image-rs pour le traitement d'images haute performance. Génération de hashes perceptuels et empreintes de luminance. Mon premier projet Elixir + Rust, à l'époque où Rustler avait peu d'exemples.