I'm Tom Niget (pronounced /ni.ʒɛ/), I'm 22, living in France and currently working on compilers and cloud infrastructure at Rapid.Space after getting an engineering degree in Computer Science at the Sophia Antipolis engineering graduate school (Polytech Nice).
I've wandered in many areas of the world of computers; from budgeting software to disk management utilities in my younger years, from real-time image processing to logic programming, from type theory to digital circuits. I've written programming languages, a Python IDE, a game for TI-84 calculators, low-level drivers for a managed kernel, and run Rust code on logic circuits.
I won first place in a European CTF competition with some friends while in high school, my work has been featured in a CS teachers journal (in French) and a Kotaku article, and I've front-paged /r/programming with a cursed Rust crate.
From time to time, I write blog posts about things that I find interesting.
- [2020; 2023] Engineering Degree in Computer Science, Polytech Nice
- [2018; 2020] Preparatory class for Engineering Schools, Polytech Annecy
- [2024; now)
elecanalysis - Automatic electricity cost calculator and comparator
- [2021; now)
graphrust - GPU-accelerated large graph (>1M nodes) viewer for a web scraping project
- [2023; 2024]
Typon - Work-in-progress research Python-to-C++ compiler with a focus on concurrency and interoperability
- 2023
PlexDLWeb - Web UI for downloading media from Plex without the Plex Pass
- 2023
openhab-config-gen - Set of tools that generates openHAB configuration files, InfluxDB alerts and ping checks from a list of Modbus-over-TCP equipments – research project
- 2023
physics_rust - Algodoo clone using the Bevy engine/ECS system and the Rapier physics engine (more or less another attempt at doing what phytestcs was supposed to be, but this time I'm willing to admit that I'm not smart enough to write a proper physics engine)
- 2022
security-iot-notre-projet - JavaCard applet for storing an RSA keypair and signing stuff with it, with a Python client and REPL
- 2022
macro-forth - Forth implemented in a Rust declarative macro using tt-munchers, blog post here
- 2022
usbrawmap - USB scancode mapper / driver for old nonstandard keyboards
- 2022
hm-infer-rs - Hindley-Milner type inference for Scheme, in Rust; with REPL
- 2022
hm-infer-cs - Hindley-Milner type inference for Scheme, in C#
- 2022
hm-infer-scheme - Hindley-Milner type inference for Scheme, in Scheme
- [2021; 2023]
inline-vbs - Embed VBScript (and JScript, Ruby, Perl, ...) code seamlessly inside Rust using the Active Scripting COM APIs, blog post here
- 2022
embed-c - Embed C code at compile time inside Rust using C2Rust, blog post here
- 2022
WordleCE - Wordle implementation on the TI CE calculator family
- [2022; 2023]
parm_extended - ARM CPU implemented from scratch in logic circuits on Digital; Rust standard library and build toolchain with real programs running on it (Web server, Scheme REPL, VT100 emulator), blog post here
- 2021
si4-s8-options - school courses choice solver
- 2021
red_blue_graph_solver - algorithmic analysis of the "red-blue" graph problem related to connectivity inference
- 2021
logisim-connectfour - Connect Four implemented as a logic circuit
- 2021
logisim-pong - Pong implemented as a logic circuit
- 2021
FastMark - fast, efficient watermarking tool
- 2021
soyouz - school project / boat and sailor control code for a pirate battleship game + 2D/3D game simulator
- 2021
ps6 - school project / quiz web-app with an emphasis on accessibility and usability
- 2020
logic - symbolic first-order predicate logic expression manipulation tools
- 2020
takenoko - school project / "Takenoko" board game, AI players
- 2020
sudoku - sudoku solver using a backtracking algorithm
- [2020; 2021]
phytestcs - simple, scriptable physics engine
- [2019; 2020]
polytheque - blog / article system mainly used for hosting CS lessons, tutorials and learning resources for my classmates
- [2018; 2019]
tpepeip1 - school research project / measuring heart rate from a live webcam video stream, using OpenCV
- [2018; 2020]
unidos - userland MS-DOS emulator based on Unicorn engine, forked from original
- [2018; 2019]
Turing - pseucodode / Python IDE made for teaching and beginners, featured on EPI (French CS/IT teachers association), available from Ubuntu and Debian package repositories
- [2017; 2021]
TOMB5 - Tomb Raider: Chronicles disassembly and decompilation (x86, MIPS) project, featured on Kotaku
- 2016
GestionFichiersEleves - small utility developed for my high school; automatically computes what textbooks a student needs based on what they're majoring in
- [2016; 2021]
USBFastBoot - start a VM on an ISO file or USB drive from the context menu
- [2015; 2017]
Hassium - object-oriented scripting language
- [2015; 2021]
SharpBoot - multiboot CD / USB creation tool, similar to XBoot or YUMI, featured on CNET
- [2014; 2015]
IMPression - math and numeric algorithms library with a parser and WPF user interface including 2D/3D plotting features
- 2014
SharpRenamer - basic batch file renaming tool
- 2014
SharpSweeper - minesweeper clone
- 2014
RegistryFS - the Windows Registry as a Dokan userspace FS
- [2014; 2015]
CrediNET - personal budgeting app
- 2013
Split# Network Toolkit - prototype of a web server for a prototype of a programming language
- 2010
ZBiblio - software for managing collections of movies
- 2010
mdi-notepad - simple MDI notepad
- [2020; now)
Logisim-evolution (maintainer) - digital logic circuit design and simulation tool
- helped with huge refactors and modernization of legacy code
- wrote the Buzzer component and its sound synthesis module, supporting fully customizable different waveform types
- ported the Telnet component from Digital
- 2024
Immich - self-hosted photo management solution (Google Photos alternative)
- 2023
Themerr-plex - plugin for Plex Media Server that adds theme songs to movies using ThemerrDB
- 2022
cargo-breaking - cargo command for automatically detecting breaking changes between versions of a project
- 2022
restest - declarative REST API testing utilities
- [2017; 2022] TRWiki / TRosettaStone3 (maintainer for various community projects) - Wiki / knowledge base about the classic Tomb Raider games series from 1996-2000
- converted the old source document to Wiki format
- catalogued hundreds of items from the games
- helped document various file formats
- [2014; 2015]
Cosmos - C# operating system construction kit
- wrote a PS/2 keyboard driver with key layout handling, some ACPI tools
- 2013
Ocular - WYSIWYG HTML editor, similar to Adobe Dreamweaver