Gautam Dhameja
Recent content on Gautam Dhameja
Latest posts
Introducing Sonar: Understand Any Codebase, Explained for Your Role

 
 

 We have all been through this. You join a new company, usually a software company with a large codebase behind the product, and you need to get onboarded. Either someone senior helps you understand the codebase, or you are left to read the documentation.
If you are in a non-technical role, a PM or GTM for example, you are often left out of these discussions. Some people…
The Broken Incentive Structure of AI Adoption

 
 

 Eight years in crypto have taught me one thing above all: if you get the incentives wrong, everything downstream breaks. I have been thinking about that in the context of AI over the last few days. 
 Just yesterday I came across a tweet saying, “Why are most people posting about using AI but not about what they are building?” I think I have an answer.
The Fine Print of Enterprise AI Productivity

 
 

 Enterprise AI has a productivity story that is being advertised quite a bit, but it also has a cost story. So far, discussions have been focusing only on the former. 
 I have been doing software consulting for 15+ years. There is always a workflow associated with it. The customer or the enterprise has a particular problem to solve, be it optimizing a business process or…
AI-Assisted Coding: Field Notes

 
 

 
 TL;DR
 
 
 Link to heading 
 
 
 
 Software engineering is not dead. 
 You won’t get any further with vibe coding if you never did coding before. 
 AI coding agents are here to stay, and for good. 
 
 
 Introduction
 
 
 Link to heading 
 
 
 I’ve been doing AI-assisted programming…
The Human Harness

 
 

 A few days ago, an AI coding agent deleted an entire production database and all its backups in 9 seconds . When asked about it, the agent produced a detailed confession listing every safety rule it had violated. It knew the rules, it broke them anyway, and it admitted that. 
 Earlier this year another AI agent ran “terraform destroy” on a live production system and…
LLMs Are Deterministic. Until They're Not.

 
 

 What are the chances that you will get the same output from an LLM on the same query across several runs? For the last few days, I have been wondering what is the level of determinism in an LLM’s output. What are the chances that it will give you the exact same answer every single time? This is extremely critical for use cases where decisions are based on pre-defined…
Not Every AI Agent Needs Memory

 
 

 I was building an AI agent for a professional services use case for a customer, and the natural instinct was to add memory so that the agent could remember previous interactions, build context over time, and learn from the past queries and responses. Then I realized this agent handles multiple customers. If it remembers client A’s details and that context bleeds into…
The Execution Path of an LLM Inference Call: A Systems Perspective

 
 

 For the last few months, I have been looking into the actual usage of AI in software engineering and, most importantly, in enterprise setups. And to understand it better, I wanted to know what’s happening under the hood. Since late 2022, when ChatGPT went mainstream, the AI conversation has been dominated by generative AI, specifically large language models (LLMs). So,…
Stuck in Autocomplete: Why AI Productivity Gains Plateaued at 10%

 
 

 AI tools evolved from auto-complete in 2021 to chat in the editor in 2023 and full agentic coding in 2025, but the vast majority of developers are still stuck in phase one . The tools became more advanced. The usage did not. 
 AI tools are now capable of reading the entire codebases, planning multiple file changes, running tests and iterating autonomously. But the…
AI Agents Are Just Distributed Systems (With a Different Brain)

 
 

 Traditional distributed systems and AI agents have a lot in common, primarily from the architecture perspective. In this post, I am examining the architecture patterns between the two and drawing out the similarities and differences. This is rather high level, but it aims to give a clear perspective on how to think about AI agents if you already know how to build distributed…
Why I Prefer Writing Without AI

 
 

 I wrote a blog post using AI a few days ago. I did the initial research and came up with the basic structure and a set of bullet points. Then I gave it to Claude to write it up for me - polish the sentence structure, pull out data and references from the internet, and fix some numbers. It generated a nice-looking blog post. Here it is .
So, is this a Pivot?

 
 

 Looking at my recent posts on LinkedIn, my friends asked me, “Am I pivoting to AI?”. Got me thinking, and when I think of something, I sometimes like to write about it as well, so here we are. 
 Let’s start from the beginning. I’ve been working in the tech industry for more than a decade. I started as a Windows desktop application developer, moved…
System of Record or Verification Layer? The blockchain question nobody's asking.

 
 

 Stablecoins processed $33 trillion in 2025. More than two years earlier, Maersk’s TradeLens - one of the most well-funded supply chain blockchain projects ever built - had already been shut down and buried. Both blockchain projects, but one category keeps scaling while the other keeps dying. How did we end up here? 
 After years of watching enterprise pilots get…
Instant Finality In Blockchains: Feature or a Bug?

 
 

 
 Table of Contents
 
 
 Link to heading 
 
 
 
 What is Finality? 
 Why is Finality needed? 
 Finality in Proof of Stake Blockchains 
 Deterministic Finality - Instant and Eventual 
 Tradeoffs with Fast Finality 
 Scalability Impacting Finality 
 Potential Improvements & Research 
 Is Instant Finality Really…
How to Master Intent-Oriented Software Consulting: From Chaos to Clarity!

 
 Photo by Markus Spiske 
 

 Recently, I was reading about intents and transactions in blockchains . Basically a transaction is a complex object where you have to worry about a lot of things with regards to having the right inputs, right outputs, right delegation to internal transactions, calling a smart contract from the other smart contract, and many other things including…
Web3, why?

 
 

 Trust. 
 Let’s take a moment and think what trust really means for us. What comes to our mind when we think of trust? 
 In general, trust is a nice word. Trust means something positive about a connection and bonding with someone. In some sense, trust is also a risk that we take in people and organizations. 
 
 
 When we trust a friend, we take a…
Substrate: A No-Code Intro

 
 

 This post is about setting some context before you get started with Substrate. 
 Substrate is a framework for building blockchains. But what does that mean? 
 I was recently at a hackathon/conference, and many of the participating developers asked me - “How do I get started with Substrate and deploy smart contracts on it?” 
 Most of the time I give a brief reply,…
Building a resilient PoA blockchain with Substrate

 
 Image Source: Unsplash 
 

 The Substrate framework provides modular components for building highly customizable and extensible blockchains and blockchain-based solutions. Some of the most popular public networks using the Substrate framework are Polkadot, Kusama, and several of their parachains. 
 A blockchain built using Substrate is modular and any component at…
10 Things You Should Consider When Building a Blockchain Solution

 
 Image Credits: Pete Linforth 
 

 
 What is being decentralized?
 
 
 Link to heading 
 
 
 When building a blockchain solution, the most important part is to figure out what is being decentralized and how it could impact the users. Are we decentralizing a decision making process (eg: DAOs), or payment processing (eg: Bitcoins), or services (eg:…
Getting Started with Parity Substrate: Build Your Own Blockchain

 
 Substrate logo — © Parity Technologies 
 

 Parity Substrate is a blockchain development framework with many cool features like upgradable blockchains, modular architecture, customizable block execution logic, and hot-swappable consensus. For an overview of the Substrate framework, watch this talk from Dr. Gavin Wood (Web3 Summit, October 2018). 
 This article is about…
Access Control in Enterprise Blockchain Solutions
Blockchain deployment in enterprise setups is much more than just the blockchain network itself. In an enterprise setup, multiple systems and data sources need to be integrated with the blockchain to get the desired results. A blockchain in enterprise systems is used to provide an additional verification and agreement layer, on top of existing systems, to reduce conflict and achieve data…
Introducing BlockShots Podcast - Blockchain Simplified!

 
 

 When I started working in the blockchain space, back in mid-2017, I was pretty new to the concepts and the ecosystem. I am one of those who have come into the blockchain space from a software engineering background and not from a token/bitcoin investor background. Coming from this background has certainly helped me in understanding the core technical side of blockchain and…
Substrate: Blockchains That Evolve with Your Business
When it comes to software development in general, we have evolved a lot in terms of processes. We started with the waterfall model of software development, where the requirements were fixed before any code was written. We then moved on to more flexible models - iterative, agile, scrum, and so on. This flexibility is essential for building solutions that keep evolving as per the needs. Things…
Transactions Per Second in Permissioned Blockchains - Results may vary!

 
 Photo by Chris Liverani on Unsplash 
 

 Ever since blockchain technology became hyped, there has been a constant debate on the performance & scalability of decentralized systems. It started with the comparison of Bitcoin main net’s transaction throughput with that of the visa network. Then came Ethereum, and the same comparisons were (still are) made again. Nowadays,…
Here's why I migrated my blog away from Medium

 
 Photo by Andrew Neel on Unsplash 
 

 I switched to Medium in 2015 because of one simple reason - the community aspect of it. The cool new framework comprising publications, stories, discussions, claps (likes), etc. motivated me to publish on Medium. On top of that, there was great writing experience through the WYSIWYG editor. I was happy to switch to Medium and thought I…
My Talks from 2018

 
 

 This post is a compilation of all my tech talks from 2018. I thought it will be a good idea to have all the videos accessible from a single page. They are ordered as most recent first. 
 
 1. TCR Workshop @ Web3 Summit (22 Oct 2018)
 
 
 Link to heading 
 
 
 Conducted a workshop, at Web3 Summit 2018 , to explain the concepts of Token Curated…
My Year in Review 2018

 
 looking back :) 
 

 Earlier today, while going through my twitter feed, I came across several “year in review” articles. I read through some of them while sipping my afternoon coffee and then I thought of writing my own. It has been a good year with a lot of experiences and learning. Here’s a debrief. 
 
 Setup()
 
 
 Link to heading…
medium-2-md: Convert Medium posts to markdown with front matter
I have recently migrated my (this) blog out of Medium because of several reasons. While I have covered each of these reasons, with details, in a different blog post , this post is about one of the technical problems with the migration itself. 
 The new platform where I have migrated my blog is Hugo . Hugo is a static site generator written in Go and is amazingly fast. It also supports markdown…
Community-governed Crowdfunding using Token Curated Registries
The ICO-based projects of today are generally proposed, driven and built by a group of people who come up with the idea and the corresponding token utility for the project. There is not much that the community can do or contribute apart from funding (investing in) the project by participating in the ICO and purchasing the tokens. Also, once the funds are raised, the teams raising the funds are in…
Explain like I’m 5: Token Curated Registries

 
 

 Around a year ago (September 2017), Mike Goldin came up with the idea of Token Curated Registries (TCRs) based on public permissionless (blockchain) networks. The concept has a lot of potential as it encapsulates all the basic functions needed to create an incentive system for community-driven curation. 
 Recently, I did a talk as part of Berlin Blockchain Week where I…
Lifecycle of Data

 
 Photo by rawpixel on Unsplash 
 

 Everything that lives, has three stages in its lifespan — Birth, Death and the time between the two. Let’s see if we can define the same for data. 
 
 Birth — Recorded
 
 
 Link to heading 
 
 
 Any piece of data is born when observations are recorded. These observations can be a doctors’ observation about…
Blockchain for the masses: A peek into the not-so-distant, decentralized future.
Prologue: Read this post with a pinch of salt and make sure to read the following note. 
 [August 2021] After reading this blog post after almost 3 years of writing it, now I feel it is a bit naive and immature and I do not completely align with it anymore. Over the last couple of years, I have been trying to understand the realistic use-cases of decentralized systems so that we can justify…
Music Tech Fest #MTFLabs — Helsinki, 2017: A Recap

 Music Tech Fest Labs Helsinki 2017 recap 
 This YouTube video loads after non-essential cookies are accepted. 
 Watch on YouTube 
 

 In the weekend of 25th November 2017, I along with my colleague Don Gossen , attended #MTFLabs, part of Music Tech Fest , at Helsinki. For three days, around 35 artists, musicians and engineers hacked on some really cool stuff bringing…
How to merge two or more mp3 files programmatically in C#

 
 Photo by: Dan Stark 
 

 As part of the Music Tech Fest #MTFLabs event (25–28 November, 2017), I created a simple mashup program using C# and the naudio library . 
 The overall idea was about registering music on blockchain for attribution to the respective music creators. To showcase this, we used a simple flow of creating mashups by merging audio (mp3) files using…
How to approach making changes to an existing React-Redux application
There are a lot of great articles about getting started with React-Redux . Most of them take the todo app example and walk us through the steps of coding the app and at the end we have a working todo app. However, in the real life situation when a new developer is on-boarded to an existing project, the getting started guides are not of much help because these projects are sometimes too big and are…
Exploring patterns around Data Driven Apps

 
 Photo by Harpal Singh 
 

 A few years ago, I was a part of a project in which we were tasked with making a few cross platform mobile apps using Xamarin. These would be quick and dirty PoCs (proof-of-concept) for some of our enterprise customers from different industry verticals. We thought of reusing as much code and assets as we could. That was my first experiment with…
Blockchain: Not just a distributed ledger!

 
 Image Credits: Max Pixel 
 

 When I first read about “Blockchain”, back in 2015, I could not understand most of it. I am sure that has happened to many of us when we tried to understand it for the first time. When I looked it up online, I found a lot of people/websites/blogs describing blockchain as distributed ledger. Well, that was even more confusing for me. Here’s why…
How to install .Net Core on Ubuntu
[Update] The information on this post might be outdated because of updates and fixes released after I wrote it. After trying the latest setup instructions , if you are still having trouble installing .Net Core on Ubuntu, then the following text might help. 
 
 At the time of this writing (August 7, 2017), when I was trying to install .Net Core on Ubuntu, I found that it’s not supported on…
Getting the big picture — How we monitored a cloud app using Azure Application Insights and Microsoft Power BI

 
 Image Source: https://www.cloudcomputing-news.net/ 
 

 We built a cloud-native app. Well, no big deal, we do that all the time. This time, however, it was a bit different. This app was directly integrating one of our partners with our internal business systems and the leadership wanted some real time monitoring and business insights into the integration and the data…
Think, think, think… before you code!

 
 Image source: https://whycantpeoplejustthink.wordpress.com/ 
 

 I have a weird habit — I am rarely at my work desk when I have a programming task at hand. When I’m not at my desk, I’m mostly walking around or looking at a whiteboard in the most secluded focus room available. The reason being — It helps me focus; it helps me understand the bigger picture; it helps me design…
Implementing an Asynchronous Web API using Azure Service Fabric stateful micro-services

 
 Image Source: Pixabay 
 

 Many a times we come across situations when we need to execute long running tasks for APIs exposed by our backend services. To make sure that the user experience is not impacted and the requests are not blocked, it is a good practice to execute these long running tasks asynchronously. Here’s how we built an asynchronous web API using Azure…
Arduino: How to integrate multiple sketches with Standard Firmata

 
 Image Source: Pixabay 
 

 Note: This post assumes that the reader knows Arduino and C++ programming basics. 
 As part of a recent project, we connected a Raspberry Pi (I will be calling it just “Pi” for the rest of this post), running Windows 10 IoT Core, with a couple of Arduino boards having some sensors connected to them. For the connectivity between Pi and Arduino,…
The Product Manager Attitude

 
 

 Lately, I have been observing and trying to understand the product manager role and, in the process, I studied that famous Venn diagram showing an overlap of business, technology and user experience; came across the notion of CEO of the product ; read a few articles about how to be a great product manager; shadowed a colleague who is in the role for quite some time now, and…
Building the Internet of Things: Components
First of all, let’s try to define the internet of things . In simple words, its all about devices/sensors gathering information about their surroundings and sending it to the internet/cloud for processing and analysis, so that meaningful results can be derived from it. 
 That simple (?) definition tells us that there are a few tasks performed by an IoT system — collecting data, sending data to…
Instrumentation and system events telemetry in cloud based IoT systems

 
 Image Source: Pixabay 
 

 A few decades ago, when “digital” computer programming was in its initial days, programs were written using simple text editors and then these text files were given to the compiler as an input which then emitted an executable. Then the executable was finally run using command prompt/terminal. And what if the program had an error which was not…
Before you consider enabling BYOD at your enterprise
Bring your own device or BYOD is one of the cool buzz words in the IT industry today. It seems to be pretty simple and straight forward, allowing your employees to bring the device of their choice to work. There are two main benefits… 
 
 Employees get to choose their own devices so they are more comfortable, happy and productive. 
 Employers don’t have to procure devices for employees…
Implementing Saga pattern with stateful micro-services for failure management in distributed systems

 
 Photo by: Jeremy Perkins 
 

 Recently, I came across the Saga pattern when I stumbled upon this video from last year’s Goto conference . In the video, Caitie McCaffrey talks about how Saga pattern can (also) be applied to distributed systems and transactions spanning several endpoints/process boundaries. 
 For a new IoT project, we’ve been looking for solutions for…
Understanding the Internet of Things
Internet of Things is obviously one of the most talked about topics in the tech industry today. When I first read about it in an article, I was a bit confused. I wondered how everything (even a light bulb) can be connected to the internet and what purpose will it solve. Now, after a couple of years, after reading a few more articles, after attending a few trainings and after working on a few…
Distributed Caching with Redis

 
 Image by Pettycon on Pixabay 
 

 
 “There are only two hard things in Computer Science: cache invalidation and naming things.”
 - Phil Karlton 
 
 I first came across this quote about a decade ago, while I was still in college. I could easily relate to the second part about naming things but not to the first part about cache invalidation. Maybe because I…