
Debug a crashing C program on Windows using RAD Debugger and Visual Studio.

I'm a front-end developer transitioning toward C++, Rust, Linux, and systems programming. I enjoy building native applications and learning through hands-on projects.
Alongside my full-time work, I create educational content on my YouTube channel and build all kinds of side projects.
This is my personal website, where I share my projects, technical work, research, and things I'm learning along the way.
About Me
Debug a crashing C program on Windows using RAD Debugger and Visual Studio.

Explores Qt's long history, its role in KDE and the wider software ecosystem, and how it powers desktop, embedded, automotive, medical, and industrial interfaces.

Builds a Linux system monitor while exploring uname(), the /proc filesystem, process information, memory usage, and CPU utilization.

Explains how Conflict-free Replicated Data Types let multiple users or devices edit the same file, and how updates can converge across replicas.
Native applications, systems software, graphics tools, and Rust/C++ libraries.


A native app for managing systemd services for the Cosmic Desktop Environment.

A native budgeting app built around a shared Rust core.

A cross-platform desktop app for orchestrating native LLM harnesses.
This article walks through the problem of concurrent file editing in a local, single-instance desktop application and explains how the author solved it with Conflict-free Replicated Data Types (CRDTs), using a Hybrid Logical Clock with a device id as a tie-breaker to guarantee deterministic convergence.
A study of GNOME/Mutter MR 4725, which fixes a compositor thread stall on Nvidia GPUs by replacing a blocking buffer lock call with an event-driven approach using sync file descriptors and GLib's main loop.
Apple's "The Illusion of Thinking" suggests reasoning models may simulate, not perform, true reasoning—excelling at pattern matching but failing as problem complexity rises.