The Open Source Absolutist

I’m Navendu and welcome to “The Open Source Absolutist,” aka my brain dump.

I write about my work and life as an open source contributor/maintainer and an amateur policy analyst (what am I doing now?).

If you’re here for the first time, try my featured posts or learn more about me. Make sure to subscribe via email or RSS to get regular updates.

Comparing Kubernetes Gateway and Ingress APIs

Exploring the new Kubernetes Gateway API and comparing it with the existing Kubernetes Ingress API for handling external traffic.

October 14, 2022 · 5 min

How I Ask Questions as a Software Engineer

I ask a lot of questions to my peers and to strangers on public forums in the internet. This year, I have been trying to improve this process to ask better questions. Here is how I do it.

December 25, 2021 · 8 min

An Introduction to Monitoring Microservices with Prometheus and Grafana

This tutorial walks you through setting up monitoring on a microservice application using Prometheus and Grafana.

December 9, 2022 · 8 min

Best Practices for Building Reliable APIs

As the size of your APIs increase, the need for making them reliable and robust also increases. This article discusses the best practices for designing reliable APIs by introducing you to a special kind of reverse proxies called API gateways.

August 19, 2022 · 6 min

F5 Nginx to Apache APISIX

An interactive guide to migrate from Nginx to Apache APISIX.

May 4, 2024 · 5 min

An Even Playing Field

We need to democratize AI to save our democracies.

April 1, 2024 · 2 min

Pingora is Not an Nginx Replacement

But here’s another viable Nginx replacement.

March 31, 2024 · 5 min

Wasn't Nginx Free?

A postmortem on the Freenginx announcement.

March 15, 2024 · 3 min

How Standards Consolidate

Fortunately, the external access one has been solved now that we’ve all standardized on the Ingress API. Or is it the Gateway API? Shit.

March 11, 2024 · 9 min

Continuous API Delivery Pipelines

An exploration of continuous delivery workflows for building and managing APIs at scale.

March 1, 2024 · 7 min

Restricting Resource Consumption

A better way to think about limits to prevent security issues from resource starvation.

February 23, 2024 · 5 min

Kubernetes Gateway API v1.0: Should You Switch?

The Kubernetes API was recently made generally available. Does that mean you should switch away from the Ingress API?

December 15, 2023 · 6 min

Nginx is Probably Fine

Should you build your own reverse proxy to replace Nginx?

December 10, 2023 · 8 min

Batching Requests in APISIX Ingress

A tutorial on using APISIX’s request batching capability in Kubernetes Ingress.

December 1, 2023 · 5 min

Exporting APISIX Metrics to SigNoz

A guide for using SigNoz to collect and observe metrics from Apache APISIX.

November 24, 2023 · 3 min

How Does Apache APISIX Support WebAssembly?

A look under the hood to see how Apache APISIX supports WebAssembly plugins.

November 17, 2023 · 5 min

Works on My Machine

A tale of how I spent an irrationally long time figuring out why the tests pass on my machine but fail in the CI.

November 3, 2023 · 5 min

Accessing External Services through APISIX Ingress

A short guide on why and how you might use APISIX to access external services in Kubernetes.

October 27, 2023 · 3 min

End to End, Iterate

An amateur engineer’s philosophy on building software.

October 20, 2023 · 4 min

A "Tinier" APISIX Plugin

Converting the “tiny” APISIX plugin to a “tinier” APISIX plugin.

October 16, 2023 · 7 min

Shallow WebAssembly Waters

Notes as I learn about WebAssembly by building an open source project.

October 1, 2023 · 5 min

Managing APISIX Declaratively with ADC

A guide on using the new APISIX Declarative CLI to manage APISIX with declarative configuration files.

September 22, 2023 · 5 min

API Deployment Strategies

Applying best practices to make new API deployments using the API gateway of choice, Apache APISIX.

September 15, 2023 · 8 min

One Nation, One Subscription, Many Problems

Access to publicly funded scientific research should be ubiquitous. But the current plan to achieve this is far from ideal.

September 8, 2023 · 5 min

Upgrading the Fuse.js Search Feature

Modifying some JavaScript code to add a search feature for the daily logs page.

September 2, 2023 · 4 min

Combing through APISIX Logs with the Elastic (ELK) Stack

A guide on using Elasticsearch, Kibana, and Logstash to work with logs from Apache APISIX.

August 28, 2023 · 7 min

List Articles from a Series in Hugo

How I added a list of articles in the same series at the beginning of each post.

August 18, 2023 · 4 min

Rate Limit Your APIs With Apache APISIX

A guide to using the rate limit plugins in Apache APISIX with some practical examples.

August 14, 2023 · 7 min

Your API Requests Should Be Validated

Adding a new layer of validation within your API gateway can be a useful design practice for a myriad of reasons. This article explores how you can configure this in Apache APISIX.

August 5, 2023 · 7 min

Creating a Custom Data Mask Plugin

A tutorial on creating a custom Apache APISIX plugin in Lua through a real use case.

July 21, 2023 · 8 min · Zeping Bai, Navendu Pottekkat

Grunt Work with RegEx

My recent experience in using regular expressions to automate a menial task.

July 14, 2023 · 5 min

A "Tiny" APISIX Plugin

A “tiny” example to demonstrate how Apache APISIX supports Wasm plugins.

July 7, 2023 · 5 min

Connecting IoT Devices to the Cloud

A guide to using Apache APISIX as an MQTT proxy to connect IoT devices to the cloud.

June 30, 2023 · 6 min

Eight Things the Indian Government Can Do about AI

What can the Indian Government do about artificial intelligence?

June 23, 2023 · 7 min

APISIX Service Mesh

Apache APISIX is generally used to manage north-south traffic in Kubernetes and often sits at the edge of a cluster. With Amesh, APISIX is now a service mesh.

June 16, 2023 · 6 min

How is Apache APISIX Fast?

Taking a look under Apache APISIX’s hood to understand how it achieves ultimate performance.

June 12, 2023 · 6 min

Notes on the Digital Personal Data Protection Bill

Semi-ordered thoughts on the new Digital Personal Data Protection Bill by the Indian Government.

June 5, 2023 · 5 min

AI Traffic Cameras Were Always a Bad Idea

An amateur policy analyst attempts to explain why (disregarding controversies) installing AI traffic cameras in Kerala was a bad idea.

May 29, 2023 · 10 min

AI and APIs

What do the recent advancements in generative AI mean for APIs?

May 21, 2023 · 4 min

A Comprehensive Guide to API Gateways, Kubernetes Gateways, and Service Meshes

A comprehensive comparison of API gateways, Kubernetes gateways, and service meshes with actionable insights.

May 5, 2023 · 10 min

Vada (Fritters) Profitable

This article is about a project I built and open sourced three years ago and our journey to make it uzhunnu vada (UV) profitable™.

April 7, 2023 · 4 min

AI-Generated Spam Pull Requests

Someone tried to open pull requests to open source projects with AI-generated code.

March 29, 2023 · 4 min

Custom Plugins in APISIX Ingress

A hands-on tutorial on using custom APISIX Plugins in Kubernetes environments with APISIX Ingress.

March 24, 2023 · 4 min

Write Stuff Down

Writing as a way to think clearly and articulate your thoughts.

March 10, 2023 · 3 min

Kubernetes Gateway API With APISIX Ingress

A hands-on tutorial on using the new Kubernetes Gateway API with Apache APISIX Ingress.

January 20, 2023 · 3 min

On Open Source Communities

A note on the role of communities in open source.

December 30, 2022 · 4 min

ChatGPT Explained by ChatGPT

A conversation with ChatGPT about ChatGPT. Who are you?

December 21, 2022 · 9 min

Extending Apache APISIX Ingress with Annotations, CRDs, and Plugins

A hands-on tutorial on leveraging the full features provided by APISIX in Kubernetes Ingress.

December 16, 2022 · 4 min

Signed Commits and Encrypted Communication with GPG Keys

Exploring how symmetric-key and public-key cryptography works by using GPG keys to sign commits and send encrypted messages.

December 2, 2022 · 5 min

Retro Gaming With RetroPie, GPi CASE 2, and a Raspberry Pi

A complete tutorial on how to set up RetroPie and play retro games on a GPi CASE 2 with a Raspberry Pi Compute Module 4 under the hood.

November 25, 2022 · 5 min

No Thanks, Crypto, UPI Already Solved Digital Payments

Cryptocurrencies are trying to be a solution to a financial problem that does not exist. UPI solved digital payments years ago.

November 18, 2022 · 5 min

My Reasonable Birthday Goals

Evaluating where I am and deciding where I want to be next.

November 11, 2022 · 4 min

A Quick Start Guide for Mastodon

Learn to get up and running with the microblogging platform everyone is talking about.

November 2, 2022 · 3 min

You Might Need a College Degree for a Programming Job

Many companies and tech gurus claim you don’t need a college degree for a programming job. But here’s why you might want to get one regardless.

October 28, 2022 · 3 min

Canary Release in Kubernetes With Apache APISIX Ingress

A hands-on, from-scratch tutorial on setting up canary releases in Kubernetes with Apache APISIX Ingress.

October 21, 2022 · 5 min

Lessons Learned From Three Years of Open Source Contributions

Insights from my three year journey as an open source contributor.

October 7, 2022 · 6 min

My Blog Setup and Writing Process

I’ve been writing blogs for almost three years now. Recently, I’ve been putting a lot of effort into building and maintaining my blog. This article documents my blog setup and my writing process from idea to publishing.

September 23, 2022 · 6 min

Set Up Ingress on Kubernetes With Apache APISIX Ingress Controller

A tutorial on using Ingress in your Kubernetes cluster with Apache APISIX.

September 9, 2022 · 5 min

How the LFX Mentorship Program Helped Me Level Up My Career

Sharing how I got involved in the LFX Mentorship Program and its life-changing impact on my career and personal life.

September 2, 2022 · 4 min

Adding Diagrams to Your Hugo Blog With Mermaid

This article shows how you can add diagrams to your Hugo site with Mermaid.

August 26, 2022 · 4 min

How and Why I Migrated My Blog From Github Pages to Netlify

This blog is now deployed on Netlify. Here is how and why I did it.

August 12, 2022 · 7 min

Why Developers Should Blog

I have been blogging ever since I started out as a software engineer. Here is why you should do it too.

February 17, 2022 · 3 min

The Psychology of Money

Key takeaways from Morgan Housel’s international bestseller “The Psychology of Money”—brief and to the point.

February 9, 2022 · 4 min

Everything you Need to Know About Google Summer of Code (GSoC): Important Dates, Eligibility, Application, Getting Selected and Other Tips

Google Summer of Code (GSoC) is a great way to start contributing to open source while getting paid to do so. This article dives deep into everything GSoC from the application procedure to tips from real experience on being successful

December 2, 2021 · Updated On April 2, 2023 · 5 min

Contributing to Documentation

Contributing to documentation is really impactful for an open-source project. It can also be a stepping stone to make code contributions. Learn how.

November 8, 2021 · Updated On April 4, 2023 · 3 min

Non-Code Contributions to Open Source

As open source becomes the default way to build software, contributions required to create, manage, and sustain projects go beyond code. This article teaches you to make non-code contributions.

September 21, 2021 · Updated On April 2, 2023 · 5 min

Pull Requests like a Pro

Tips to make High-Quality Pull Requests.

September 15, 2021 · 3 min

20+ Open Source Internship Programs (Updated for 2024)

A curated list of open source internship/mentorship programs with all the necessary details.

August 28, 2021 · Updated On May 9, 2024 · 9 min

Awesome README: A Template for Writing Useful READMEs

A template for writing useful READMEs.

July 13, 2020 · 2 min