I'm Tom Niget (pronounced /ni.ʒɛ/), I'm 21, 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.
- [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
- 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
- [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
- [2017; now) 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