Ankit R Gadiya

My little corner of the internet 🙌

Why Self-host?

A lot of Tech Giants offer seemingly free services to millions (or even billions) of users. The operational cost for such massive services is definitely not cheap. So, how are they paying the bills? There is a common saying, “if you are not paying, then you are the product”. The companies earn profit from the targeted advertising business. The services track users and collect as much information from the users as possible. This information is then (indirectly) sold in the form of highly targeted advertisements.

Read more...

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...

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. For more context, let's first briefly discuss Database Indexes and how Gorm supports them. Feel free to skip the next few sections if you already know about them, or you are not interested.

Read more...

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

Read more...

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...

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...

SQLite is one of the most popular embedded relational database. The SQLite native libraries or language bindings are available for most popular languages. SQLite files can be accessed either interactively or using shell scripts using the command-line utility.

Read more...

Why do some men think of themselves as superior to women?

Read more...

Git is a Distributed Version Control System or DVCS, created for the Linux Kernel project. The idea behind a DVCS is that there is no concept of central repository.

Read more...

I started using Pocket in 2018, and since then, I became one of the top 5% of there userbase (according to one email I received). But recently, I decided to switch to Instapaper. I had several reasons for making the move that I'll talk about in this post.

Read more...