Is practice all you need?

How to practice programming effectively.

Ruby's puts is not atomic

A note on how print calls aren’t atomic in Ruby & Python. I submitted a patch to fix this in Ruby.

DOOM Emacs Tips

A series of tips on using DOOM Emacs

Build Your Own Redis Tutorial (Series)

A series of articles, where we’ll build a toy Redis clone in Ruby that supports simple commands like ECHO, GET, SET etc. Accompanied by an interactive code-along challenge.

Moving from Vim to Emacs

My experience transitioning from Vim to Emacs. Notes on how I started out with Spacemacs and then found solace in DOOM Emacs.

Blogs I Follow

A list of blogs that I follow.

Using SRV records for service discovery in Python

An introduction to srv_hijacker, an open source Python library of mine.

NamedStruct - Improving Ruby's Struct

Why Ruby’s struct API is flawed, along with a suggestion to improve it.

How Go's Cmd.Run uses /dev/null

Notes on How Go’s Cmd.Run uses /dev/null when stdout/stderr/stdin descriptors aren’t specified.

I accidentally used YAML.parse instead of JSON.parse

How I stumbled upon the fact that YAML is a superset of JSON.

A continuous process for improving programming productivity

How you can improve your programming productivity (gradually) by consciously setting aside 30 minutes a day to fix things that slow you down.