<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Manak Upadhyay</title>
        <link>https://manakupadhyay.in/</link>
        <description>Software engineer, currently being outperformed by matrix multiplication. Writing about JavaScript, web performance and distributed systems.</description>
        <lastBuildDate>Fri, 30 Oct 2026 21:16:21 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Manak Upadhyay</title>
            <url>https://manakupadhyay.in/icon.svg</url>
            <link>https://manakupadhyay.in/</link>
        </image>
        <copyright>All rights reserved 2026, Manak Upadhyay</copyright>
        <atom:link href="https://manakupadhyay.in/rss.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[6 Techniques to Scale Database Reads]]></title>
            <link>https://manakupadhyay.in/blog/scaling-database-reads</link>
            <guid isPermaLink="false">https://manakupadhyay.in/blog/scaling-database-reads</guid>
            <pubDate>Wed, 11 Dec 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Practical techniques to scale database reads, from replication and indexing to denormalization and materialized views.]]></description>
            <category>Database</category>
            <category>Scaling</category>
            <category>Replication</category>
            <category>Indexing</category>
            <category>Caching</category>
            <category>Denormalization</category>
            <category>Connection Pooling</category>
            <category>Materialized Views</category>
            <category>SQL</category>
            <category>System Design</category>
            <category>Performance</category>
            <category>Distributed Systems</category>
            <category>CQRS</category>
            <category>Read Optimization</category>
        </item>
        <item>
            <title><![CDATA[Managing Multiple Git Identities on One Machine]]></title>
            <link>https://manakupadhyay.in/blog/multiple-git-identities</link>
            <guid isPermaLink="false">https://manakupadhyay.in/blog/multiple-git-identities</guid>
            <pubDate>Wed, 10 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[How to set up separate SSH keys and git configs for work and personal GitHub accounts on the same laptop.]]></description>
            <category>Git</category>
            <category>SSH</category>
            <category>GitHub</category>
            <category>Multiple Accounts</category>
            <category>SSH Config</category>
            <category>Git Config</category>
            <category>Developer Tools</category>
            <category>DevOps</category>
            <category>Terminal</category>
            <category>Productivity</category>
            <category>macOS</category>
        </item>
        <item>
            <title><![CDATA[Interaction to Next Paint (INP)]]></title>
            <link>https://manakupadhyay.in/blog/inp</link>
            <guid isPermaLink="false">https://manakupadhyay.in/blog/inp</guid>
            <pubDate>Thu, 16 Nov 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Understanding Interaction to Next Paint (INP), how it's measured, and how to optimize it for better responsiveness.]]></description>
            <category>Interaction to Next Paint</category>
            <category>INP</category>
            <category>Core Web Vitals</category>
            <category>Web Performance</category>
            <category>Responsiveness</category>
            <category>User Experience</category>
            <category>Performance Optimization</category>
            <category>SEO</category>
            <category>Google Metrics</category>
            <category>Web Development</category>
        </item>
        <item>
            <title><![CDATA[First Input Delay (FID)]]></title>
            <link>https://manakupadhyay.in/blog/fid</link>
            <guid isPermaLink="false">https://manakupadhyay.in/blog/fid</guid>
            <pubDate>Thu, 16 Nov 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Understanding First Input Delay (FID), why it happens, and how to optimize it for better user experience.]]></description>
            <category>First Input Delay</category>
            <category>FID</category>
            <category>Core Web Vitals</category>
            <category>Web Performance</category>
            <category>User Experience</category>
            <category>Performance Optimization</category>
            <category>SEO</category>
            <category>Google Metrics</category>
            <category>Web Development</category>
            <category>JavaScript Performance</category>
        </item>
        <item>
            <title><![CDATA[Largest Contentful Paint (LCP)]]></title>
            <link>https://manakupadhyay.in/blog/lcp</link>
            <guid isPermaLink="false">https://manakupadhyay.in/blog/lcp</guid>
            <pubDate>Sun, 22 Oct 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Understanding Largest Contentful Paint (LCP)]]></description>
            <category>Largest Contentful Paint</category>
            <category>LCP</category>
            <category>Core Web Vitals</category>
            <category>Web Performance</category>
            <category>Performance Optimization</category>
            <category>Page Load Time</category>
            <category>SEO</category>
            <category>Google Metrics</category>
            <category>Performance Metrics</category>
            <category>Web Development</category>
            <category>Image Optimization</category>
            <category>CDN</category>
            <category>Server Response Time</category>
        </item>
        <item>
            <title><![CDATA[Cumulative Layout Shift (CLS)]]></title>
            <link>https://manakupadhyay.in/blog/cls</link>
            <guid isPermaLink="false">https://manakupadhyay.in/blog/cls</guid>
            <pubDate>Sun, 22 Oct 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Understanding Cumulative Layout Shift (CLS)]]></description>
            <category>Cumulative Layout Shift</category>
            <category>CLS</category>
            <category>Core Web Vitals</category>
            <category>Web Performance</category>
            <category>Visual Stability</category>
            <category>Layout Shift</category>
            <category>Performance Optimization</category>
            <category>SEO</category>
            <category>Google Metrics</category>
            <category>Web Development</category>
            <category>User Experience</category>
            <category>FOIT</category>
            <category>FOUT</category>
            <category>CSS Transform</category>
        </item>
        <item>
            <title><![CDATA[What are Core Web Vitals?]]></title>
            <link>https://manakupadhyay.in/blog/core-web-vitals</link>
            <guid isPermaLink="false">https://manakupadhyay.in/blog/core-web-vitals</guid>
            <pubDate>Sat, 21 Oct 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Learn about Core Web Vitals, Google's key performance metrics that impact SEO rankings, and how to measure and optimize them for better user experience.]]></description>
            <category>Core Web Vitals</category>
            <category>Web Performance</category>
            <category>SEO</category>
            <category>Google Rankings</category>
            <category>LCP</category>
            <category>CLS</category>
            <category>INP</category>
            <category>PageSpeed</category>
            <category>Lighthouse</category>
            <category>Performance Optimization</category>
            <category>Web Development</category>
            <category>UX</category>
            <category>Chrome User Experience Report</category>
            <category>Field Data</category>
            <category>Lab Data</category>
            <category>Performance Metrics</category>
        </item>
        <item>
            <title><![CDATA[JavaScript Event Propagation]]></title>
            <link>https://manakupadhyay.in/blog/event-propagation</link>
            <guid isPermaLink="false">https://manakupadhyay.in/blog/event-propagation</guid>
            <pubDate>Fri, 25 Feb 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Understand how events travel through the DOM in JavaScript, from bubbling and capturing to event delegation and why it matters for performance.]]></description>
            <category>JavaScript</category>
            <category>Event Propagation</category>
            <category>Event Bubbling</category>
            <category>Event Capturing</category>
            <category>Event Delegation</category>
            <category>DOM Events</category>
            <category>addEventListener</category>
            <category>stopPropagation</category>
            <category>JavaScript Tutorial</category>
            <category>Beginner JavaScript</category>
            <category>Web Development</category>
            <category>Frontend</category>
            <category>JavaScript Interview Questions</category>
            <category>Event Handling</category>
            <category>Event Trickling</category>
        </item>
        <item>
            <title><![CDATA[Classes in JavaScript]]></title>
            <link>https://manakupadhyay.in/blog/javascript-classes</link>
            <guid isPermaLink="false">https://manakupadhyay.in/blog/javascript-classes</guid>
            <pubDate>Sun, 20 Feb 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Learn how JavaScript classes work under the hood, from constructors and inheritance to private fields and static methods, with practical examples.]]></description>
            <category>JavaScript</category>
            <category>Classes</category>
            <category>OOP</category>
            <category>Constructor</category>
            <category>Inheritance</category>
            <category>Prototypes</category>
            <category>Static Methods</category>
            <category>Private Fields</category>
            <category>Getters</category>
            <category>Setters</category>
            <category>ES6</category>
            <category>JavaScript Tutorial</category>
            <category>Beginner JavaScript</category>
            <category>Object Oriented Programming</category>
            <category>JavaScript Interview Questions</category>
        </item>
        <item>
            <title><![CDATA[JavaScript: Value vs Reference Types]]></title>
            <link>https://manakupadhyay.in/blog/javascript-value-vs-reference-types</link>
            <guid isPermaLink="false">https://manakupadhyay.in/blog/javascript-value-vs-reference-types</guid>
            <pubDate>Fri, 11 Feb 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Understanding how JavaScript handles primitive and complex data types, and the difference between pass-by-value and pass-by-reference.]]></description>
            <category>JavaScript</category>
            <category>Data Types</category>
            <category>Memory Management</category>
            <category>Primitives</category>
            <category>Objects</category>
            <category>Pass by Value</category>
            <category>Pass by Reference</category>
            <category>Programming Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[JavaScript: Function Declaration vs Function Expression]]></title>
            <link>https://manakupadhyay.in/blog/javascript-functions</link>
            <guid isPermaLink="false">https://manakupadhyay.in/blog/javascript-functions</guid>
            <pubDate>Tue, 08 Feb 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Difference between Function Declaration and Function Expression in JavaScript.]]></description>
            <category>JavaScript</category>
            <category>Functions</category>
            <category>Function Declaration</category>
            <category>Function Expression</category>
            <category>Function Statement</category>
            <category>Function Definition</category>
            <category>Anonymous Function</category>
            <category>Named Function Expression</category>
            <category>Hoisting</category>
            <category>Function Hoisting</category>
            <category>Scope</category>
            <category>JavaScript Scope</category>
            <category>JS Basics</category>
            <category>JavaScript Tutorial</category>
            <category>ES5 vs ES6</category>
            <category>Beginner JavaScript</category>
            <category>JavaScript Interview Questions</category>
        </item>
        <item>
            <title><![CDATA[JavaScript: Execution Context and the Call Stack]]></title>
            <link>https://manakupadhyay.in/blog/javascript-execution-context-and-the-call-stack</link>
            <guid isPermaLink="false">https://manakupadhyay.in/blog/javascript-execution-context-and-the-call-stack</guid>
            <pubDate>Sun, 16 Jan 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[A deep dive into how JavaScript manages code execution.]]></description>
            <category>JavaScript</category>
            <category>Execution Context</category>
            <category>Call Stack</category>
            <category>JavaScript Engine</category>
            <category>Hoisting</category>
            <category>Variable Environment</category>
            <category>Memory Phase</category>
            <category>Single Threaded</category>
            <category>Synchronous JavaScript</category>
            <category>JS Internals</category>
            <category>Debugging JavaScript</category>
            <category>JavaScript Tutorial</category>
            <category>Web development</category>
        </item>
    </channel>
</rss>