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


  • 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.