All Posts
Autonomous Turtle Chase
- 23 March 2026
Autonomous interception agent in ROS Turtlesim — PID-controlled pursuit with trajectory prediction and circle-fitting to intercept a moving target from sparse, delayed positional data.
ESP32 Guru Meditation: Remote Crash Diagnostics
- 22 September 2025
I had been working on HardFault diagnostics for ARM Cortex-M — capturing crash logs on fault and storing them for later analysis. That naturally led me to look at how ESP32 handles the same problem, which is through its Guru Meditation mechanism. This post walks through a project that captures ESP32 coredumps to flash and uploads them over HTTP to a Flask server for remote analysis.
ARM Cortex M Hardfault Handling
- 19 August 2025
ARM Cortex-M HardFault handling with focus on exception and interrupt behavior, exception return flow, stack usage, and debugging scenarios. Includes references from The Definitive Guide to ARM Cortex-M3/M4 Processors and practical STM32 examples such as startup code, UART I/O, and fault diagnosis.
Getting to know lambdas in C++
- 11 May 2025
\(\lambda\)s in C++: Nameless functions serving sweet syntactic sugar — just enough to give your codebase diabetes.
Advent of Code 2024 [Days 10 and 11]
- 21 February 2025
The plutonian pebbles are getting out of hand! And we also have to find a hiking trail.
Learning CPP via Advent of Code 2024 [Day 9]
- 15 February 2025
This isn’t how you’re supposed to defrag a disk… right?

Advent of Code 2024 [Days 6 to 8]
- 18 January 2025
This is my progress log for Advent of Code 2024, where I’m tackling the challenges using C++ to get good at the language. Contains work of Day 6 to Day 8.
Learning CPP via Advent of Code 2024 [Days 1 to 5]
- 04 January 2025
This is my progress log for Advent of Code 2024, where I’m tackling the challenges using C++ to get good at the language.
Late Binding of Python Closures
- 22 July 2024
A subtle source of bugs in loops and closures. When lambda functions capture loop variables, they may not behave as you expect.
Writing C wrapper for C++ libraries
- 12 June 2024
When working on projects that involve both C and C++ components, integrating functionality between the two can sometimes pose challenges due to the differences in their language constructs and compilation models. One common scenario is when you have a C++ library that you want to use within a C codebase.
Threads in PySide6, Python packaging and Executables
- 15 January 2024
This post seves a guide as well as notes for developers working with PySide6. It covers topics such as managing output streams across scripts, running Python scripts in separate threads, and creating executable Python packages.