I've been writing code since 2001 and working professionally since 2011. Most of my professional work is under NDA or proprietary, so I can't point to it publicly. What's here is the personal side: low-level, hardware, and network projects I build on my own time.
My first language was VB6, followed by C and Pascal. That background shaped the systems-level work I still prefer. Professionally, Java has been my main language, most recently building Java and Go microservices on Kubernetes.
Outside work I mostly write C, and I like targets that are awkward: tight memory budgets, heterogeneous CPU topologies, and architectures beyond x86 and ARM.
- PowerPC: Linux and NetBSD userland and kernel-adjacent work on PlayStation 3, Wii, and WiiU.
- Cell BE: The PS3 is where I learned SPU programming. Managing local store, DMA, and work partitioning across SPEs taught me a lot about parallelism and hand-optimizing for a specific microarchitecture.
- RISC-V: In mid-July 2026 I got my first RISC-V hardware, a small Linux-capable SBC. It's the newest addition to the board collection.
I run a home lab built around second-hand carrier-grade gear: old Cisco and Juniper routers and switches. Running real IOS and Junos on retired hardware is a cheap way to learn how production networks behave, including the quirks and failure modes that vendor docs gloss over.
I also have my own ASN and work with BGP directly: announcing prefixes, configuring sessions, and tuning routing policy, rather than just reading about it. Having a real autonomous system to experiment with makes routing concepts concrete in a way a lab simulator can't.
I also interested in hardware design, custom boards, and bringing up small systems. I'm most interested in where software and hardware meet, and in building tailored, resource-efficient solutions for specific applications.
These are personal projects. They are independent of my employment and are not endorsed by or affiliated with any employer.