Posts

Showing posts from October, 2022

Book clubs are amazing

At some point in November of 2019, I asked a work colleague to be my mentor. He is a CPython core contributor, he has been at Enthought for over a decade and I wanted to learn from him. I don't exactly remember why but we decided that we would start reading a book and discuss it every week. My broad goal was to get better at writing software, which is why I think we chose to read and discuss the book  Clean Architecture by Robert Martin . For those of you who don't know, it's one of the classic texts on software and software architecture. Initially, it was supposed to be just the two of us but others in the office were interested in the book as well so there were three of us when we first met to discuss the book on the 22nd of Nov 2019. We added one more person when we met a week later. I think we discussed a few chapters every week, depending on how big the chapters were or how interesting we felt they were. We didn't have a fixed deadline to finish the book so there w...

I happily pay for The Morning Context

I turned 30 this year and until recently, I didn't have the habit of reading a daily newspaper. I think I used to pay for newspapers for an year or so when I was in college but I don't remember reading them. I just remember them being piled up in a corner of my room. I used to get most of my news from Facebook, and then Twitter and then from Reddit. But they're just a news feed and these feeds have been slowly tightening the bubble around me over the past decade. At some point over the past year, I came across The Morning Context . I follow the Zerodha universe  so I came across the fact that Rainmatter Foundation, a non-profit initiative by the people behind Zerodha, funded The Morning Context . I signed up to access the few free articles they have and quickly, decided to become a paid subscriber. It costs around 3,000 Rupees per year (~40 USD). That feels like a lot when compared to the cheapest Netflix subscription that costs 1,788 Rupees per year, the Amazon Prime subsc...

The Indian Government is already trying to DIY FOSS - Should it?

In a previous post , I wrote about 8 things a government can do about FOSS where I talked about categorizing the governments actions in 8 distinct ways. From what I've been reading online, it looks like the Indian Government is already trying to Do-It-Yourself (DIY) FOSS. To recap, DIY-ing is the very last option in the "8 things" and it's risky. Especially in the case of FOSS, DIY is risky. Given the scale of government operations, any DIY solution that the government comes up with gain widespread usage, which can then lead to inertia. Remember that DIY-ing requires not just building expertise in FOSS but also continually maintaining it. If the Indian government doesn't maintain the necessary expertise, it risks the FOSS project falling behind the curve. Let's look at the Samarth eGov project as an example of the Indian government DIY-ing FOSS. Samarth project aims at creating an Open Source, Open Standard enabled Robust, Secure, Scalable and Evolutionary Pr...

Let us look at the numbers - Indians and International travel

According to the 2011 Census of India, the population of India is 1,21,08,54,977 (121 Crore or 1.2 Billion) . In 2021, the US government Census website estimates the population of India to be 1.4 B (140 Crore). For simplicity, let's work with that number for the rest of this article. In the Indian Governments' Ministry of External Affairs' Annual Report 2021-2022 , more than 39.5 lakh (around 4 Million) Overseas Citizen of India cards have been issued since August 2005. (See "Consular, Passport and Visa services"). If we round that up to 40 lakhs, we're looking at roughly 0.3% of the total Indian population. Around 3 Indians in 1000 have an OCI card. In the report 2020-2021, 1.91 lakh (191,000) OCI cards were issued (See "Consular, Passport and Visa services"). In the same section of report, we also see that the Government of India issued more than 57.94 lakh passports (around 5.8 Million) and the Indian Missions/Posts abroad issued 9.94 lakh passp...

You need to start writing Architecture Decision Records

If you write software, you need to start maintaining Architecture Decision Records (ADRs). ADRs roughly fall into the category of Developer Documentation. They aren't aimed at the Users of the software. Instead, they are aimed at the developers and maintainers of the software. They usually contain information about the layout of the package and what the code does. ADRs, in this context, are an absolute necessity. By definition, ADRs are simply a Record of a Decision that has an impact of the Architecture of the application. In fact, Any meaningful technical decision made in a software project, irrespective of whether it has an impact on the architecture of the application, needs to be documented. I first came across ADRs in Chapter 17 of Fundamentals of Software Architecture book. A few of us (at Enthought ) read this book earlier in the year and ADRs are one of the things that we took away from the book. You can find more information on ADRs here and here . Here's what the f...