Blog Posts

Real-Time (Co)Maps While Flying

Comaps is an open-source navigation app that works completely offline. With Comaps, you can track your real-time location in airplane modeβ€”just like an in-flight map, but on your own phone.

read more β†’

Implement Custom Tramp Method in Emacs

Emacs supports editing remote files using the Tramp package. Emacs transparently handles the remote files based on the special path prefixes specified, so the experience is similar to operating on a local file. Tramp uses a remote shell underneath to access remote files. In this article, I'll talk about how to extend Tramp to support custom Methods to access remote files.

read more β†’

XMLRPC

In this article, I'll talk about a pretty old RPC Protocol, XMLRPC. It is over 20 years old now and, it is mostly associated in legacy systems. I'd have never come across it if it wasn't for ROS. ROS 1.x still uses XMLRPC for all of its communication. So, I decided to read out the protocol specification.

read more β†’

Introduction to ROS

ROS is an acronym for Robot Operating System, but contrary to the name it is not an operating system. Instead, ROS is an open-source framework for building software for Robots. I got introduced to ROS in my current company which is a Cloud Robotics startup. In this article, I'll give a general introduction to ROS based on what I learned.

read more β†’

Selfhosting

In this article, I'll share my thoughts about Selfhosting.

read more β†’

Bitwarden RS

I’ve been a happy user of Bitwarden for over a year. In this article, I’ll talk about an alternate implementation of Bitwarden and my experience with it.

read more β†’

Pitfalls of Gorm: Unique Index

Gorm is a popular ORM library in Golang that supports the most commonly used Relational Databases. In this article, I want to talk about a subtle problem in the unique index support for Gorm.…

read more β†’

Redlock

Salvatore Sanfilippo described an algorithm using Redis to implement distributed locking called Redlock. In this article, we will talk about this algorithm.

read more β†’

The Strange case of Golang's Append

Today while working on a Golang code-base at work, I came across an anomaly, or at least that's what I thought.…

read more β†’

Vanity Imports in Golang

The imports in Golang are the full path of the package including the domain name. It is common to host the packages on Github and use it for import as well. However, there are two problems with it.

read more β†’