Posts

The Corporate Treadmill: Is Success Worth the Cost?

We've all heard the grumbles, the whispered anxieties, the barely-concealed resentment towards corporate culture. It's a ubiquitous force, shaping our days, demanding our attention, and often leaving us feeling drained and disconnected from the very things that make life worth living. But what exactly are we achieving through this relentless pursuit of corporate 'success'? And why does it often feel so profoundly unfair? Let's start by dissecting the 'achievement' itself. On the surface, it's tangible: increased profits for shareholders, innovative products hitting the market, market share expansion. These are the metrics plastered across annual reports and celebrated in company-wide emails. But scratch beneath the surface, and you often find a less palatable truth: that these achievements are built on the backs of individuals pushed to their breaking points, sacrificing personal well-being for the perceived greater good of the company. Why is this so...

A Bitter Onam Sadya Experience at Yumm Keralam, Bangalore

Onam is not just another festival – it is the heartbeat of Malayali culture. At its core lies the Onam Sadya, the grand vegetarian feast served on a banana leaf, with over 20 traditional dishes that follow a specific sequence. More than just food, Sadya is a celebration of abundance, tradition, and togetherness. Like many Malayalis in Bangalore, I was excited to celebrate Onam this year by enjoying the Sadya at Yumm Keralam. I went with my family and even invited others, believing it would be a special occasion. Sadly, what should have been a day of joy turned into one of the most disappointing Onam dining experiences of my life. Endless Waiting, Followed by Mismanagement We waited for hours to get a table. The expectation was high – after all, Onam comes only once a year. But once seated, it quickly became clear that the restaurant had no system in place. The serving was completely mismanaged. Instead of Malayali servers who understood the dishes, their sequence, and cultural signific...

Unified Observability: Custom Metrics Ingestor for Kubernetes, HashiCorp, and InfluxDB

Bridging Observability Silos: A Custom Metrics Ingestor for Kubernetes & HashiCorp with InfluxDB In many enterprises, a frustrating reality persists: disconnected observability. Teams operating in Kubernetes and HashiCorp environments (e.g., Terraform, Consul, Vault) often use disparate monitoring tools, leading to data silos, duplicated effort, and a significant impediment to gaining holistic insights. This problem is frequently exacerbated by attempts to minimize costs, resulting in a patchwork of tools that, while individually cheaper, create a more expensive problem in terms of time, effort, and missed opportunities for optimization and incident response. The lack of centralized observability becomes a major bottleneck, particularly during incident diagnosis and performance troubleshooting. Sifting through different dashboards, correlating metrics manually, and struggling to piece together the full picture becomes a daily ritual. What's needed is a solution that unifies t...

Ganesh Chaturthi: Faith, Noise, and Nonsense

Every year, India erupts in the spectacle of Ganesh Chaturthi. Streets fill with massive idols, loudspeakers scream bhajans late into the night, people dance in processions, and at the end of it all, tons of plaster-of-Paris statues end up choking our rivers and seas. For many, this is devotion. For me, as an atheist, it feels like an annual reminder of how deeply superstition and blind ritual still govern our society. The Idol Problem We are told that Ganesha is the remover of obstacles, the god of wisdom. Ironically, wisdom is the one thing missing in how this festival is celebrated. Statues of clay or plaster are “brought to life” by a priest chanting mantras, worshipped for a few days, and then dumped into water as though the god somehow swims back to heaven. If that isn’t magical thinking bordering on absurdity, I don’t know what is. If obstacles in life were really removed by offering coconuts and sweets, India would have solved poverty, unemployment, corruption, and inequality d...

Agile's Achilles Heel: Avoiding Short-Sighted Development

The Perils of Short-Sighted Agile: Building for Today, Crumbling Tomorrow Agile methodologies, particularly Scrum, promised a revolution in software development. Faster iteration, increased collaboration, and a greater ability to adapt to changing requirements – the benefits seemed undeniable. However, a concerning trend has emerged: a perversion of agile principles that prioritizes immediate gratification over long-term sustainability, leading to fragile, unmaintainable systems. We’re in danger of building software that crumbles under its own weight. The core problem lies in the misinterpretation of agility as a license for ad-hoc development. Agile is not about throwing design out the window and churning out code as quickly as possible. It's about intelligently applying established software engineering principles – principles learned over years of building robust and scalable systems – within a flexible and iterative framework. Reinventing the wheel with every sprint, or worse,...

To Retire or Not to Retire: The Tech Veteran's Dilemma

Introduction Twenty-five years. A quarter of a century. When you say it out loud, it sounds like a lifetime. And in many ways, it has been. I’ve spent these years immersed in the ever-evolving world of software tech, navigating the complexities of multiple giant firms. The journey has been exhilarating, challenging, and rewarding in equal measure. But now, as I sit here, staring out the window, a question lingers: is it time to press pause? The Pull of Retirement The idea of retirement is both enticing and terrifying. On one hand, there’s the promise of freedom – freedom from early morning alarms, endless meetings, and the relentless pressure to stay ahead of the curve. I can imagine myself spending days doing-nothing, may be traveling, or simply indulging in watching Netflix. The prospect of having unlimited time to pursue personal interests is incredibly appealing. And then there’s the health aspect. The tech industry is notorious for its demanding hours and high-stress environme...

Nomad & Kubernetes: Choosing the Right Orchestrator for Your Needs

The Unsung Hero of the Hybrid Cloud: Nomad's Quiet Revolution In the ever-evolving world of container orchestration, Kubernetes often dominates the conversation. Its robust ecosystem, fervent community, and backing from major tech players have solidified its position as a leading solution. However, a different orchestrator, one often overshadowed but no less powerful, is quietly carving its own niche: HashiCorp Nomad. While Kubernetes excels in its complexity and feature-richness, Nomad distinguishes itself through its simplicity and flexibility. It operates with a smaller footprint and requires fewer moving parts, making it easier to deploy and manage, especially in resource-constrained environments. This fundamental difference opens doors to use cases where Kubernetes might prove cumbersome or overkill. One of Nomad's strongest suits is its ability to orchestrate workloads beyond just containers. Unlike Kubernetes, which primarily focuses on containerized applications, Nom...

From Questions to Instant Answers: AI + RAG for JIRA, Confluence, and GitHub

Level Up Your Support Game: Automatic Answering with AI & RAG over JIRA, Confluence & GitHub In today’s fast-paced tech industry, providing rapid and accurate support is crucial for customer satisfaction, team productivity, and overall business success. But let's face it: manually sifting through mountains of documentation, tickets, and code repositories to answer the same questions repeatedly is a soul-crushing, time-wasting endeavor. That's where the magic of AI-powered automatic support answering, particularly leveraging Retrieval-Augmented Generation (RAG) over your existing knowledge bases like JIRA, Confluence, and GitHub, comes into play. This post will delve into the world of building intelligent support systems that automatically answer user queries by tapping into your organization’s existing knowledge repositories. We'll explore the core concepts, examine real-world applications, walk through a practical example, and highlight the lessons learned from d...

Decoupling CI and CD for Efficient Deployments

  Introduction In the fast-paced world of software development, Continuous Integration (CI) and Continuous Delivery (CD) have become synonymous with agility and reliability. While these practices are often intertwined, a distinct separation of concerns between the two can significantly enhance the efficiency and stability of Kubernetes (or any other target) deployments. This blog post delves into the benefits of this decoupling, the design principles involved, and the role of GitOps and security in this architecture. Understanding the CI and CD Divide CI focuses on building, testing, and packaging software into deployable artifacts. It's a developer-centric process that ensures code quality and consistency. The output of CI is a build artifact, ready for deployment. CD is about delivering the artifact to various environments, from development to production. It's an operations-centric process that emphasizes automation, reliability, and safety. CD leverages infrastructure as c...

Draw.io: Your Single Source of Truth for Diagrams, from ADRs to Design Docs

Visualizing Agility: How Diagramming Became Essential for Modern Software Architecture In today's rapidly evolving software landscape, agility and clear communication are paramount. Gone are the days of monolithic, poorly documented systems. Modern software development demands iterative design, continuous integration, and a strong emphasis on collaboration. This shift necessitates tools and practices that facilitate understanding and alignment across diverse teams, from developers and architects to stakeholders and compliance officers. This is where visual diagramming, particularly the use of versatile and accessible tools, has risen to prominence. For many organizations, documentation often felt like a tedious afterthought, relegated to static documents and outdated schemas. This lack of dynamic and accessible visual representation often led to miscommunication, delayed decision-making, and ultimately, increased development costs. Architecture Decision Records (ADRs), meant to c...

Bangalore Paradox: Finding Peace Amidst the Chaos (and the Rent Trap)

The Bangalore Paradox: Finding Sanctuary Amidst the Chaos The incessant honking. The snail's pace commute. The perpetual construction. It's a familiar soundtrack to life in Bangalore, a city bursting at the seams with ambition and opportunity. Yet, beneath the surface of this vibrant metropolis lies a quiet yearning – a desire for peace, for connection, and for a life lived on one's own terms. This paradox is perhaps best exemplified by the curious trend of homeowners choosing to rent. Why own a house, laden with the responsibilities of maintenance and property taxes, when you can experience the flexibility and freedom of renting? The answer, it seems, is multifaceted. Many find it liberating to move closer to their workplace, avoiding the soul-crushing commute that eats into precious time for self-reflection and personal pursuits. The rental market offers a wider variety of locations, enabling individuals to chase those coveted walkable neighborhoods or proximity to gree...

Kernel Debugging - Nightmare

Image
This is about an interesting but strenuous exercise I had gone through in life as a software engineer. This happened many years back and some parts are blurry. Disclaimer: The methods followed in this might not the best ways to debug the issue. Scene So the story goes like this. We were developing a gateway product and were in the last stages of doing the performance tests on the gateway.The performance expectations of the gateway was so well documented that we have a completely detailed input and output model which exactly predicts what is the kind of load this gateway can handle (probably one of the best performance models I ever worked with). During the performance tests we observed that the system CPU usage of the Linux kernel is going really beyond what is expected as we were loading the system towards the peak load it can handle. The details of this will be explained once I finish the architecture overview in the next section. Architecture From an architecture point of view, at ...