Posts


Nov 29, 2025

Yantra v0.1

Yantra workflow screenshot

Journey so far and v0.1 alpha announcement

It’s been close to 4 weeks since I last wrote about Yantra. Within a week I wanted to wrap up the project, clean it up and then make the repo public. In a classic case of chasing the next interesting project to do, I got distracted with electronics and began 3 separate projects (Will write about it in the future). I was also apprehensive about sharing the code as I kept finding edge cases that I wanted to fix before release. It was an endless cycle of fixing and testing. So I finally had to take a call and release it in whatever state it is in.

Nov 2, 2025

Understanding Yantra's DAGs: Why Workflows in Yantra Are Graphs

NOTE: I asked Claude to help me distill this topic from my notes, and it did such a fine job that I hardly made any changes. I left this explanation in place because it's a succinct overview of Yantra's node execution process.

At its core, Yantra represents workflows as Directed Acyclic Graphs (DAGs). Let’s explore exactly what that means and why this design choice is crucial .

What Is a DAG?

  • Directed: Data flows in one direction (node A → node B)
  • Acyclic: No loops back to previous nodes (no infinite cycles)
  • Graph: Nodes (tasks) connected by edges (data flow)

Why Not Just a List?

Because real workflows aren’t linear. Consider a typical DevOps automation:

Nov 2, 2025

Building Yantra: A Visual Workflow Automation Engine

Yantra splash demo

The Inspiration: From Cartoons to media processing libraries to Real Problems

Growing up, I was fascinated by Tom’s and Wile E. Coyote’s elaborate contraptions that set up impossibly complex chain reactions. The end result was usually Jerry or the Road Runner outwitting them, but it wasn’t the fault of the machine itself. I even attempted a few times to set up my own Rube Goldberg machine. I was thinking the other day that I find some DevOps tasks fun for exactly the same reason. The magic is how the chain comes together and ultimately produces some result. It’s fun to see the chain reaction in action.

Apr 26, 2020

TP-Link Archer T4U v3 on Ubuntu 20.04

To help with my work I recently installed Ubuntu 20.04 on my home computer. 20.04 is surprisingly snappy, crisp and stable on my home computer (Ryzen 7 1700, 32GB 3200Mhz DDR4, GTX 1080, NVME drives). However I hit upon an interesting problem with a USB WiFi dongle that I use TP-LINK Archer T4U v3, It did not work out of the box. So as expected I had to look at the self compiling of drivers route.

Feb 25, 2020

Enable/Disabling Firebase Crashlytics on runtime in Android

Recently I integrated Firebase’s Crashlytics solution into one of our main Android products. It’s fairly easy to integrate, just 4 steps as per Crashlytics’s documentation here. But as with any reporting system there involves the issue of privacy and data collection problem. Always important to inform the user if you are collecting any information and also request for their consent to do so. By default Crashlytics’s behavior is to start reporting on every crash. So instead if you want to setup an opt-in process then all you have to do is

Feb 22, 2020

Synergy with SSL on Raspberry Pi 4

End of 2019 my daily driver 2015 MacBook Pro was beginning to show signs of ageing. Especially when I’m running multiple IDE’s, terminal emulators and browsers running in the background. Also two monitors (Laptop’s built in and an external 1080p monitor) was just not enough. I had to constantly switch between IDE and system monitoring and IRC/Slack clients. But driving more than two monitors would be next to impossible on it. However the processor inside is pretty decent for my current requirement of Android and web development. To solve this dilemma of to upgrade or not upgrade I decided to make a pros and cons list