RSSAmplifier

Blog

Blog

Thoughts and writings by Raj Nandan Sharma

rajnandan.comRSS feed ↗19 posts

Latest posts

The AI Layoff Trap

Picture a town with 1,000 companies and 100,000 workers. Each company employs 100 people, pays them a wage, and sells to them. The money leaves through the front door as salary and comes back through the till. That loop is the local economy. Now hand every company the same AI. One firm runs the numbers. Replace a worker earning $50k a year, run the software for $20k, keep $30k. Easy call. So it…

Good Taste the Only Real Moat Left

AI made competent output cheap. You can generate a landing page in minutes, draft a product memo from one prompt, and polish a pitch deck before anyone has decided what the company actually believes. So taste became a topic in tech. When anyone can ship something that looks decent, the people who stand out are the ones who can tell what is generic, what is true, and what is worth pushing further.…

Agent Harness Engineering vs Context Engineering vs Prompt Engineering

I build agents for a living, and most weeks someone hands me a "prompt problem" that turns out to be something else. The wording was fine. The model never saw the right data, or the runtime let it do something it should never have been allowed to do. A reliable agent comes from three separate jobs, and the prompt is one of them: Prompt engineering : the instructions the model follows. Context…

OWASP Top 10 for LLMs: AI Vulnerabilities and How to Defend Against Them

If you are putting LLMs into production, the main risk is no longer whether the demo works. The main risk is whether the system can be manipulated, over-trusted, or over-permissioned in ways that create a real security incident. That is why the OWASP Top 10 for LLM Applications matters. First published in 2023 and updated for 2025, it turns vague AI anxiety into a concrete operating model for…

P vs NP, NP-Hard, and NP-Complete - A Very Simple Guide

Most people first hear P vs NP and immediately think, "This sounds important, but I have no idea what it means." That reaction is normal. Here is the whole idea in one sentence: Some problems are easy to solve. Some problems are hard to solve but easy to check once somebody hands you an answer. P vs NP asks whether those two groups are actually the same group. This matters because many real…

How a Screen Turns Electricity Into Motion

A screen looks effortless. Tap a button, drag a map, start a game, and the image seems to react instantly. But a display is not painting a continuous world. It is running a tightly choreographed loop: receive data, decide pixel values, push light toward your eyes, and repeat that cycle dozens or even hundreds of times each second. That loop matters because it shapes almost every digital experience…

Largest Triangle Three Buckets: Downsampling Time-Series Data Without Losing Signal

The Core Problem You have 10 million time-series data points: stock prices, server metrics, IoT sensor readings. Your charting library chokes past 50,000 points, the tab freezes, and users complain. The naive fix, taking every Nth point, produces jagged lines and drops the peaks and valleys where anomalies live. Largest Triangle Three Buckets (LTTB) preserves the visual shape of your data by…

The Go Frontend Dilemma 2026: Templ, React, and the Return to the Server

For the last decade, the standard answer to "How do I build a UI with my Go backend?" was "You don't." You wrote a REST or gRPC API in Go, and you handed the keys to a Node.js team building a React Single Page Application (SPA). Architecture is cyclical. In 2026, the pendulum has swung firmly back to the server. The complexity of managing distributed state between a client (React) and a server…

State of Agentic Commerce 2026: The Protocol Wars and the New Retail Stack

As of January 2026, the hypothetical concept of "Agentic Commerce" - software agents autonomously executing financial transactions - has transitioned from research papers to production infrastructure. The announcements at NRF (National Retail Federation) 2026 have solidified the battle lines for the next decade of digital retail. This post analyzes the current state of the ecosystem, focusing on…

Apache Spark vs Flink vs Airflow: A Comprehensive Comparison with Real-World Examples

In the modern data engineering landscape, choosing the right tool for your data processing needs can be overwhelming. Apache Spark, Apache Flink, and Apache Airflow are three powerful frameworks that often come up in discussions, but they serve different purposes. In this comprehensive guide, we'll compare these three tools and provide real-world examples to help you understand when to use each…

Memoization: The Art of Teaching Your Code to Remember

The Core Insight Memoization is elegantly simple: cache a function's results by its inputs. When the same input appears again, return the cached value instead of recomputing. You're trading memory for speed - replacing repeated work with instant lookups. The Problem: Counting Paths Up Stairs Imagine a staircase where you can climb 1, 3, or 5 steps at a time. How many distinct ways can you reach…

Enterprise AI in 2025: $37 Billion and Counting

Enterprise AI has grown from $1.7 billion in 2023 to $37 billion in 2025. That's not a typo. In just three years, AI has captured over 6% of the global SaaS market and become the fastest-scaling software category in history. The bubble fears haven't materialized. The demand side tells a different story: broad adoption, real revenue, and productivity gains at scale. Where the Money Goes The $37…

McKinsey's State of AI 2025: The Gap Between Adoption and Impact

McKinsey just dropped their State of AI 2025 report , surveying nearly 2,000 participants across 105 countries. The headline: almost everyone is using AI now, but almost no one is seeing meaningful enterprise-wide impact. Three years into the generative AI era, this is the defining tension. The Adoption-Impact Gap The numbers tell a clear story: 88% of organizations are using AI in at least one…

Introducing PaperPin: AI-Powered Surveys with Synthetic Respondents

I've been working on a new project called PaperPin —an AI-powered survey platform that uses synthetic respondents to deliver research insights fast. The Problem with Traditional Surveys If you've ever run user research, you know the pain: Recruiting takes weeks. Finding the right respondents, screening them, scheduling—it's a logistics nightmare. Panels are expensive. Quality respondents cost…

Rogue AI Agents and How Observability Builds Trust

AI agents don't just chat. They reason, plan, call tools, and act. That's useful in customer support, supply chain, and IT operations. It's also risky. In production, agents can go "rogue" in ways that are hard to see until damage is done. Here's how it works. An agent makes a call you can't explain. It produces different outputs for the same input. Or it fails silently between steps. When that…

Stripe's Agentic Commerce Protocol: Building the Rails for AI-Powered Commerce

Stripe recently announced the Agentic Commerce Protocol (ACP), a new standard designed to enable AI agents to discover merchants, negotiate terms, and complete purchases on behalf of users. This is a significant step toward a future where your AI assistant doesn't just recommend products—it actually buys them for you. The Problem ACP Solves Today's AI agents can do a lot. They can browse the web,…

A 2x Engineer

We often hear about 10x engineers but today I want to talk about a 2x engineer. More specifically, I want to talk about what are those two qualities that make a 2x engineer. Quality 1: Decision Making Decision making is important in software development. You would often find yourself in a room with 10 other engineers and managers discussing about a new feature or a project that has to implemented.…

Practical PromQL Examples

PromQL is a powerful query language that allows you to query metrics from Prometheus. Here are some practical examples that you can use to query metrics from Prometheus. Working with counters Let's assume we have a metric called http_request_duration_seconds_count that records the total number of HTTP requests made to a server. The metric has the following labels: method : The HTTP method used for…

Messaging between Browser Windows using ruto.js

At my work I have to build solutions around communication between browser and iframe or a popup window i.e. <iframe> or window.open() . I have to use postMessage JS API, and feel it is not very developer friendly. Consider the below situation: The parent window sends a message to the child window The child window receives this message The child calls a backend server with the message The child…