<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Gautam Dhameja</title>
    <link>https://www.gautamdhameja.com/</link>
    <description>Recent content on Gautam Dhameja</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Wed, 25 Mar 2026 17:43:32 +0100</lastBuildDate>
    <atom:link href="https://www.gautamdhameja.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>LLMs Are Deterministic. Until They&#39;re Not.</title>
      <link>https://www.gautamdhameja.com/deterministic-llm/</link>
      <pubDate>Wed, 25 Mar 2026 17:43:32 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/deterministic-llm/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/llm-deterministic-2.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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&amp;rsquo;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 rules, and rules could be augmented using LLM reasoning. If the decisions are not deterministic, then the same input could be treated differently and that&amp;rsquo;s not a good thing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Not Every AI Agent Needs Memory</title>
      <link>https://www.gautamdhameja.com/agentic-memory/</link>
      <pubDate>Tue, 17 Mar 2026 14:00:40 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/agentic-memory/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/memory1.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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&amp;rsquo;s details and that context bleeds into client B&amp;rsquo;s details, then it&amp;rsquo;s not just a bug; it&amp;rsquo;s a compliance violation. It could also be a confidentiality violation. Then I got to thinking: do all AI agents need memory?&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Execution Path of an LLM Inference Call: A Systems Perspective</title>
      <link>https://www.gautamdhameja.com/llm-explained/</link>
      <pubDate>Sun, 15 Mar 2026 12:36:57 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/llm-explained/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/llm-1.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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&amp;rsquo;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, I&amp;rsquo;ve been trying to understand how LLMs work. Not from a machine learning book&amp;rsquo;s perspective or from a layman user&amp;rsquo;s perspective, but from a systems engineer&amp;rsquo;s perspective.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stuck in Autocomplete: Why AI Productivity Gains Plateaued at 10%</title>
      <link>https://www.gautamdhameja.com/stuck-in-autocomplete/</link>
      <pubDate>Thu, 12 Mar 2026 20:48:42 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/stuck-in-autocomplete/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/stuck-autocomplete.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;AI tools evolved from auto-complete in 2021 to chat in the editor in 2023 and full agentic coding in 2025, but the &lt;a href=&#34;https://survey.stackoverflow.co/2025/ai#sentiment-and-usage&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;vast majority of developers are still stuck in phase one&lt;/a&gt;. The tools became more advanced. The usage did not.&lt;/p&gt;&#xA;&lt;p&gt;AI tools are now capable of reading the entire codebases, planning multiple file changes, running tests and iterating autonomously. But the majority of developers are still using them the way they used Copilot in 2021: wait for a suggestion, hit tab, and move on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI Agents Are Just Distributed Systems (With a Different Brain)</title>
      <link>https://www.gautamdhameja.com/agent-distributed-system/</link>
      <pubDate>Mon, 09 Mar 2026 13:40:44 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/agent-distributed-system/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/distributed-systems-ai-agents.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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 systems.&lt;/p&gt;&#xA;&lt;h2 id=&#34;traditional-distributed-systems&#34;&gt;&#xA;  Traditional Distributed Systems&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#traditional-distributed-systems&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;When we build a traditional distributed system, let&amp;rsquo;s say a set of microservices integrating with external systems, here is how it looks:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why I Prefer Writing Without AI</title>
      <link>https://www.gautamdhameja.com/not-writing-with-ai/</link>
      <pubDate>Sat, 07 Mar 2026 13:55:04 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/not-writing-with-ai/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/writing-without-ai.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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. &lt;a href=&#34;https://www.gautamdhameja.com/blockchain-system-of-record&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Here it is&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>So, is this a Pivot?</title>
      <link>https://www.gautamdhameja.com/not-a-pivot/</link>
      <pubDate>Thu, 05 Mar 2026 19:34:51 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/not-a-pivot/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/pivot.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Looking at my recent posts on LinkedIn, my friends asked me, &amp;ldquo;Am I pivoting to AI?&amp;rdquo;. Got me thinking, and when I think of something, I sometimes like to write about it as well, so here we are.&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s start from the beginning. I&amp;rsquo;ve been working in the tech industry for more than a decade. I started as a Windows desktop application developer, moved into mobile applications, and then cloud and IoT. After working for a few years on Internet of Things, I moved into crypto in 2017. Since then, in the last eight years, I&amp;rsquo;ve been mostly working on the tech side of crypto, the part that focuses on blockchain technology and its use cases.&lt;/p&gt;</description>
    </item>
    <item>
      <title>System of Record or Verification Layer? The blockchain question nobody&#39;s asking.</title>
      <link>https://www.gautamdhameja.com/blockchain-system-of-record/</link>
      <pubDate>Thu, 12 Feb 2026 13:34:43 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/blockchain-system-of-record/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/blockchain-sor-hero.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Stablecoins &lt;a href=&#34;https://www.bloomberg.com/news/articles/2026-01-08/stablecoin-transactions-rose-to-record-33-trillion-led-by-usdc&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;processed $33 trillion&lt;/a&gt; in 2025. More than two years earlier, Maersk&amp;rsquo;s TradeLens - one of the most well-funded supply chain blockchain projects ever built - &lt;a href=&#34;https://www.maersk.com/news/articles/2022/11/29/maersk-and-ibm-to-discontinue-tradelens&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;had already been shut down&lt;/a&gt; and buried. Both blockchain projects, but one category keeps scaling while the other keeps dying. How did we end up here?&lt;/p&gt;&#xA;&lt;p&gt;After years of watching enterprise pilots get quietly shelved while DeFi and stablecoins kept growing, I think, among other things, it comes down to an architectural question that most people in the space aren&amp;rsquo;t asking.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Instant Finality In Blockchains: Feature or a Bug?</title>
      <link>https://www.gautamdhameja.com/instant-finality-feature-or-bug/</link>
      <pubDate>Mon, 24 Jul 2023 17:05:43 +0200</pubDate>
      <guid>https://www.gautamdhameja.com/instant-finality-feature-or-bug/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/finality-0.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;h2 id=&#34;table-of-contents&#34;&gt;&#xA;  Table of Contents&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#table-of-contents&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What is Finality?&lt;/li&gt;&#xA;&lt;li&gt;Why is Finality needed?&lt;/li&gt;&#xA;&lt;li&gt;Finality in Proof of Stake Blockchains&lt;/li&gt;&#xA;&lt;li&gt;Deterministic Finality - Instant and Eventual&lt;/li&gt;&#xA;&lt;li&gt;Tradeoffs with Fast Finality&lt;/li&gt;&#xA;&lt;li&gt;Scalability Impacting Finality&lt;/li&gt;&#xA;&lt;li&gt;Potential Improvements &amp;amp; Research&lt;/li&gt;&#xA;&lt;li&gt;Is Instant Finality Really Needed?&lt;/li&gt;&#xA;&lt;li&gt;Finality in Polkadot&lt;/li&gt;&#xA;&lt;li&gt;Conclusion&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;what-is-finality&#34;&gt;&#xA;  What is Finality?&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#what-is-finality&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Finality in blockchains means a block (and transactions in it) cannot be reverted.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Master Intent-Oriented Software Consulting: From Chaos to Clarity!</title>
      <link>https://www.gautamdhameja.com/intent-oriented-software-consulting/</link>
      <pubDate>Mon, 05 Jun 2023 18:55:14 +0200</pubDate>
      <guid>https://www.gautamdhameja.com/intent-oriented-software-consulting/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/intent.jpg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://www.pexels.com/photo/sky-sunset-field-sunrise-114296/&#34;&gt;Photo by Markus Spiske&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Recently, I was reading about &lt;a href=&#34;https://www.paradigm.xyz/2023/06/intents&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;intents and transactions in blockchains&lt;/a&gt;. 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 nonce management to make sure that the same transaction is not being called twice. There could be a lot of complexity when a user is sending a transaction to a blockchain. Some of that complexity is abstracted away by &lt;a href=&#34;https://episodes.blockshots.fm/p/episode-11-decentralized-apps-dapps-524#details&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;applications&lt;/a&gt; and &lt;a href=&#34;https://episodes.blockshots.fm/p/episode-9-wallets-185#details&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;wallets&lt;/a&gt;, but not all of it. On the other hand, there is the concept of &lt;strong&gt;intents&lt;/strong&gt;. An intent is basically a description of an outcome that the user wants. For example, they might want to do something with a blockchain that produces a specific outcome - annual APY of a target percentage, or swapping tokens at a target exchange rate, and so on. So essentially, an intent is a much more simple and abstract version of execution details of (one or more) transactions. An intent tells you what the outcome is, a transaction tells you what the process is. Now there is a lot of debate going on in the crypto world whether we should have more of intent oriented architectures or transaction oriented architecture. But let&amp;rsquo;s leave it to that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web3, why?</title>
      <link>https://www.gautamdhameja.com/why-web3/</link>
      <pubDate>Mon, 04 Jul 2022 14:26:35 +0200</pubDate>
      <guid>https://www.gautamdhameja.com/why-web3/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/web3.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;&lt;strong&gt;Trust.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s take a moment and think what trust really means for us. What comes to our mind when we think of trust?&lt;/p&gt;&#xA;&lt;p&gt;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.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;When we trust a friend, we take a risk whether they would act/advice in our interest or not.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Substrate: A No-Code Intro</title>
      <link>https://www.gautamdhameja.com/substrate-no-code-intro/</link>
      <pubDate>Sun, 20 Mar 2022 00:04:56 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/substrate-no-code-intro/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/no-code-intro-1.jpg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;This post is about setting some context before you get started with Substrate.&lt;/p&gt;&#xA;&lt;p&gt;Substrate is a framework for building blockchains. But what does that mean?&lt;/p&gt;&#xA;&lt;p&gt;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?”&lt;/p&gt;&#xA;&lt;p&gt;Most of the time I give a brief reply, that, with Substrate, you could build custom blockchains not just smart contracts. Think a layer below.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building a resilient PoA blockchain with Substrate</title>
      <link>https://www.gautamdhameja.com/resilient-poa-network-substrate/</link>
      <pubDate>Sat, 11 Dec 2021 23:25:46 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/resilient-poa-network-substrate/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/evolving-blockchains-6.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://unsplash.com/photos/ZiQkhI7417A&#34;&gt;Image Source: Unsplash&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://github.com/paritytech/substrate/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Substrate framework&lt;/a&gt; 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.&lt;/p&gt;&#xA;&lt;p&gt;A blockchain built using Substrate is modular and any component at mostly any layer of the stack can be replaced or enhanced as per the needs. You can have custom consensus, hashing and signing algorithms, transaction validations, and much more.&lt;/p&gt;</description>
    </item>
    <item>
      <title>10 Things You Should Consider When Building a Blockchain Solution</title>
      <link>https://www.gautamdhameja.com/things-you-should-consider-when-building-blockchain-solution/</link>
      <pubDate>Thu, 24 Jun 2021 14:09:22 +0200</pubDate>
      <guid>https://www.gautamdhameja.com/things-you-should-consider-when-building-blockchain-solution/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/blockchain-for-the-masses-1.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://pixabay.com/illustrations/blockchain-network-business-3448502/&#34;&gt;Image Credits: Pete Linforth&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;h3 id=&#34;what-is-being-decentralized&#34;&gt;&#xA;  What is being decentralized?&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#what-is-being-decentralized&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;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: DeFi), or something else? Having clarity on this is extremely critical in building and communicating your blockchain solution. Investors love this clarity too.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Getting Started with Parity Substrate: Build Your Own Blockchain</title>
      <link>https://www.gautamdhameja.com/getting-started-parity-substrate/</link>
      <pubDate>Sat, 06 Mar 2021 11:52:29 +0800</pubDate>
      <guid>https://www.gautamdhameja.com/getting-started-parity-substrate/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/getting-started-parity-substrate-1.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        Substrate logo — © Parity Technologies&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.substrate.io/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Parity Substrate&lt;/a&gt; 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 &lt;a href=&#34;https://www.youtube.com/watch?v=0IoUZdDi5Is&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;talk from Dr. Gavin Wood&lt;/a&gt; (Web3 Summit, October 2018).&lt;/p&gt;&#xA;&lt;p&gt;This article is about how you can get started with the Substrate framework to build your own blockchain. Let’s jump right in.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Access Control in Enterprise Blockchain Solutions</title>
      <link>https://www.gautamdhameja.com/enterprise-blockchain-access-control/</link>
      <pubDate>Sat, 04 Jul 2020 08:05:31 +0200</pubDate>
      <guid>https://www.gautamdhameja.com/enterprise-blockchain-access-control/</guid>
      <description>&lt;p&gt;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 reconciliation without the need for audits.&lt;/p&gt;&#xA;&lt;p&gt;Think of a supply chain system using a blockchain (there&amp;rsquo;s a reason I didn&amp;rsquo;t call it a supply chain blockchain) to reconcile data between a manufacturer, warehouse, and retailer. For this system to work, it would require integration of data sources, identity systems, middleware at each of these supply-chain partners with their blockchain node. The blockchain would then act as the agreement and settlement layer on top of the existing system. In general, there would be several employees in each of these organizations interacting with this system as users. Just like in any other enterprise system, there would be a need to control access permissions for these users in this blockchain-based system too.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing BlockShots Podcast - Blockchain Simplified!</title>
      <link>https://www.gautamdhameja.com/block-shots-blockchain-in-5-minutes/</link>
      <pubDate>Wed, 03 Jun 2020 20:08:26 +0200</pubDate>
      <guid>https://www.gautamdhameja.com/block-shots-blockchain-in-5-minutes/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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 how it helps with solving some of the major issues with centralization.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Substrate: Blockchains That Evolve with Your Business</title>
      <link>https://www.gautamdhameja.com/blockchains-that-evolve-with-your-business/</link>
      <pubDate>Sun, 02 Feb 2020 01:54:37 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/blockchains-that-evolve-with-your-business/</guid>
      <description>&lt;p&gt;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 change, situations change, and with them, the requirements change too. With changing needs, the solutions must change as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Transactions Per Second in Permissioned Blockchains - Results may vary!</title>
      <link>https://www.gautamdhameja.com/transaction-throughput-bad-metric-private-blockchain/</link>
      <pubDate>Sun, 10 Feb 2019 21:46:55 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/transaction-throughput-bad-metric-private-blockchain/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/blockchain-benchmarking-1.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://unsplash.com/photos/dBI_My696Rk&#34;&gt;Photo by Chris Liverani on Unsplash&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Ever since blockchain technology became hyped, there has been a constant debate on the performance &amp;amp; scalability of decentralized systems. It started with the comparison of Bitcoin main net&amp;rsquo;s transaction throughput with that of the visa network. Then came Ethereum, and the same comparisons were (still are) made again. Nowadays, as soon as there is a mention of a new blockchain platform or protocol, the first question that comes up is almost always about the transaction throughput (or transactions per second or TPS). This reminds me of the &lt;a href=&#34;https://www.youtube.com/watch?v=gzf20KLGE84&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;famous Maruti Suzuki ad (in India)&lt;/a&gt; showing people&amp;rsquo;s obsession with the mileage of cars, no matter how feature-rich they could be.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Here&#39;s why I migrated my blog away from Medium</title>
      <link>https://www.gautamdhameja.com/why-i-migrated-my-blog-from-medium/</link>
      <pubDate>Sat, 05 Jan 2019 00:56:40 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/why-i-migrated-my-blog-from-medium/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/blog-migration-1.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://unsplash.com/photos/cckf4TsHAuw&#34;&gt;Photo by Andrew Neel on Unsplash&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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 might never have to think or worry about my blogging platform again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Talks from 2018</title>
      <link>https://www.gautamdhameja.com/talks-2018/</link>
      <pubDate>Wed, 02 Jan 2019 23:50:08 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/talks-2018/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/year-review-2018-6.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-tcr-workshop--web3-summit-22-oct-2018&#34;&gt;&#xA;  1. TCR Workshop @ Web3 Summit (22 Oct 2018)&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#1-tcr-workshop--web3-summit-22-oct-2018&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Conducted a workshop, at &lt;a href=&#34;https://2018.web3summit.com/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Web3 Summit 2018&lt;/a&gt;, to explain the concepts of Token Curated Registries. Also did a walk through and demo of the smart contract code for my &lt;a href=&#34;https://github.com/gautamdhameja/simple-tcr&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;simple TCR implementation&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Year in Review 2018</title>
      <link>https://www.gautamdhameja.com/year-review-2018/</link>
      <pubDate>Mon, 31 Dec 2018 20:54:55 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/year-review-2018/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/year-review-2018-1.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        looking back :)&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Earlier today, while going through my &lt;a href=&#34;https://twitter.com/gautamdhameja&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;twitter&lt;/a&gt; feed, I came across several &amp;ldquo;year in review&amp;rdquo; 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&amp;rsquo;s a debrief.&lt;/p&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;&#xA;  Setup()&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#setup&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;2018 started on a very positive and high note. It was a fresh start with mainly two new challenges ahead. One of these challenges was my new role at work - I was given the responsibility to lead and grow the consulting team at &lt;a href=&#34;https://www.bigchaindb.com/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BigchainDB&lt;/a&gt;. The second challenge was to complete &lt;a href=&#34;https://www.apress.com/book/9781484234433&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;our book&lt;/a&gt; in time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>medium-2-md: Convert Medium posts to markdown with front matter</title>
      <link>https://www.gautamdhameja.com/medium-to-markdown-converter/</link>
      <pubDate>Sun, 30 Dec 2018 02:18:03 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/medium-to-markdown-converter/</guid>
      <description>&lt;p&gt;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 &lt;a href=&#34;https://www.gautamdhameja.com/why-I-migrated-my-blog-from-Medium/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;different blog post&lt;/a&gt;, this post is about one of the technical problems with the migration itself.&lt;/p&gt;&#xA;&lt;p&gt;The new  platform where I have migrated my blog is &lt;a href=&#34;https://gohugo.io/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo&lt;/a&gt;. Hugo is a static site generator written in Go and is amazingly fast. It also supports markdown content files similar to many other static site generators.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Community-governed Crowdfunding using Token Curated Registries</title>
      <link>https://www.gautamdhameja.com/community-governed-crowdfunding-tcr-ico/</link>
      <pubDate>Wed, 31 Oct 2018 00:48:01 +0100</pubDate>
      <guid>https://www.gautamdhameja.com/community-governed-crowdfunding-tcr-ico/</guid>
      <description>&lt;p&gt;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 full control of expenditure, delivery, and timelines for the project.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Explain like I’m 5: Token Curated Registries</title>
      <link>https://www.gautamdhameja.com/token-curated-registries-explain-eli5-a5d4cce0ddbe/</link>
      <pubDate>Mon, 01 Oct 2018 06:01:02 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/token-curated-registries-explain-eli5-a5d4cce0ddbe/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/tcr-eli5-1.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Around a year ago (September 2017), &lt;a href=&#34;https://medium.com/u/4380e912132e&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mike Goldin&lt;/a&gt; came up with the idea of &lt;a href=&#34;https://medium.com/@ilovebagels/token-curated-registries-1-0-61a232f8dac7&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Token Curated Registries (TCRs)&lt;/a&gt; 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.&lt;/p&gt;&#xA;&lt;p&gt;Recently, &lt;a href=&#34;https://youtu.be/Nl2S4N4BoCo&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;I did a talk as part of Berlin Blockchain Week where I tried to explain TCR concepts in a simpler language&lt;/a&gt;. This post is loosely a transcription of my talk.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lifecycle of Data</title>
      <link>https://www.gautamdhameja.com/life-cycle-of-data-8fa89a2e3c18/</link>
      <pubDate>Mon, 27 Aug 2018 09:01:02 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/life-cycle-of-data-8fa89a2e3c18/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/data-lifecycle-1.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://unsplash.com/photos/u5XiXcOq2Tw?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;&gt;Photo by rawpixel on Unsplash&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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.&lt;/p&gt;&#xA;&lt;h2 id=&#34;birthrecorded&#34;&gt;&#xA;  Birth — Recorded&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#birthrecorded&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Any piece of data is born when observations are recorded. These observations can be a doctors’ observation about their patients’ health, recorded on a health report; a poet’s thoughts recorded as poetry; a scientist’s calculations recorded as equations and proofs; an IoT sensor’s observations on temperature values recorded on a cloud database. The term recorded is important because data exists only when it can be consumed. It can be consumed when it is accessible. It is accessible when it is recorded and stored. Our thoughts in our head are not data, but if we write them down then they become data. Like, till yesterday, while I was still thinking, this piece of text was not data, today it is.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Blockchain for the masses: A peek into the not-so-distant, decentralized future.</title>
      <link>https://www.gautamdhameja.com/blockchain-for-the-masses-a-peek-into-the-not-so-distant-decentralized-future-d1861e839053/</link>
      <pubDate>Wed, 16 May 2018 15:12:40 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/blockchain-for-the-masses-a-peek-into-the-not-so-distant-decentralized-future-d1861e839053/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Prologue:&lt;/strong&gt; Read this post with a pinch of salt and make sure to read the following note.&lt;/p&gt;&#xA;&lt;p&gt;[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 the need. I am still super excited and hopeful of a more transparent and decentralized internet, but best to not integrate blockchain in everything without thinking it through. Right?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Music Tech Fest #MTFLabs — Helsinki, 2017: A Recap</title>
      <link>https://www.gautamdhameja.com/music-tech-fest-mtflabs-helsinki-2017-a-recap-4f7e4a22d0cd/</link>
      <pubDate>Sat, 09 Dec 2017 15:03:53 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/music-tech-fest-mtflabs-helsinki-2017-a-recap-4f7e4a22d0cd/</guid>
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/f4gGj5s_oDE?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;p&gt;In the weekend of 25th November 2017, I along with my colleague &lt;a href=&#34;https://medium.com/u/9104a5aaeb71&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Don Gossen&lt;/a&gt;, attended #MTFLabs, part of &lt;a href=&#34;http://musictechfest.net/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Music Tech Fest&lt;/a&gt;, at Helsinki. For three days, around 35 artists, musicians and engineers hacked on some really cool stuff bringing together Music, IoT, Blockchain and Neurotech. It was all about creativity and technology coming together and I can proudly say that we made magic.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to merge two or more mp3 files programmatically in C#</title>
      <link>https://www.gautamdhameja.com/merge-mp3-files-programmatically-in-csharp-eb95d8c3c59f/</link>
      <pubDate>Sun, 03 Dec 2017 21:15:56 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/merge-mp3-files-programmatically-in-csharp-eb95d8c3c59f/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/merge-mp3-1.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://unsplash.com/photos/JiSNvVs3keU&#34;&gt;Photo by: Dan Stark&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;As part of the Music Tech Fest #MTFLabs event (25–28 November, 2017), I created a simple mashup program using C# and the &lt;a href=&#34;https://github.com/naudio/NAudio&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;naudio library&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;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 this program, uploading the mashed-up files to a cloud based storage (we used Azure blob storage in this case) and then finally creating assets on a &lt;a href=&#34;https://www.bigchaindb.com/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BigchainDB&lt;/a&gt; based blockchain, having links of the respective mashup files.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to approach making changes to an existing React-Redux application</title>
      <link>https://www.gautamdhameja.com/how-to-approach-making-changes-to-an-existing-react-redux-application-ae00482c0f9a/</link>
      <pubDate>Sat, 11 Nov 2017 13:56:25 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/how-to-approach-making-changes-to-an-existing-react-redux-application-ae00482c0f9a/</guid>
      <description>&lt;p&gt;There are a lot of great articles about &lt;a href=&#34;https://medium.com/@notrab/getting-started-with-create-react-app-redux-react-router-redux-thunk-d6a19259f71f&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;getting&lt;/a&gt; &lt;a href=&#34;https://www.codementor.io/mz026/getting-started-with-react-redux-an-intro-8r6kurcxf&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;started&lt;/a&gt; &lt;a href=&#34;https://scotch.io/bar-talk/getting-started-with-redux-an-intro&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;with&lt;/a&gt; &lt;a href=&#34;https://redux.js.org/docs/basics/UsageWithReact.html&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;React-Redux&lt;/a&gt; apps. Most of them take the &lt;em&gt;todo&lt;/em&gt; app example and walk us through the steps of coding the app and at the end we have a working &lt;em&gt;todo&lt;/em&gt; 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 not exactly as simple as the &lt;em&gt;todo&lt;/em&gt; app.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring patterns around Data Driven Apps</title>
      <link>https://www.gautamdhameja.com/experiences-and-experiments-with-data-driven-apps-ce5d8058512/</link>
      <pubDate>Fri, 03 Nov 2017 23:10:13 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/experiences-and-experiments-with-data-driven-apps-ce5d8058512/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/data-driven-apps-1.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://unsplash.com/photos/_zKxPsGOGKg&#34;&gt;Photo by Harpal Singh&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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 data driven apps.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Blockchain: Not just a distributed ledger!</title>
      <link>https://www.gautamdhameja.com/blockchains-thinking-beyond-the-distributed-ledger-bf405b727c41/</link>
      <pubDate>Sun, 10 Sep 2017 14:45:59 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/blockchains-thinking-beyond-the-distributed-ledger-bf405b727c41/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/blockchain-1.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://www.maxpixel.net/photo-2472141&#34;&gt;Image Credits: Max Pixel&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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 — the buzz is that blockchain is going to replace a lot of things and, on the other hand, they are described just as distributed ledgers. How can a ledger replace all the not-so-cool things we have today — banks, middlemen, brokers, agencies?&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to install .Net Core on Ubuntu</title>
      <link>https://www.gautamdhameja.com/how-to-install-net-core-on-ubuntu-334c944c4946/</link>
      <pubDate>Mon, 07 Aug 2017 19:24:26 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/how-to-install-net-core-on-ubuntu-334c944c4946/</guid>
      <description>&lt;p&gt;&lt;strong&gt;[Update]&lt;/strong&gt; The information on this post might be outdated because of updates and fixes released after I wrote it. After trying the &lt;a href=&#34;https://www.microsoft.com/net/download/linux-package-manager/ubuntu18-04/sdk-current&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;latest setup instructions&lt;/a&gt;, if you are still having trouble installing .Net Core on Ubuntu, then the following text might help.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;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 the latest Ubuntu 17.04. The &lt;a href=&#34;https://www.microsoft.com/net/core#linuxubuntu&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;setup instructions mentioned for earlier versions of Ubuntu&lt;/a&gt; didn’t work and gave errors related to missing dependencies.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Getting the big picture — How we monitored a cloud app using Azure Application Insights and Microsoft Power BI</title>
      <link>https://www.gautamdhameja.com/getting-the-big-picture-how-we-monitored-a-cloud-app-using-azure-application-insights-and-8956a98dbd99/</link>
      <pubDate>Fri, 02 Jun 2017 21:03:46 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/getting-the-big-picture-how-we-monitored-a-cloud-app-using-azure-application-insights-and-8956a98dbd99/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/app-insights-analytics-1.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://www.cloudcomputing-news.net/&#34;&gt;Image Source: https://www.cloudcomputing-news.net/&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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 flowing in.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-problem-statement&#34;&gt;&#xA;  The problem statement&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#the-problem-statement&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;We needed to track the flow of data from our partner’s systems to ours on a predefined grain level with possible outcomes/anomalies reported in near real-time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Think, think, think… before you code!</title>
      <link>https://www.gautamdhameja.com/how-to-take-a-step-back-to-write-better-code-aba38c745906/</link>
      <pubDate>Fri, 21 Apr 2017 20:18:21 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/how-to-take-a-step-back-to-write-better-code-aba38c745906/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/think-code-1.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        Image source: https://whycantpeoplejustthink.wordpress.com/&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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 the solution in a much better way. And after all these years, I’ve realized, planning your code is even more important than actually coding.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Implementing an Asynchronous Web API using Azure Service Fabric stateful micro-services</title>
      <link>https://www.gautamdhameja.com/implementing-an-asynchronous-web-api-using-azure-service-fabric-stateful-micro-services-dc189a449f2d/</link>
      <pubDate>Sun, 05 Mar 2017 19:10:49 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/implementing-an-asynchronous-web-api-using-azure-service-fabric-stateful-micro-services-dc189a449f2d/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/async-web-api-service-fabric-2.jpg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://pixabay.com/en/cloud-computing-network-internet-2001090/&#34;&gt;Image Source: Pixabay&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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&amp;rsquo;s how we built an asynchronous web API using Azure Service Fabric stateful micro-services.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Arduino: How to integrate multiple sketches with Standard Firmata</title>
      <link>https://www.gautamdhameja.com/arduino-how-to-integrate-multiple-sketches-with-standard-firmata-c1450769e645/</link>
      <pubDate>Fri, 24 Feb 2017 15:35:25 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/arduino-how-to-integrate-multiple-sketches-with-standard-firmata-c1450769e645/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/arduino-integrate-multiple-1.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://pixabay.com/en/arduino-electronics-1128227/&#34;&gt;Image Source: Pixabay&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This post assumes that the reader knows Arduino and C++ programming basics.&lt;/p&gt;&#xA;&lt;p&gt;As part of a recent project, we connected a &lt;a href=&#34;https://en.wikipedia.org/wiki/Raspberry_Pi&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Raspberry Pi&lt;/a&gt; (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, we opted for the &lt;a href=&#34;https://github.com/ms-iot/remote-wiring&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Windows Remote Arduino&lt;/a&gt; approach in which Arduino can be controlled through Pi using the &lt;a href=&#34;https://www.arduino.cc/en/Reference/Firmata&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Firmata protocol&lt;/a&gt;. &lt;a href=&#34;https://blogs.msdn.microsoft.com/teju_shyamsundar/2016/09/06/windows10iotraspberrypi3/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Installing Windows 10 IoT Core on Pi&lt;/a&gt; and &lt;a href=&#34;https://blogs.msdn.microsoft.com/teju_shyamsundar/2016/09/06/windows10iotraspberrypi3/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Firmata sketch on the Arduino&lt;/a&gt; are well explained on many other articles on the web, so let’s directly jump into the main topic of this post.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Product Manager Attitude</title>
      <link>https://www.gautamdhameja.com/the-product-manager-attitude-302c8920f41b/</link>
      <pubDate>Mon, 20 Feb 2017 14:57:10 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/the-product-manager-attitude-302c8920f41b/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/pm-attitude-1.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Lately, I have been observing and trying to understand the product manager role and, in the process, I studied &lt;a href=&#34;http://www.mindtheproduct.com/2011/10/what-exactly-is-a-product-manager/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;that famous Venn diagram&lt;/a&gt; showing an overlap of business, technology and user experience; came across the notion of &lt;a href=&#34;https://thenextweb.com/insider/2013/10/12/product-managers-mini-ceos/#.tnw_D1CSlEe0&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CEO of the product&lt;/a&gt;; 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 gave it a lot of thought. What I have found/observed/analysed so far is that there is no specific definition of the product manager role. It’s diverse, versatile, broad yet focused. And that’s what makes it so cool and challenging at the same time; well, at least for me. Here’s what I learnt about what kind of attitude and soft skills is needed to become a successful product manager.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building the Internet of Things: Components</title>
      <link>https://www.gautamdhameja.com/building-the-internet-of-things-part-1-the-components-38af6ea5a809/</link>
      <pubDate>Thu, 19 Jan 2017 08:25:14 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/building-the-internet-of-things-part-1-the-components-38af6ea5a809/</guid>
      <description>&lt;p&gt;First of all, let’s try to define the &lt;a href=&#34;https://gautamdhameja.com/understanding-the-internet-of-things-4e97daf903b7&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;internet of things&lt;/a&gt;. 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.&lt;/p&gt;&#xA;&lt;p&gt;That simple (?) definition tells us that there are a few tasks performed by an IoT system — collecting data, sending data to the cloud, processing and analyzing data, storage and reporting. We need hardware and software components, to perform each of these tasks, to come together to form an IoT system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Instrumentation and system events telemetry in cloud based IoT systems</title>
      <link>https://www.gautamdhameja.com/instrumentation-and-system-events-telemetry-in-cloud-based-iot-systems-cdde0dd9eb10/</link>
      <pubDate>Fri, 23 Dec 2016 20:08:03 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/instrumentation-and-system-events-telemetry-in-cloud-based-iot-systems-cdde0dd9eb10/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/async-web-api-service-fabric-2.jpg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://pixabay.com/en/cloud-computing-network-internet-2001090/&#34;&gt;Image Source: Pixabay&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;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 caught during compilation? There came the idea of logging and tracing. Once your program was running, there was only one way to figure out the root cause of run-time errors — logs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Before you consider enabling BYOD at your enterprise</title>
      <link>https://www.gautamdhameja.com/before-you-consider-enabling-byod-at-your-enterprise-993d210b5f50/</link>
      <pubDate>Fri, 23 Dec 2016 19:55:47 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/before-you-consider-enabling-byod-at-your-enterprise-993d210b5f50/</guid>
      <description>&lt;p&gt;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…&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Employees get to choose their own devices so they are more comfortable, happy and productive.&lt;/li&gt;&#xA;&lt;li&gt;Employers don’t have to procure devices for employees so there is a cost saving.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;These benefits, when thought about, are actually too good for an organization as a whole. Cost cutting with increased productivity.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Implementing Saga pattern with stateful micro-services for failure management in distributed systems</title>
      <link>https://www.gautamdhameja.com/saga-pattern-with-stateful-micro-services-for-iot-systems-ee1ff4a1411e/</link>
      <pubDate>Fri, 23 Dec 2016 16:11:44 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/saga-pattern-with-stateful-micro-services-for-iot-systems-ee1ff4a1411e/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/saga-pattern-service-fabric-1.jpeg&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://unsplash.com/photos/kzUWlMUoR1Q&#34;&gt;Photo by: Jeremy Perkins&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Recently, I came across the Saga pattern when I stumbled upon &lt;a href=&#34;https://www.youtube.com/watch?v=xDuwrtwYHu8&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;this video from last year’s Goto conference&lt;/a&gt;. In the video, &lt;a href=&#34;https://twitter.com/caitie&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Caitie McCaffrey&lt;/a&gt; talks about how Saga pattern can (also) be applied to distributed systems and transactions spanning several endpoints/process boundaries.&lt;/p&gt;&#xA;&lt;p&gt;For a new IoT project, we’ve been looking for solutions for transaction and failure management in cloud based distributed systems. That’s when we realized that &lt;em&gt;saga&lt;/em&gt; pattern can be a good choice. The solution is being built using the Microsoft Azure stack (IoT hub, Service Fabric, DocumentDb, Web Apps, Azure Redis Cache, among other things). The solution utilizes &lt;a href=&#34;https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-introduction&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;reliable stateful services available as part of Azure Service Fabric&lt;/a&gt; along with the &lt;em&gt;saga&lt;/em&gt; pattern to manage workflows and failures.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding the Internet of Things</title>
      <link>https://www.gautamdhameja.com/understanding-the-internet-of-things-4e97daf903b7/</link>
      <pubDate>Mon, 14 Dec 2015 19:32:46 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/understanding-the-internet-of-things-4e97daf903b7/</guid>
      <description>&lt;p&gt;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 enterprise IoT projects, I believe I have a relatively better understanding of the subject. In this post, I will try to explain what IoT actually is, without going into the technical details. Just a hint — It’s not just about connecting a board to the cloud and making an LED blink on it. It’s much bigger and has a much wider span.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Distributed Caching with Redis</title>
      <link>https://www.gautamdhameja.com/distributed-caching-with-redis-17e565ee71d8/</link>
      <pubDate>Mon, 02 Feb 2015 16:00:43 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/distributed-caching-with-redis-17e565ee71d8/</guid>
      <description>&lt;figure style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &#xD;&#xA;    &lt;img src=&#34;https://www.gautamdhameja.com/images/blog/redis-2.png&#34; /&gt;&#xD;&#xA;    &lt;figcaption&gt;&#xD;&#xA;        &lt;a href=&#34;https://pixabay.com/en/download-cloud-icon-network-2013195/&#34;&gt;Image by Pettycon on Pixabay&lt;/a&gt;&#xD;&#xA;    &lt;/figcaption&gt;&#xD;&#xA;&lt;/figure&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;“There are only two hard things in Computer Science: cache invalidation and naming things.”&#xA;&lt;em&gt;- Phil Karlton&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;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 did not come across that problem until then. It was not until very recently (late 2014) when I realized that the cache invalidation problem is actually much bigger than the naming problem. Maybe that’s why it’s mentioned first in that quote (maybe!).&lt;/p&gt;</description>
    </item>
    <item>
      <title>About Me</title>
      <link>https://www.gautamdhameja.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://www.gautamdhameja.com/about/</guid>
      <description>&lt;div class=&#34;photo-right&#34;&gt;&#xD;&#xA;    &lt;img src=&#39;https://www.gautamdhameja.com/images/gautam1.png&#39; /&gt;&#xD;&#xA;&lt;/div&gt;&#xD;&#xA;&lt;p&gt;Hi, I&amp;rsquo;m Gautam.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m an engineering leader, founder, and someone who can&amp;rsquo;t stop building things. I run &lt;a href=&#34;https://www.proferent.ai/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Proferent&lt;/a&gt;, an AI advisory practice where I work with engineering leadership teams on AI adoption, architecture, and deployment.&lt;/p&gt;&#xA;&lt;p&gt;I build what I advise on. I&amp;rsquo;m currently working on AI-powered search systems, on-device ML applications, and local LLM infrastructure for organizations that want AI without cloud dependency. I write about what I learn on my &lt;a href=&#34;https://www.gautamdhameja.com/posts/&#34; &gt;blog&lt;/a&gt;, and make videos about AI systems on &lt;a href=&#34;https://www.youtube.com/@GautamDhameja&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;YouTube&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
