Year in Review - 2019

2019! It was my first full year at work, first full year outside India, the first time I spent a considerable amount of time learning and conversing in a foreign language. I looked back on the things I did and experienced in 2019 and wrote down the ones that stood out.

Travel

I went to Europe for the first time! It was also the first time I travelled outside India with my parents. We spent about a week in Italy! We went to Vatican City and stood in the plaza in front of St. Peter’s Basilica. I enjoyed the food and coffee that is especially in abundance in Italy, the amazing nature around Lake Como and the clean, crisp mid-August air. I also realized that most of the paintings in Rome were about war, strife, hunger and conflict.

Read More

Notes and Review - The Trial (Kafka)

The text cannot be altered, and the various opinions are often no more than an expression of despair over it.

This text perfectly describes this book. But the author put it at around the 90% mark, right when the book is about to end and you are starting to understand the kind of closure you will get from this book.

As far as disorienting books go, I have found those with non-linear timelines to be the most disorienting. In particular, you don’t know what’s going on, you have completely lost your place in the story of the book, you are invested in seeing the main character get out of whatever jam they are in but you have absolutely... Read More

Notes and Review - The Lever of Riches (Mokyr)

Summary

The Lever of Riches is a great book. I think I say that about a lot of books though. Lever of Riches is a 3-part book. In the first part, Mokyr presents a concise history of Technological progress starting in 500 BC and ending around \1915. In the second part, Mokyr compares the relative technological progress in three periods across time and space and the possible reasons (he touches on religion, culture, geography and national sentiment as possible reasons). In the last part, he draws an analogy between Biological Evolution and Technological progress.

I liked the first and second parts immensely. I didn’t find the last part (the analogy) very intersting or useful.

Read More

Setting up Wireguard - Experience

twitter-screenshot

Note: There are several guides out there which have a set of steps and the commands to set-up Wireguard on a Linux computer. This post is written along those lines but takes a different approach - it focuses more on what one can learn about basic Linux networking by doing this setup themselves.

Premise

I started out with a fairly clear goal: Setup a VPN server inside a Digital Ocean droplet to forward all local traffic through, using wireguard.

I wanted to use Wireguard mainly because it was inside the kernel which had this subconscious implication that it would be blazing fast. Also, I have seen the video on Wireguard’s website which has Alice and Bob side by side and in about 7 commands the video shows how Bob: ping Alice starts working! This was fairly revoutionary to me because until now I had used two kinds of VPNs:

Read More

More about vim's formatlistpat, formatoptions and comments options

I recently changed my vimrc file to set the formatlistpat variable explicitly for markdown files. Before making this change, I had to dive into the vim help pages and find out what option I really needed to change to get un-ordered lists to start working write.

The Problem

I like Markdown a lot. I take all my daily notes at work and at home in Markdown. It works well for me. Also, I recently discovered the Docker image that will help me convert from Markdown to any format effortlessly using a simple docker oneliner and the docker image jagregory/pandoc-docker.

Read More

Managing DNS (or any other infrastructure) using Terraform

Note: This post ended up being a lot longer than I expected it to be! It’s a post about why Terraform is great, even for setups where configurations don’t change often and how you can use it to share the access that you have with other people without giving them access to the actual infrastructure account. I will make a separate post about the specifics of importing DNS records from Cloudflare into Terraform and the process I used for that.

Terraform is great! It is a way to manage your infrastructure using a set of version-controlled text files with a plan command that tells you what is going to change and an apply command that applies the changes that the plan told you about.

Where terraform gets really good is when you store the Terraform State file in a GCS bucket and run the plan and apply commands in your repository’s CI.

Read More

Compiling vim with python3 support!

TL;DR

sudo apt-get install -y python3-distutils python3-dev
git clone https://github.com/vim/vim.git
cd vim
./configure --prefix=/usr/local \
     --enable-python3interp \
     --with-python3-config-dir=/usr/lib/python3.6/config-*
make
sudo make install

The Longer Version

Note: I put the commands at the top of the post because I hate it when people start with the story and the TL;DR comes at the end of the blog post. I strongly believe that the TL;DR of all blog posts and long text-filled posts should be at the top of the piece.

Read More

Firefox Add-on to jump from GitHub to CircleCI extremely fast!

What?

I use GitHub and CircleCI at work. One of the most common workflows for me, is to merge a PR, click on the repository name to go to the repo page, scroll down to the Readme and click on the CircleCI indicator to check the status of the CI job kicked by the merge.

When the CI workflow is done and completes successfully, I go back to the repo page and click on “Releases”, create a new release (a Git tag) and then again go to the readme to go back and wait for the Release CI to finish.

Once that is done, I open Spinnaker and wait some more for that to get triggered. For some reason, Spinnaker takes about 10 minutes to detect that a new image with a tag matching a provided regex was pushed to GCR.

Read More

Setting up Ubuntu 18.04 LTS on a Thinkpad

It’s been a while since I have setup a brand new computer. I did set up a Mac when I started working in September last year, but that was more of a step-by-step thing where I just started with my existing dotfiles and picked up stuff along the way from people around me who had been working for a much longer time and knew of so many great Vim extensions and tools that I had previously never heard of. Prezto was one of them!

I was going to install Ubuntu 18.04 LTS on an IBM Thinkpad L390. It was released around December last year (or earlier this year?) and sounded like a really good handy laptop for travelling, particularly.... Read More

Ongoing issue with Firefox add-ons due to an expired certificate

Note: This is an ongoing issue at the time of writing (19:30 2019-05-04 JST). The team at Mozilla is aware of this issue and is working hard to fix it as soon as they can. You can track the bug here and on the IRC channel #firefox on irc.mozilla.org.

Detection

The issue started around 6 pm PST on the 4th of May when some people noticed that their add-ons were disabled by the browser, though the add-ons were working just fine just a few hours ago. (Some people had theirs stop working during on ongoing session!) This led to the opening of a GitHub issue and a bug on Mozilla’s bug tracker for Firefox, Bugzilla.

Read More