42sh.
An advanced Unix shell. Lexer, parser, redirections, pipes, job control — written in C from first principles. Memory discipline enforced under Valgrind.
An advanced Unix shell. Lexer, parser, redirections, pipes, job control — written in C from first principles. Memory discipline enforced under Valgrind.
A virtual machine and assembler for the classic program-vs-program arena. CPU-style execution engine: registers, opcodes, cycles to die. Two champions enter a shared memory; one survives.
A digital logic simulator with tri-state values, clocked components, and a clean OO component model. Wire arbitrary gates together; tick the clock; observe propagation.
Led the redesign of a Vietnamese B2B website for Becker Chemie (Germany). Rebuilt the lead-gen funnel and shipped trilingual content end-to-end in under ten weeks, coordinating daily across HCMC, Mulhouse, and Düsseldorf.
A multiplayer 3D browser game built in 48 hours. Three.js for the scene, custom Blender assets, real-time networking, and the rare satisfaction of shipping something playable before sunrise.
French native, English C1, Vietnamese fluent, German B1. That mix has been quietly useful — the Becker engagement ran across three time zones and three languages without translation friction.
The systems projects (42sh, CoreWar, NanotekSpice) are deliberate. C and C++ aren't on my résumé as buzzwords; they're proof I understand what's happening underneath the framework — memory, lifetimes, the shape of a process.
Outside the editor: filmmaking, 35 mm photography, classical and electric guitar. The same instinct — composition, rhythm, knowing when to hold back.
Click a folder to explore · Click a photo to view full-size