Home ¦ Posts ¦ Books ¦ Articles ¦ Talks ¦ Notes


Hello, My name is Amit - I am interested in programming, software tools, systems and infrastructure. A lot of what I explore in software makes it to my blog posts, articles, books, talks and GitHub repositories. If you would like to get an email everytime I write something new, please subscribe to my newsletter. You can contact me via email, on Twitter and on LinkedIn.

Blog posts

My post recent posts are below. So far, I have written about C, Fedora, Golang, Infrastructure, Python and various others.

A demo plugin based Python code analyser

A few weeks back I wrote a analyser for Apache Thrift IDL in Python. We used it to enforce some code review guidelines. When we hooked it onto arcanist lint engine, we could give feedback to developers at the time they were proposing a code change. The thrift parsing was …

PYCON US 2018 talk: Counter, Gauge, Upper 90 - Oh my!

In a couple of days, on Saturday, I will be delivering my PYCON US talk titled Counter, Gauge, Upper 90 - Oh my!.

This talk covers my journey into application monitoring in general and Python applications specifically. We will start with looking into the why of monitoring, learn the absolute basics …

Fedora Scientific 28 is here!

Fedora 28 is out and I am happy to share that after a few releases of no Fedora Scientific, we are back. Thanks to all your emails and enquiring about whether Fedora Scientific is dead.

Fedora Scientific 28 Download

Go Download it now!

The Fedora Scientific Guide has been updated a bit as well …

How does ping roughly work over IPv4 on Linux?


The ping program is one of the most common programs which is used to check the "aliveness" of a host and a typical execution looks as follows:

$ ping -c 1 -4

PING ( 56(84) bytes of data …

Notes on using Cloudflare DNS over HTTPS

I recently learned about Cloudflare's DNS service. One of the more interesting things that caught my attention there was DNS over HTTPS. That is, we can do this:

22:27 $ http 'https://cloudflare-dns.com/dns-query?ct=application/dns-json&name=echorand.
HTTP/1.1 200 OK …

Fedora Scientific 28 Beta

Fedora 28 beta was announced recently and I am happy to say Fedora Scientific is back.

One note though, the following applications/libraries are not part of the release:

  • networkx
  • scilab
  • sagemath
  • rkward

You can install them on your installation using:

$ sudo dnf install python*-networkx scilab sagemath rkward

The …

Setting up AWS EC2 Assume Role with Terraform

In this post, we will see how we can implement the AWS assume role functionality which allows an IAM role to be able to obtain temporary credentials to access a resource otherwise only accessible by another IAM role. We will implement the infrastructure changes using Terraform and see how to …

Automatic building and publishing DEB packages for Golang applications

In my earlier post, Quick and dirty debian packages for your Golang application I shared a recipe building DEB packages for Golang applications. We are going to see the following things in this post building upon our recipe in that post:

  • Building the DEB packages in Travis CI
  • Publishing the …

Detecting RLO character in Python

At work, I learned about how Right-to-Left Override was being used to make actually malicious files to look harmless. For example, a .exe file was being made to appear as .doc files. We didn't want to allow uploading such files. This meant that I nedded to detect the presence of …

Sorted Sets in Redis from CLI, Python and Golang

In this post, we will see a demo of sorted sets in redis. I just learned about them and I think they are really cool! This post shows how we can play with sorted sets first via the redis-cli, then from Python and Golang.

 .───────────────.          │            │           .─────────────.
(    Redis CLI    )   ───▶  │   Redis    │  ◀─────  (    Golang     )
 `───────────────'          │            │           `─────────────'
                          (    Python     )

We …

© Amit Saha. Built using Pelican. Customised theme based on the one by Giulio Fidente on github.