Vinit Kumar

I'm a Software Engineer who enjoys solving problems and pushing the boundaries of tech. When I'm not coding, you'll find me immersed in good books, music, art, and a cup of coffee. Personally, these values matters to me. Here are links to my latest resume and github. I hope you enjoy my writing here.

Leveling Up With Gary Bernhardt's Destroyallsoftware Series

July 31, 2023

This blog recounts the author's immersive learning experience with Gary Bernhardt's destroyallsoftware series, focusing on the malloc-from-scratch project. The author established a weekly routine to delve into various projects from the from-scratch repository, highlighting key insights gained such as a deepened understanding of memory allocation, improved debugging skills, and appreciation for software design principles. The post emphasizes the transformative impact of the series on the author's coding confidence and recommends Gary's resource for learners at all levels. The conclusion expresses the author's enthusiasm to continue exploring diverse programming concepts through this educational series.

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

July 04, 2023

The blog explores the transformation of free online services and open-source software over the past decade. It discusses the shift from free models to paid services, the bait-and-switch tactic in open-source software, and the challenges in funding strategies. The article emphasizes the need for users to contribute financially, view open-source as technical debt, and adapt to a changing economic landscape. Developers are encouraged to balance sustainability and accessibility. The conclusion highlights the importance of collaboration for a future where innovation and accessibility coexist in the evolving online world.

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

June 02, 2023

Mitchell Hashimoto, co-founder of HashiCorp, shares insights on [building large technical projects](https://mitchellh.com/writing/building-large-technical-projects). Key tips include breaking tasks into manageable chunks, prioritizing real results, starting with feasible sub-projects, employing automated testing, showcasing regular demos, avoiding perfectionism initially, building for personal needs, and embracing incremental improvements for sustained progress.

Moving from Vim to Neovim, A Smooth Transition

May 24, 2023

The blog guides users through a smooth transition from Vim to Neovim, highlighting Neovim's improved performance, enhanced features, and better extensibility. It details the migration process, emphasizing the compatibility between Vim and Neovim configurations. The author's Neovim Lua-based configuration is provided, featuring a curated set of plugins, key mappings, and settings for a more modular and organized setup. The blog concludes by acknowledging the advantages of Neovim's init.lua configuration for those interested in exploring its features and flexibility.

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 Do Remote Work Efficiently

March 26, 2020 featured

The blog offers practical tips for efficiently navigating the challenges of remote work, particularly relevant during the COVID-19 pandemic. The author, drawing from seven years of remote work experience, emphasizes the importance of quality hardware, efficient software usage, and establishing a routine. The blog underscores effective communication practices, urging over-communication to bridge the gap in remote collaboration. It stresses the significance of documentation, testing, and delivering tangible results in a remote work setting. The author also shares insights from Mitchell Hashimoto, highlighting the transformative potential of remote work for those who adapt effectively.

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…

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…

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

© 2023, Vinit Kumar