I'm Lui. I build stuff, and I occasionally break stuff.
I love writing low-level code, such as operating systems, drivers, game engines, compilers, and embedded / IoT.
I also like working on games, and I do some 3D modelling on the side.
I have a passion for Linux and FOSS (Free and Open Source Software) in general. I use Linux on all my machines, both for development and daily PC usage. I also try to use FOSS everywhere I possibly can. Whether it's for programming, gaming, music making or art, I always prioritize software that respects the user.
- C++
- Assembly
- Arduino / avr-libc
- GNU coreutils, binutils and moreutils
- CMake
- GDB
- ...
chippy - An emulator of the Chip-8 architecture, written in C with raylib.
checkdown - A CLI utility for recursively checking the validity of hyperlinks in markdown files. Written in Rust.
haskell - I'm currently teaching myself Haskell with the help of Haskell programming from first principles by Christopher Allen and Julie Moronuki.
cyberdeck - I'm working on a little custom cyberdeck, consisting of an Rpi3b+, an RP2040, a couple screens and some other components. Nothing online yet, I'll be making this project public soon!
When looking at any of my repositories and reading through my code, always assume NO generative AI was used in writing ANY of the code in that repo, unless I EXPLICITLY state otherwise in the repo's README.md and the source file itself. I'm not necessarily anti-AI, I think it's very useful for shipping things that:
- Won't need longterm maintenance.
- Is small enough in scope to where it's realistic for one person to understand the entire codebase solely as a reader.
But I see little to no use in using it as a student. Don't get me wrong, I use AI all the time to learn (for example, to know what the equivalent of a C++ vector<> is in Java, or what are the most used TUI crates in Rust, or how the GUI designer works in IntelliJ, and much more), but I rarely use it to write code for me. I know how to; most of my blog is vibecoded (because I really didn't want to learn webdev), but I often choose not to because it's a soul-sucking activity. I genuinely enjoy writting code. I also enjoy learning, and using AI-generated code doesn't teach me anything.