Categories
2026
Designing a Homelab Backup Strategy I Can Actually Trust

How I Use Obsidian for Work, Personal Life, and AI

How the Supernote Became the Starting Point for Almost Everything I Write

My homelab stack in 2026: what runs, why, and how it all connects

Designing Single-Purpose Agents Instead of One Big Automation Script

Backing Up the One Credential That Can't Be Wrong

Running a Personal SOC: Bringing Production Security Practices Home

2023
Stripe webhooks with NextJS

NextJS api validators

UI Design - Rent A Car

Create a blog with supabase and nextjs - part 5

Create a blog with supabase and nextjs - part 4
-1110355_hu_532f23320a5492f4.jpg)
Github actions: Deploy a Hugo website to a FTP server

Create a blog with supabase and nextjs - part 3

Create a blog with supabase and nextjs - part 2

Create a blog with supabase and nextjs - part 1

Supabase initial DB migration
Supabase edge functions - a quick start
Setup supabase locally with docker

2014
How to change colors with a smoothly effect
LD31 - Game submitted

Ludum Dare 31 - first day
LudumDare 30 : results

LudumDare 30: 2LOVERS - Post mortem

LudumDare 30 : Day 1

LudumDare 30 : I'm in !

Jawbone UP analyzer application update
Jawbone UP analyzer - Work in progress
Chromecast : first impressions
1GAM updates
February's 1GAM
Tools for better productivity
2012
A quick start with nape and tilelayer
AGE - How to support physic engines
AGE - Box2D support
Case study: mobile app with Haxe
AGE - QuadTree implementation
AGE project setup
AGE : Another Game Engine
Génération aléatoire d'un donjon

Appliquer un tileset sur une tilemap
HxSpriter released
FlxCollisions port to Haxe

Tmx format with Flixel Haxe
My entry for Ludum Dare 23











