Home ¦ Posts ¦ Books ¦ Articles ¦ Talks ¦ Notes

About

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.

Poor man's zero downtime deployment setup using Traefik

Recently, I wrote two articles about using traefik as a reverse proxy. The first article discussed deploying a ASP.NET framework application and the second discussed deploying ASP.NET core applications.

In both cases, I demonstrated the following:

  • Docker native integration
  • In-built support for LetsEncrypt SSL certificates

One of the …


Scheduled task to prune docker images on Windows server

Windows docker images can be bulky and on a server that you are deploying your application as docker images, the free disk space becomes a metric to watch out for. The following script will setup a Scheduled tasks to be run at a 7.0 PM UTC which will prune …


Ephermal source port ranges and docker build

TLDR; If you are having trouble with docker build and ephermal port ranges, we can use iptables to solve the issue:

$ sudo iptables -t nat -I POSTROUTING -p tcp -m tcp --sport 32768:61000 -j MASQUERADE --to-ports 49152-61000

I have written previously about how things get interesting with ephermal …


AWS CodeDeploy Deployment Group and Initial Auto Scaling lifecycle hook

When we create an AWS Code Deploy deployment group via Terraform or CloudFormation and integrate with an Auto Scaling Group, it also by default creates an initial lifecycle hook which ensuresthat a new code deployment gets triggered when a scale-out event occurs.

It is all very "magical" and it is …


Hard Links and Soft/Symbolic Links on Linux

Much has been written (and asked) on the topic of hard links and soft links (a.k.a symbolic links) on Linux. I have read a few of those more than once. However, I end up getting confused between the two, specifically the differences between the two. So, here's my …


Let's Encrypt, GoDadday DNS and IIS server

I wanted to create a new SSL certificate for IIS hosted ASP.NET framework application. The key data that may make this post relevant to you are:

  • Let's Encrypt Challenge mode: DNS TXT record
  • DNS provider: GoDaddy
  • Target web server: IIS
  • Target operating system: Windows
  • Local operating environment/system: Linux …

Fedora Scientific Vagrant boxes are here!

Fedora Scientific brings together the most useful open source scientific and numerical tools atop the goodness of the KDE desktop environment. From the beginning, our focus has been to provide scientists, engineers and programmers in numerical/scientific computing a Linux distribution which has most of the tools that they would …


On sane defaults in sofware tools

My task at hand was simple. Build a Docker image of a ASP.NET application (full framework) hosted in IIS on a build host (host1) and move it to a deployment host (host2) and run it. This is a story of how I spent close to two full working days …


AWS VPC subnets and Internet connectivity over IPv4

We can have two kinds of subnets inside a AWS VPC - private and public. A public subnet is one which is attached to an Internet Gateway. This essentially adds a routing table entry to the subnet's routing table sending all Internet traffic to an Internet Gateway. On the other hand …


flyway baseline: Introducing flyway migrations into existing database

If you are trying to introduce flyway to an existing database with the schemas and tables already created, you may find flyway baseline command useful.

Let's say you already have the migration scripts written, or perhaps dumped out of your existing DB setup, and they are:

V1__foo.sql
V2__foo_new.sql …

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