Vinit Kumar

As a Software Engineer with a passion for creating and problem-solving, I am constantly seeking new challenges and opportunities to push the boundaries of what computers can do. I am an avid admirer of good literature, music, art, and coffee. Explore my website to learn more about my skills, experience, and values as a programmer. Here, you can also find links to my resume and code repositories .

Leveling Up With Gary Bernhardt's Destroyallsoftware Series

July 31, 2023

Introduction: I believe that continuous learning and practice are key to staying ahead in the ever-evolving world of software development. Recently, I stumbled upon an exceptional resource that has been highly recommended by many experienced programmers – Gary Bernhardt’s “destroyallsoftware” series. In this blog, I will share my experience diving…

The Changing Landscape of Free Online Services and Open-Source Software

July 04, 2023

Introduction: In the past decade, the online world experienced a paradigm shift in the availability of free services. Websites and platforms that once offered generous free options, such as Flickr’s 1TB of storage or Google Photos’ unlimited high-resolution uploads, have either transitioned to paid models or completely withdrawn their free…

Notes on "My Approach to Building Large Technical Projects" by Mitchell Hashimoto

June 02, 2023

Mitchell Hashimoto is one programmer I really admire and he has been insanely productive and influential programmer for this last decade. He co-founded Hashicorp and has written Vagrant, Terraform, Consul and many other useful developer tools. He just wrote My Approach to Building Large Technical Projects on his blog. Here he basically talks about…

Moving from Vim to Neovim, A Smooth Transition

May 24, 2023

Imgur Vim has long been a popular choice for developers and power users as a highly customizable and efficient text editor. However, in recent years, Neovim has emerged as a promising alternative to Vim, offering improved performance, enhanced features, and better extensibility. If you’re considering making the switch from Vim to Neovim, this blog…

How To Handle Large Lists Or QuerySets In Python

February 24, 2022

This is a good technique for managing memory when working with large lists or QuerySets. However, there are a few changes that could make this code more effective. First, the batch_qs and batch_list functions could be made more general by using a typing.List or typing.Iterable type hint for the list_arr parameter instead of a list type hint. This…

How To Get WebP Support in Django/DjangoCMS

February 16, 2022

WebP is an exciting new image format that saves on the bandwidth because of lower size and is also supported by all major browsers. The issue is that you need to configure your server for it to work. It can be done in following steps: Install the system dependency in your docker image or your server. Install the latest version of library required…

Slow Programmer, Fast Programmer

January 29, 2022

2022 is a special year for me, as it marks the completion of a decade of writing code professionally. Over the years, I’ve observed several traits that seem to be common among the fastest and most effective programmers. While some of these traits may come more naturally to some people, they can all be developed and improved with experience and…

Django 4.0 Released

December 08, 2021

Django 4.0 released this week. Here are the release notes: And here is a nice twitter thread from Adam about it.

TIL 24-November-2021 (Python)

November 24, 2021

Today, I saw an link to an article on Github. All my projects (work and personal) run on github actions as CI. Now, github actions pip install didn’t had cache for pip. So now that can be enabled using changes to the yaml file like this: Link to the announcement here: Also, if you don’t have wheel installed, pip uses legacy install (…

What Makes A Great Programmer Great?

June 05, 2021

A great programmer is someone who is skilled and experienced in a variety of languages and tools, and who is able to think critically and solve complex problems. They take the time to plan and organize their work, and they are able to write clear and concise code comments. They are also committed to continuous learning, and they maintain a healthy…

Moving from Vim to NeoVim

June 05, 2021

Why Move? Neovim has made significant progress in last 6 months (I am using 0.5-dev branch as my daily driver for more than 6 months now). There has been a significant number of good plugins (e.g. Telescope) and many others (some of them are just lua based). At present, I have a pretty great Vim setup and a nice NeoVim setup too. However, my neovim…

Practice Hard, Success Doesn't Come Easy

September 30, 2020 featured

John Carmack is a highly accomplished programmer, renowned for his exceptional expertise and extensive experience in the field. In a recent tweet, he emphasized the crucial role of diligent practice and the grind of dedication in attaining true mastery of a subject. Carmack asserts that without a commitment to consistent, focused practice, one may…

How To Do Remote Work Efficiently

March 26, 2020 featured

Covid-19 has forced all Software companies to adopt Remote Work for their workforce. Anybody who has experience with remote work will tell you that it’s not easy to be productive working remotely. I have had the opportunity of working remotely (The company that I work for is the Netherlands based) and I have been working remotely from Pune for a…

A Somewhat Sane Guide for Software Development

February 06, 2020 featured

I have been writing code professionally for around 8 years now. In this period, I have acquired some knowledge and formed some opinions on how software should be written and what practices to follow. The guide is divided into following sections: Git Guidelines Backend Development Guidelines Frontend Development Guidelines DevOps Guidelines Git…

Hard Problems And How To Solve Them

February 05, 2020

Every once in a while, we encounter a problem that seems very hard to solve and at the moment we have no clue how to fix them. Two options comes to our mind when we are in such situation: Give up and loose all hope of solving the problem. Hold your ground and try and solve the problem. However, it is not so simple and requires much steps than just…

How To Build Stable Software That Lasts

February 02, 2020

Building good software is hard and even harder is to build software that is stable and works for a long period of time. The basic thing is that software is very fragile and prone to break. Any userland software that runs on an OS depends on system calls that are implemented by the Kernel and the API and ABI exposed by the underlying language and…

Koby Bryant, A True Hero And Sportsman

January 30, 2020

On 26th Jan, everybody woke up to the shocking news of the untimely demise of Kobe Bryant and his daughter Gianna in a helicopter accident. Until that day, I had no idea who Kobe Bryant was. I am not very much into Basketball but occasionally do check out the news. As embarrassing as it is, I was wondering who this person was and why everybody was…

An Incomplete List Of Programming Heroes I admire

January 23, 2020 featured

Everyone has their heroes. Even programmers have their heroes. This is a small list of programming heroes I admire. I don’t claim that these are the best, their might be many others but these are the one I know from my limited experience. So takes this list with a grain of salt. Heroes Daniel Stenberg (C) Daniel is the lead developer and creator of…

Self Assurance and Fighting Imposter Syndrome

December 14, 2019

Everybody faces their demons once in a while. I did too and probably continue to do so in future as well. Wrote some of these lines to relax myself and it actually did. Success is not an accident. You are worth it . You are good and you are able. It’s okay to be nervous. It’s okay to feel the chills. A lot of this is okay. Relax, be yourself, Do…

Rabbit Hole Of Learning, And How To Come Out On Top

July 18, 2019

We live in an age where if we set out to learn something new, you need to learn basics first. This is true when you are out to learn it deeply. A shallow understanding won’t take you far. But acquiring deep knowledge takes considerable effort and requires you to learn consistently for a long time. Let me present an example: Kubernetes is one of the…

Coding principles every engineer should know

April 08, 2019

IMPORTANT: Cross posting from this medium article since I do not like medium as a platform and I do not want to loose this post in the matrix :) Throughout my engineering career, I’ve had the opportunity work alongside and learn from many incredibly talented…

How To Manage Infra in 2019

April 05, 2019

Infra is one of the most host topics in the Software development these days. There are so many tools, so much to learn that very few people actually know what to do and what the best practises. Everyone wants to jump on the microservice bandwagon. However, it’s not as easy as it seems. I medidated quite a bit on this and have come up with these…

Tooling Considered Harmful, An Overview

March 06, 2019

We are a big fan of tools. We use them daily in almost everything, but at one point in time, they pollute our mental space so much that we just forget to think and do as the tools dictate. A common example could be smart-phone. It was meant to keep us mobile and connected but now, it has become so dominant and addictive that it is more of a bane…

I completed 6 years of full time job

February 01, 2019

Today, I am completing 6 years of my full time employment with Socialschools. It has been an incredibly long time and there has been highs and lows but mostly it has been a great experience writing code and having fun while doing it. I am very proud of the product I have helped build and make it succeed. There are various factor that led me stay…

How To Convert LaTex to PDF on macOS

January 16, 2019

Setup Mac for editing Latex

How to Use React with djangoCMS 3.5.2 and above?

May 24, 2018

How to get react working with latest djangoCMS

Some Very Important Values I believe in

May 19, 2018

Some core values that I believe in

I completed Four years of Full time job

March 01, 2017

Four years of full time work at Socialschools

Some New Learnings In Software Development

June 22, 2016

Some new Learnings

What Has Open Source taught Me?

April 03, 2016

What Open Source has taught me

Why I Love Writing Code So Much

August 06, 2015

My Why

Some Notes On GPS Tracking on Android

April 16, 2015

Finding how you are tracked on Android

How to Clean Up Your Mac From Other Files

April 16, 2015

How to cleanup Your Mac From Other Files

Some Notes On How It Went Recently?

March 11, 2015

Reflections on time spent when I was on Radio silence

How To Get Better With Time Management At Work

August 16, 2014

Time Management

Some Tips On Writing Good Code

July 20, 2014

How To Improve Code Quality Over Time

How To Get Readonly Mode Working In Django

May 18, 2014

Guide to setup readonly mode for some users in django admin

Guide to Setting Up Emacs for Development

May 04, 2014

A Small guide in setting up Emacs

How To Be An Awesome Human Being

March 27, 2014

Being an Awesome Human being

One Year at Full Time Job

February 08, 2014

My Experience in past on year

How To Setup Macvim for Maximum awesomeness

January 03, 2014

How did I setup macvim for super awesomeness

2013 Year In Review

January 01, 2014

How did I spent my last year

How I value Simplicity in things

December 28, 2013

Why simplicity is so much important

Some Notes On The Classes in JS

December 07, 2013

Learning new developments in JavaScript

I Am Buying Some New Books

December 03, 2013

New Computer Science Books

One Month Hacking Experiment

December 01, 2013

What will i hack this month

New Theme For My Blog

November 30, 2013

Why i wrote a new theme for my blog

I Have Grown As A Person And A Software Engineer

November 15, 2013

My growth as a developer

Life At A Startup

July 02, 2013

Experience of Working at A startup

This Could Be Some Plan

June 21, 2013

Planning for Life and Future

Some plans to be productive with Work and personal projects

June 16, 2013

Things i think about

Some of the important work ethics I believe in

June 16, 2013

Idea work Ethics

Sone updates about my current projects

June 04, 2013

What i am doing these days

I love a single machine workflow

May 26, 2013

How a laptop based work-flow boost productivity

My Setup Interview, similar to the ones at

May 26, 2013

My Setup Interview

Some plans about new project

April 30, 2013

I wrote about some new projects

A new django plugin open sourced

April 29, 2013

Open Source Work on Django

Open Sourceing a django plugin and GoogleCL

April 27, 2013

Projects I recently worked on and open sourced

My first experience flying on a plane

April 07, 2013

The first flight of my life was a memorable experience

Writing a twitter clone in Node and MongoDB

March 27, 2013

Writing a twitter clone in Node

How I converted from a hardcore Linux fan to Mac user

March 24, 2013

How I converted from a hardcore Linux fan to Mac user

Why I love JavaScript so much?

March 24, 2013

Why I love JavaScript so much?

© 2023, Vinit Kumar