All Posts

Learning Rust

I’ve been trying to learn Rust for nearly 3 years now. Oddly, I find that the process has been extremely similar to how I’ve learnt Python. I tried picking up Python in 2010, and I couldn’t. I tried again in 2015, and I was finally ready. The process has been the same.

Read more ...


Using Non-Standard Jinja Templates

Apache Airflow uses Jinja templates for variable expansion and templating. Whenever you write a DAG, you can use {{ }} blocks to expand variable names, often using Airflow configurations or macros to fill in the values. While that is great, you get a problem when you have Jinja templates inside your code that has nothing to do with Airflow.

Read more ...


Creating Fixed Length Iterables in Python

If you want to create an iterable of a fixed length in python, use collections.deque with the maxlen parameter.

Read more ...


Documentation Without Assumption

Whenever you write documentation, always try to focus on your audience. I’ve written about this (in my embarassingly half-complete idea about documentation), and I’m always going back to this. Documentation is about caring. I see a lot of developers who don’t write good documentation. But what is good documentation?

Read more ...


A System for Getting Better at Leetcode

For the longest time I was in denial about the benefits of studying algorithms and data structures. I wasn’t fascinated by Leetcode or other forms of competitive coding. It felt drab to me. I’d rather build something using programming. That’s more fun. Companies should consider my skills based on Github.

Read more ...


Vagrant

I’m late to the Vagrant train. I must have heard about it in 2014, but I’ve never bothered to look it up. I’m using it lately to test out my dotfiles, which I’m creating Ansible playbooks for. It’s convenient.

Read more ...


Python - A Reflection in 2022

I built my career on Python. In 2014, I had to make a decision. It was between either choosing to learn Ruby or Python. I was helping to create a tool and process for a team of content writers at Flipkart – I was a content writer there, and I’d used Excel for it at first, until Excel couldn’t handle the queries anymore. I called my friend who recommended Python. I learnt Python, almost over a course of a weekend, and I was making a PyQT4 application in a few weeks.

Read more ...


Onward

I’m beginning this year hopeful. It’s been a long three years, and I have a lot to do. I’m focussing this year on doing things, which is something I’ve said multiple times last year as well. But this year, I’m working on fixing this.

Read more ...


Learning Golang

Despite my numerous failed attempts at learning golang, I’ve decided to bite the bullet and try yet again. This time, Learn Go With Tests is my favorite resource.

Read more ...


Memories of a Circulating Library

When I was 9, my mother enrolled me into a circulating library in Jayanagar 4th Block. It was named Serene, and it was operating out of what was a smallish garage. The librarian, whose name I cannot really recall (I think it was Kumar or some other common Kannadiga name), was thin, silent and didn’t strike me as someone who read himself. It was a living for him.

Read more ...


Reflections on Doing More

This post originally started off as something on how I’m trying to learn more. It meandered into Dear Diary territory, but there’s a certain flow to it, in my opinion. I’m keeping it as it is, and releasing it without edits.

Read more ...


Advent of Code 2021

I’m working on this year’s Advent of Code problems. I have wanted to work on this live for several years now, and this year, I’ve started allocating some time to this every day.

Read more ...


Updates

I’ve been silent for a while, not because I haven’t been writing, but because I’ve been writing. I’ve been working on a few blog articles, primary of which is a rather long article on Oso and how you can use it for authorization. This is an article I’ve been working on for a few months, and it is rather long. I want to get it out there this month, since I’d originally promised the article to the folks at Oso in Jan 2021.

Read more ...


I joined Merkle Science as an Architect

I left Visa on July 21, and joined Merkle Science as an Architect and Lead Software Engineer. I’m working with the Data Engineering team, and have some cross-over work with the Product team as well. I am excited for this shift since this is the first startup I’m working at as a developer, and this comes after 2 years at a large corporation. I’m also excited since I knew nothing about Cryptocurrencies and Decentralized Finance, and today I can say I understand at least a little.

Read more ...


Empathy in Tech

I’ve been meaning to write about empathy in tech for a long time. Oddly, this is a topic that I’m the most hesitant to write about, for personal reasons. I’m not the most empathetic person, and I have trouble understanding how to improve the things I say to my friends. However, the topic I’m talking about has more to do with teaching than it does with personal relationships outside of tech.

Read more ...


For Those Who Came in Late

This is a very personal post. It’s about my journey so far. A few of you might know this already, but I thought this is a good time to document this journey.

Read more ...


Setting up Neovim with Vim Plug and YouCompleteMe

I’m moving to neovim for my primary editing purposes. VSCode has served me well, but I’m growing wearing of its growing pains. Some extensions don’t work well, and many things seem broken of late. Besides, I don’t really use the IDE features all that much.

Read more ...


A Weekend With Postgresql

I’ve wanted to read the postgresql documentation live, on video, for over a year now. This is the best time to do it.

Read more ...


Returning to the Craft of Programming

I have not been working on side projects in a few months. I’ve been busy with life, family, and health. However, I finally feel ready to return to it.

Raspberry Pi Clusters

Read more ...


A Personal Code

Explicit markup ends without a blank line; unexpected unindent.

Read more ...


Do The Job You Hate So You Won’t Hate The Job You Love

That is all.

Read more ...


My Notes

I needed a place to collect my thoughts on various topics related to technology, in a slightly less-public manner. That’s where my new notes website comes in.

Read more ...


David Beazley’s Courses

Among other things, 2020 has been a window into opportunities I didn’t have before. Mostly with respect to time. I was able to rest, which given my penchant for workaholism, was something my mind deserved. I was also about to heal from burnout and come to terms with my job, which I’d just started in 2019. I needed the time to recharge, and ignore all the expectations I had set for myself professionally. I have been overwhelmed with immense Imposter’s Sydrome, and I needed a chance to get over it.

Read more ...


BangPypers Screencast On Security Headers

The video for my screencast has finally been uploaded. This was a screencast conducted by BangPypers. Here, I covered the topics I blogged about in [this article]({% post_url 2020-11-11-web-application-security %}).

Read more ...


A Year Of Rest

I have been taking it easy for a year.

Read more ...


Sarathi - A Personal Discord Bot

I’ve been maintaining a TIL page for a while now, and while the idea is great, I have had some issues updating the sheet daily.

sarathi-bot add factoid

Read more ...


Keeping Your Work Laptop Awake

Sometimes you’d like to keep your work laptop from sleeping, and for whatever reason, you might not be able to change your system’s power management rules. In this article, I show you how to get around that.

Read more ...


The Song of a Hero - Insomniac’s Spider-Man Miles Morales

Of all the differences between the first Spider-Man game for the PS4 and Spider-Man Miles Morales, I did not expect to be wowed by the music.

Image 1

Read more ...


Web Application Security with secure.py

A common pitfall when developing web applications is not knowing how to design a safe application. secure.py is a great Python module that helps deal with the basic foundations of web application security.

Read more ...


A List of Podcasts I Follow

I didn’t listen to podcasts for a large part of my professional life. My friend Najeem introduced me to Talk Python, which was the first podcast I have ever listened to and enjoyed. Since then, I have found a lot of podcasts that I follow, and wanted to keep track of the episodes I love, as well as podcasts I love.

Read more ...


The ESP8266 Smart Watch

Watch

Watch

Read more ...


The STM32F401 Boards

A while ago, a user posted a link to this repo on /r/mk.

STM Board

Read more ...


Today I Learned Journal

I started a journal to maintain a list of things I am learning daily. This is mostly to just keep me on my toes, but also so that I can record everything I learn daily.

Read more ...


Managing Multiple Python Installations

If you are running a Linux or Mac machine and would like to run multiple versions of Python, you probably have been told that you need to stop trying to use package managers to run Python.

Read more ...


I am taking the MIT Distributed Systems Course

To learn more about how distributed system design works, I have decided to spend time with 6.824 - Distributed Systems.

Read more ...


K3S on the 8GB Raspberry Pi 4 with Docker-CE

I finally managed to fix the issue I was having with K3S on the Raspberry Pi 4. Turns out, there is an issue with how Docker does IP configurations.

Read more ...


Blog Updates

I am ditching Digital Ocean since I do not need a droplet to run the blog. Github pages with Jekyll and the YAMT theme suffice for now.

Read more ...


Configuring Pip to Work in Enterprise Environments

The hardest thing about using package managers within an enterprise is getting them to download the packages you need on the office network. Oftentimes, you are hindered by SSL errors, and other times you get bogged by DNS errors.

Read more ...


No Leaf Clover

Explicit markup ends without a blank line; unexpected unindent.

Hearing Loss

Read more ...


The Sound of Music

Explicit markup ends without a blank line; unexpected unindent.

Read more ...


PyCon India 2019 Talk - MicroPython

I finally spoke at PyCon India! It was a great experience. I was a bit nervous speaking as someone who had just lost an ear, but I am glad that the organizers had arranged the “silent conference”. The headphones supported mono-channels, which is a blessing for someone who is single-sided deaf, like me.

PyCon India 2019

Read more ...


Leonardo - Generating Product Unique Specification Images Using Python

When I was at Flipkart in the Content Team, my manager brought up an interesting project for the Graphic Designers in our team. He said Flipkart was going to invest in the creation of product images that would replace content. It was going to be an image where a prospective buyer could see the key specifications of the project arrayed around the product image in a neat fashion.

Sample-1

Read more ...


Learn the Kana Using Python and a Raspberry Pi

I have been attempting to learn Nihongo. It is a failing attempt really, since I have so little time lately.

Quiz

Read more ...


Reading the Harivamsha by the Tungabhadra

Krishna. The dark one.

Harivamsha

Read more ...


Dear Mr. Debroy

Explicit markup ends without a blank line; unexpected unindent.

../_images/debroy-letter-01.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 20

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-20.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 19

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-19.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 18

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-18.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 17

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-17.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 16

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-16.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 15

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-15.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 14

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-14.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 13

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-13.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 12

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-12.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 11

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-11.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 10

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-10.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 9

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-09.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 8

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-08.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 7

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-07.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 6

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-06.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 5

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-05.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 4

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-04.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 3

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-03.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 2

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-02.jpg

Read more ...


Reading the Mahabharata by the Tungabhadra - Day 1

Explicit markup ends without a blank line; unexpected unindent.

../_images/mahabharata-day-01-01.jpg

Read more ...