Projects
Hobo Kernel
HOBO is a specialized kernel developed in Rust and RISC-V Assembly, targeting microcontrollers in IoT applications. Its
primary purpose is to streamline the installation and execution of WebAssembly (WASM) modules on IoT devices. HOBO
achieves this by exporting system calls using WebAssembly System Interface (WASI) prototypes and running WASM modules in
Supervisor-mode. This approach enhances code portability and security within the IoT ecosystem while still preserving performance, making it easier for
developers to deploy and manage applications on a variety of microcontroller platforms.
The kernel has been written in Rust and Riscv Assembly, targeting the Qemu-Riscv-virtual Machine.
[ongoing Project]
Rust Driver Development Book
This book is on driver development using Rust. You get to procedurally write a UART driver for a RISCV chip called
ESP32C3.
This book is being written as part of the RustaceansKenya's embedded guide.
[ongoing Project]
About
I'm currently a low-level systems developer and independent researcher on better formalisms & execution environments. Specialized in firmware development; Pivoting to formal programming.
Proficient in Rust, Riscv, Agda & Rocq. I can find my way through C and C++ codebases.
My main goal in life is to :
Engineer tech for Africans and humanity in general
Make it ergonomic to correctly abstract physical matter ie Bridge the gap btwn physics & Computation
Contribute to world peace via philosophically-bound engineering
Currently learning Homotopy Type theory with the aim of:
Understanding and redefining Math formally
Use the formal math to formalize theoretical physics
Using HoTT as the foundation of a CORRECT, resource efficient lang that can interact with an asynchronous execution environment
Links to Things
Coming soon
Still finding my footing.
Still choosing my fighting stance.
Skills
- Low-Level Systems Development: Proficient in developing firmware and software for embedded systems. Doable in C/C++/Rust
- RISC-V Development: Experienced in working with RISC-V architecture. I can fumble with the other ISAs... but only if pushed to the wall
- WebAssembly (Wasm): Knowledgeable in using WebAssembly for off-browser applications, IoT, and
embedded systems.
- Technical Documentation: Sometimes I get motivated to create detailed technical and non-technical documentation. Writing documentation is a good distraction from doing actual work.
- Salesmanship: Yea... salesmanship
Aahh, people skills? what are people? I am robot... beep bop
Experience
- Web Developer at IMS Guru. (2023 - 5 months) - For 5 months I tried to understand web-development. Collaborated with 2 other devs in building 2 production-ready websites. Sometimes I talked with clients. Sometimes I wrote documentation. But on most days, I just spent them learning new stacks and thinking..."This is not impostor syndrome, this is incompetency on my side. Why am I not re-writing the entire codebase in Rust?".
Projects
Sigh, I will count my projects as part of my experience... because they have taken me more that a year to accomplish.
You can check them out here
Education
- University of Nairobi - Computer Science (2019-2023) - This was where I got mental breakdowns and played videogames
- Maranda High Sch (2015-2018) - This was where I learnt how to fight for food. Tough battles my frwen.