Blog Posts

My Emacs Presentation Stack

When I need to do presentations at work, I naturally reach for Emacs. My presentations include diagrams, code snippets and running small shell blocks. I found that Org Mode with Babel is the perfect fit. In this post, I'll describe my presentation stack based on Org mode.

read more →

Church Booleans

In the last post, I covered the basics of Lambda calculus and its lack of built-in data types. Church encoding defines a way to represent data types as pure functions. In this post, I'll explore church booleans and control flow, and implement them using Python.

read more →

Lambda Calculus

Many modern programming languages trace their roots back to Lisp, which in turn builds on ideas from lambda calculus. In this post, I explore the core ideas of lambda calculus.

read more →

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 →