https://github.com/zdimension/zdimension
https://github.com/zdimension/zdimension
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/zdimension/zdimension
- Owner: zdimension
- License: mit
- Created: 2021-08-03T19:01:16.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-12-30T01:20:27.000Z (about 1 year ago)
- Last Synced: 2025-03-01T21:47:32.082Z (12 months ago)
- Size: 218 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hey there!
[
](https://www.linkedin.com/in/tom-niget/) [
](https://twitter.com/zdimension_)
[
](https://zdimension.fr)
I'm Tom Niget (pronounced /ni.ʒɛ/), I'm 22, living in France and currently:
- working on [compilers](https://typon.nexedi.com/) and cloud infrastructure at [Rapid.Space](https://www.rapid.space/) after getting an engineering degree in Computer Science at the [Sophia Antipolis engineering school (Polytech Nice)](https://polytech.univ-cotedazur.fr/)
- teaching CPU design, Linux, system administration, parallel programming, and some other things at my alma mater [Polytech Nice](https://polytech.univ-cotedazur.fr/) and at [IUT Nice Côte d'Azur](https://iut.univ-cotedazur.fr/)
I've wandered in many areas of the world of computers; from [budgeting software](https://github.com/zdimension/CrediNET) to [disk management utilities](https://github.com/zdimension/SharpBoot) in my younger years, from [real-time image processing](https://github.com/zdimension/tpepeip1) to [logic programming](https://github.com/zdimension/si4-s8-options), from [type theory](https://github.com/zdimension/hm-infer-scheme) to [digital circuits](https://github.com/zdimension/logisim-pong). I've written [programming languages](https://github.com/HassiumTeam/Hassium), [a Python IDE](https://github.com/TuringApp/Turing), a [game](https://github.com/zdimension/wordle-ce) for TI-84 calculators, [low-level drivers](https://github.com/CosmosOS/Cosmos) for a managed kernel, and run [Rust code on logic circuits](https://twitter.com/zdimension_/status/1554953047847337985).
I won first place in a [European CTF competition](https://esisar.grenoble-inp.fr/en/about/csaw-results) with some friends while in high school, my work has been featured in [a CS teachers journal](https://www.epi.asso.fr/revue/lu/l1806n.htm) (in French) and [a Kotaku article](https://www.kotaku.com.au/2018/02/decompiled-tomb-raider-source-code-reveals-loads-of-vulgar-commentary/), and I've [front-paged /r/programming](https://www.reddit.com/r/programming/comments/t0pzxb/tired_of_safe_programming_embed_c_directly_in/) with a [cursed Rust crate](https://github.com/zdimension/embed-c).
From time to time, I [write blog posts](https://zdimension.fr/) about things that I find interesting.


# Best friends

# Education
- [2020; 2023] Engineering Degree in Computer Science, [Polytech Nice](https://polytech.univ-cotedazur.fr/)
- [2018; 2020] Preparatory class for Engineering Schools, [Polytech Annecy](https://www.polytech.univ-smb.fr/)
# Projects
## Author
### Current
- \[2022; now)
[parm_extended](https://github.com/zdimension/parm_extended) - ARM CPU implemented from scratch in logic circuits on [Digital](https://github.com/hneemann/Digital), [blog post here](https://zdimension.fr/crabs-all-the-way-down/)
- home-made optimizing assembler and linker
- freestanding optimizing C compiler
- Scheme interpreter and REPL
- VT100 emulator
- MIDI player
- basic HTML rendering engine
- async-based cooperative tasking
- \[2021; now)
[graphrust](https://github.com/zdimension/graphrust) - GPU-accelerated large graph (>1M nodes) viewer for a web scraping project
- with (not yet released) Neo4j-based Facebook scraper (full DB is >180M nodes)
### Past
- 2025
[ADE Scraper](https://github.com/zdimension/ade-scraper) - resource scraper for the ADE planning system
- 2024
[elecanalysis](https://github.com/zdimension/elecanalysis) - Automatic electricity cost calculator and comparator
- \[2023; 2024]
[Typon](https://typon.nexedi.com/) - Work-in-progress research Python-to-C++ compiler with a focus on concurrency and interoperability
- 2023
[PlexDLWeb](https://github.com/zdimension/plexdlweb) - Web UI for downloading media from Plex without the Plex Pass
- 2023
[openhab-config-gen](https://github.com/zdimension/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](https://github.com/zdimension/physics_rust) - [Algodoo](http://www.algodoo.com/) clone using the [Bevy](https://github.com/bevyengine/bevy) engine/ECS system and the [Rapier](https://github.com/dimforge/rapier) physics engine (more or less another attempt at doing what [phytestcs](https://github.com/zdimension/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](https://github.com/zdimension/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](https://github.com/zdimension/macro-forth) - Forth implemented in a Rust declarative macro using tt-munchers, [blog post here](https://zdimension.fr/stack-machines-and-where-to-find-them/)
- 2022
[usbrawmap](https://github.com/zdimension/usbrawmap) - USB scancode mapper / driver for old nonstandard keyboards
- 2022
[hm-infer-rs](https://github.com/zdimension/hm-infer-rs) - Hindley-Milner type inference for Scheme, in Rust; with REPL
- 2022
[hm-infer-cs](https://github.com/zdimension/hm-infer-cs) - Hindley-Milner type inference for Scheme, in C#
- 2022
[hm-infer-scheme](https://github.com/zdimension/hm-infer-scheme) - Hindley-Milner type inference for Scheme, in Scheme
- \[2021; 2023]
[inline-vbs](https://github.com/zdimension/inline-vbs) - Embed VBScript (and JScript, Ruby, Perl, ...) code seamlessly inside Rust using the Active Scripting COM APIs, [blog post here](https://zdimension.fr/how-i-learned-to-stop-worrying-and-love-macros/)
- 2022
[embed-c](https://github.com/zdimension/embed-c) - Embed C code at compile time inside Rust using C2Rust, [blog post here](https://zdimension.fr/how-i-learned-to-stop-worrying-and-love-macros/)
- 2022
[WordleCE](https://github.com/zdimension/wordle-ce) - Wordle implementation on the TI CE calculator family
- 2021
[si4-s8-options](https://github.com/zdimension/si4-s8-options) - school courses choice solver
- 2021
[red_blue_graph_solver](https://github.com/thomasarmel/red_blue_graph_solver_1) - algorithmic analysis of the "red-blue" graph problem related to connectivity inference
- 2021
[logisim-connectfour](https://github.com/zdimension/logisim-connectfour) - Connect Four implemented as a logic circuit
- 2021
[logisim-pong](https://github.com/zdimension/logisim-pong) - Pong implemented as a logic circuit
- 2021
[FastMark](https://github.com/zdimension/FastMark) - fast, efficient watermarking tool
- 2021
[soyouz](https://github.com/zdimension/pns-si3-qgl-2021-soyouz) - school project / boat and sailor control code for a pirate battleship game + 2D/3D game simulator
- 2021
[ps6](https://github.com/zdimension/2020-2021-ps6-polytechnicois) - school project / quiz web-app with an emphasis on accessibility and usability
- 2020
[logic](https://github.com/zdimension/logic) - symbolic first-order predicate logic expression manipulation tools
- 2020
[takenoko](https://github.com/zdimension/takenoko) - school project / "Takenoko" board game, AI players
- 2020
[sudoku](https://github.com/zdimension/sudoku) - sudoku solver using a backtracking algorithm
- \[2020; 2021]
[phytestcs](https://github.com/zdimension/phytestcs) - simple, scriptable physics engine
- \[2019; 2020]
[polytheque](https://github.com/zdimension/polytheque) - blog / article system mainly used for hosting CS lessons, tutorials and learning resources for my classmates
- \[2018; 2019]
[tpepeip1](https://github.com/zdimension/tpepeip1) - school research project / measuring heart rate from a live webcam video stream, using OpenCV
- \[2018; 2020]
[unidos](https://github.com/zdimension/unidos) - userland MS-DOS emulator based on Unicorn engine, forked from [original](https://github.com/aquynh/unidos)
- \[2018; 2019]
[Turing](https://github.com/TuringApp/Turing) - pseucodode / Python IDE made for teaching and beginners, featured on [EPI](https://www.epi.asso.fr/revue/lu/l1806n.htm) (French CS/IT teachers association), available from [Ubuntu](https://packages.ubuntu.com/source/focal/turing) and [Debian](https://packages.debian.org/buster/turing) package repositories
- \[2017; 2021]
[TOMB5](https://github.com/TOMB5/TOMB5) - *Tomb Raider: Chronicles* disassembly and decompilation (x86, MIPS) project, featured on [Kotaku](https://www.kotaku.com.au/2018/02/decompiled-tomb-raider-source-code-reveals-loads-of-vulgar-commentary/)
- 2016
[GestionFichiersEleves](https://github.com/zdimension/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](https://github.com/zdimension/USBFastBoot) - start a VM on an ISO file or USB drive from the context menu
- \[2015; 2017]
[Hassium](https://github.com/HassiumTeam/Hassium) - object-oriented scripting language
- \[2015; 2021]
[SharpBoot](https://github.com/zdimension/SharpBoot) - multiboot CD / USB creation tool, similar to *XBoot* or *YUMI*, featured on [CNET](https://download.cnet.com/SharpBoot/3000-18513_4-76449825.html)
- \[2014; 2015]
[IMPression](https://github.com/zdimension/IMPression) - math and numeric algorithms library with a parser and WPF user interface including 2D/3D plotting features
- 2014
[SharpRenamer](https://github.com/zdimension/SharpRenamer) - basic batch file renaming tool
- 2014
[SharpSweeper](https://github.com/zdimension/SharpSweeper) - minesweeper clone
- 2014
[RegistryFS](https://github.com/zdimension/RegistryFS) - the Windows Registry as a Dokan userspace FS
- \[2014; 2015]
[CrediNET](https://github.com/zdimension/CrediNET) - personal budgeting app
- 2013
[Split# Network Toolkit](https://github.com/zdimension/splitsharpnettoolkit) - prototype of a web server for a prototype of a programming language
- 2010
[ZBiblio](https://github.com/zdimension/zbiblio) - software for managing collections of movies
- 2010
[mdi-notepad](https://github.com/zdimension/mdi-notepad) - simple MDI notepad
## Contributor
### Current
- \[2020; now)
[Logisim-evolution](https://github.com/logisim-evolution/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](https://github.com/hneemann/Digital/)
### Past
- 2024
[Immich](https://github.com/immich-app/immich) - self-hosted photo management solution (Google Photos alternative)
- 2023
[Themerr-plex](https://github.com/LizardByte/Themerr-plex) - plugin for Plex Media Server that adds theme songs to movies using ThemerrDB
- 2022
[cargo-breaking](https://github.com/iomentum/cargo-breaking) - cargo command for automatically detecting breaking changes between versions of a project
- 2022
[restest](https://github.com/iomentum/restest) - declarative REST API testing utilities
- \[2017; 2022] [TRWiki / TRosettaStone3](https://trwiki.earvillage.net/) (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](https://github.com/CosmosOS/Cosmos) - C# operating system construction kit
- wrote a PS/2 keyboard driver with key layout handling, some ACPI tools
- 2013
[Ocular](https://github.com/zdimension/Ocular) - WYSIWYG HTML editor, similar to Adobe Dreamweaver
