<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Pranay Bathini - Technical Blog &amp; Courses</title>
    <link>https://pranaybathini.com</link>
    <description>Senior Software Engineer at Booking.com. Technical blog on system design, streaming architectures, engineering best practices, and in-depth courses.</description>
    <language>en-us</language>
    <lastBuildDate>Tue, 17 Mar 2026 14:36:48 GMT</lastBuildDate>
    <atom:link href="https://pranaybathini.com/feed.xml" rel="self" type="application/rss+xml"/>
    <image>
      <url>https://pranaybathini.com/api/icon/512</url>
      <title>Pranay Bathini</title>
      <link>https://pranaybathini.com</link>
    </image>
    
    <item>
      <title><![CDATA[Spring Boot 3.x: What Actually Changed (and What Matters)]]></title>
      <link>https://pranaybathini.com/blog/spring-boot-modern-features</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/spring-boot-modern-features</guid>
      <description><![CDATA[A practical look at Spring Boot 3.x features that change how you build services - virtual threads, reactive patterns, security gotchas, and performance lessons from production.]]></description>
      <pubDate>Sat, 20 Sep 2025 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Spring Boot</category>
      <category>Java</category>
      <category>Architecture</category>
      <category>Performance</category>
      <category>Microservices</category>
      <enclosure url="https://pranaybathini.com/images/blog/spring/spring-boot-cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/spring/spring-boot-cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Function Calling & Model Context Protocol]]></title>
      <link>https://pranaybathini.com/learn/llm-fundamentals/function-calling-mcp</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/llm-fundamentals/function-calling-mcp</guid>
      <description><![CDATA[Learn how to give AI real superpowers by connecting it to tools, APIs, and external data. Master function calling and the Model Context Protocol (MCP) to build truly intelligent applications.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>llm-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/llm-fundamentals/05-jiraya.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/llm-fundamentals/05-jiraya.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Production Best Practices]]></title>
      <link>https://pranaybathini.com/learn/llm-fundamentals/production-best-practices</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/llm-fundamentals/production-best-practices</guid>
      <description><![CDATA[Learn how to deploy LLM applications to production with confidence. Master monitoring, cost optimization, security, scaling strategies, and everything you need to build reliable AI systems.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>llm-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/llm-fundamentals/06-production-best-practices.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/llm-fundamentals/06-production-best-practices.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Data Partitioning & Replication]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/10-data-partitioning-replication</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/10-data-partitioning-replication</guid>
      <description><![CDATA[Learn how to split data across multiple servers and keep copies in sync. The techniques that make databases scale.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/11-data-partitioning-replication-cover.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/11-data-partitioning-replication-cover.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[CAP Theorem & Consistency Trade-offs]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/11-cap-theorem-consistency</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/11-cap-theorem-consistency</guid>
      <description><![CDATA[Understanding the fundamental trade-offs in distributed systems. Why you can't have it all, and how to choose wisely.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/12-cap-theoremconsistencycover.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/12-cap-theoremconsistencycover.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Message Queues & Event Streaming]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/12-message-queues-event-streaming</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/12-message-queues-event-streaming</guid>
      <description><![CDATA[Learn how to decouple services, handle traffic spikes, and build resilient systems with asynchronous communication.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/13-message-queues.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/13-message-queues.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[API Design Best Practices]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/13-api-design-best-practices</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/13-api-design-best-practices</guid>
      <description><![CDATA[Learn how to design APIs that developers love. Clear, consistent, and built to evolve.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/14-api-design.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/14-api-design.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[CDN and Edge Computing]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/14-cdn-edge-computing</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/14-cdn-edge-computing</guid>
      <description><![CDATA[Learn how to bring content closer to users, reduce latency, and handle global traffic with content delivery networks and edge computing.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/15-cdn-edge.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/15-cdn-edge.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Handling Failures]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/15-handling-failures</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/15-handling-failures</guid>
      <description><![CDATA[Systems fail. The question is whether your users notice. Learn how to build systems that bend but don't break.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/16-handling-failures.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/16-handling-failures.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Monitoring and Observability]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/16-monitoring-observability</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/16-monitoring-observability</guid>
      <description><![CDATA[You can't fix what you can't see. Learn how to understand what's happening inside your systems before users complain.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/17-monitoring.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/17-monitoring.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Security Basics]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/17-security-basics</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/17-security-basics</guid>
      <description><![CDATA[Attackers are real. Learn how to protect your systems from the threats that matter most, without becoming a paranoid wreck.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/18-security.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/18-security.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Cost Optimization]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/18-cost-optimization</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/18-cost-optimization</guid>
      <description><![CDATA[Cloud bills can spiral out of control. Learn how to get the same performance for less money, without sacrificing reliability.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/19-cost-optimization.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/19-cost-optimization.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Putting It All Together]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/19-putting-it-together</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/19-putting-it-together</guid>
      <description><![CDATA[A complete walkthrough of designing a real system from scratch, applying everything you've learned in this course.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/20-putting-together.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/20-putting-together.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Interview Strategy & Frameworks]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/20-interview-strategy</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/20-interview-strategy</guid>
      <description><![CDATA[System design interviews aren't about finding the perfect answer. They're about showing how you think. Here's how to do that well.]]></description>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/interview-strategy.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/interview-strategy.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Advanced Prompting Techniques]]></title>
      <link>https://pranaybathini.com/learn/llm-fundamentals/advanced-prompting</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/llm-fundamentals/advanced-prompting</guid>
      <description><![CDATA[Master advanced AI prompting methods like chain-of-thought, self-consistency, prompt chaining, and retrieval-augmented generation. Take your AI skills from good to exceptional.]]></description>
      <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>llm-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/llm-fundamentals/06-kakashi.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/llm-fundamentals/06-kakashi.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Prompt Engineering Fundamentals]]></title>
      <link>https://pranaybathini.com/learn/llm-fundamentals/prompt-engineering-basics</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/llm-fundamentals/prompt-engineering-basics</guid>
      <description><![CDATA[Master the art of writing effective prompts for AI. Learn proven techniques to get better results from ChatGPT, Claude, and other AI assistants. Complete beginner's guide with examples.]]></description>
      <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>llm-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/llm-fundamentals/prompt-engineering-basics.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/llm-fundamentals/prompt-engineering-basics.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[The Transformer Architecture]]></title>
      <link>https://pranaybathini.com/learn/llm-fundamentals/transformer-architecture</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/llm-fundamentals/transformer-architecture</guid>
      <description><![CDATA[Deep dive into the architecture that powers every modern LLM. Learn how encoders, decoders, and self-attention work together to understand and generate language.]]></description>
      <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>llm-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/llm-fundamentals/02-transformers-cover.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/llm-fundamentals/02-transformers-cover.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Reading Architecture Diagrams]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/03-reading-architecture-diagrams</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/03-reading-architecture-diagrams</guid>
      <description><![CDATA[Learn to read, understand, and draw system architecture diagrams. Master the visual language that engineers use to communicate complex systems.]]></description>
      <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/architecture-diagrams.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/architecture-diagrams.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Back-of-the-Envelope Calculations]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/04-back-of-envelope-calculations</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/04-back-of-envelope-calculations</guid>
      <description><![CDATA[Learn to quickly estimate system requirements—storage, bandwidth, QPS, and server counts. The math that separates junior from senior engineers in design interviews.]]></description>
      <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/04-envelope-calculations-cover.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/04-envelope-calculations-cover.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Scalability Fundamentals]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/05-scalability-fundamentals</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/05-scalability-fundamentals</guid>
      <description><![CDATA[Learn how systems grow from handling 100 users to 10 million. Vertical vs horizontal scaling, stateless design, and when to use each approach.]]></description>
      <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/05-scalability-fundamentals-cover.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/05-scalability-fundamentals-cover.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Networking Fundamentals]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/06-networking-fundamentals</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/06-networking-fundamentals</guid>
      <description><![CDATA[How data travels between clients and servers. DNS, TCP/IP, HTTP, and the networking knowledge you need for system design.]]></description>
      <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/06-networking-fundamentals-cover.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/06-networking-fundamentals-cover.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Load Balancing]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/07-load-balancing</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/07-load-balancing</guid>
      <description><![CDATA[How to distribute traffic across multiple servers. Algorithms, health checks, and avoiding the common mistakes.]]></description>
      <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/load-balancing.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/load-balancing.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Caching Strategies]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/08-caching-strategies</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/08-caching-strategies</guid>
      <description><![CDATA[Make your system faster by avoiding repeated work. Cache patterns, invalidation strategies, and the pitfalls that catch everyone.]]></description>
      <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/08-caching-strategies-cover.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/08-caching-strategies-cover.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Database Fundamentals]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/09-database-fundamentals</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/09-database-fundamentals</guid>
      <description><![CDATA[Relational vs NoSQL, indexing, transactions, and choosing the right database. The persistent layer that backs everything.]]></description>
      <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/09-database-fundamentals-cover.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/09-database-fundamentals-cover.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Design Exercise: Pastebin]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/exercise-pastebin</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/exercise-pastebin</guid>
      <description><![CDATA[Apply system design fundamentals to design a Pastebin-like service. Practice requirements gathering, estimation, architecture design, and trade-off decisions.]]></description>
      <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/exercise-pastebin.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/exercise-pastebin.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Design Exercise: URL Shortener]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/exercise-url-shortener</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/exercise-url-shortener</guid>
      <description><![CDATA[Design a complete URL shortening service like Bitly. Apply networking, load balancing, caching, and database concepts to build a production-ready system.]]></description>
      <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/exercise-url-shortener.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/exercise-url-shortener.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Introduction to Language Models]]></title>
      <link>https://pranaybathini.com/learn/llm-fundamentals/introduction-to-language-models</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/llm-fundamentals/introduction-to-language-models</guid>
      <description><![CDATA[Learn what Large Language Models are, how they evolved from n-grams to GPT-4, and when to use them. Complete guide with practical examples for developers and beginners.]]></description>
      <pubDate>Wed, 18 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>llm-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/llm-fundamentals/introduction-cover.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/llm-fundamentals/introduction-cover.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Introduction to System Design]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/01-introduction</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/01-introduction</guid>
      <description><![CDATA[Learn what system design is, why it matters for your career, and how to approach design problems. A beginner-friendly guide for engineers at any level.]]></description>
      <pubDate>Wed, 18 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/introduction-cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/introduction-cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Understanding Scale - From 100 to 100M Users]]></title>
      <link>https://pranaybathini.com/learn/system-design-fundamentals/02-understanding-scale</link>
      <guid isPermaLink="true">https://pranaybathini.com/learn/system-design-fundamentals/02-understanding-scale</guid>
      <description><![CDATA[Learn what happens to a system as it grows. Understand the inflection points where architectures break and what solutions emerge at each stage.]]></description>
      <pubDate>Wed, 18 Dec 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>system-design-fundamentals</category>
      <enclosure url="https://pranaybathini.com/images/courses/system-design/scale-journey.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/courses/system-design/scale-journey.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Conventional Commits Specification]]></title>
      <link>https://pranaybathini.com/blog/conventional-commit-specification</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/conventional-commit-specification</guid>
      <description><![CDATA[The Conventional Commits specification is a lightweight convention that provides a standardized format for writing commit messages.]]></description>
      <pubDate>Thu, 21 Mar 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Best Practices</category>
      <enclosure url="https://pranaybathini.com/images/blog/conventional-commits/cover.png" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/conventional-commits/cover.png" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Java Multithreading Coding Questions for Interviews: Classic Problems and Solutions]]></title>
      <link>https://pranaybathini.com/blog/java-multithreading-interview-questions</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/java-multithreading-interview-questions</guid>
      <description><![CDATA[Master the most common multithreading interview questions including Producer-Consumer, Dining Philosophers, and FizzBuzz problems with practical Java implementations.]]></description>
      <pubDate>Mon, 15 Jan 2024 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Java</category>
      <category>Multithreading</category>
      <category>Concurrency</category>
      <category>Interview</category>
      <category>Synchronization</category>
      <enclosure url="https://pranaybathini.com/images/blog/multithreading/multithreading-cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/multithreading/multithreading-cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Merkle Trees: Implementation in Java and Real-World Applications]]></title>
      <link>https://pranaybathini.com/blog/merkle-tree-implementation-and-applications</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/merkle-tree-implementation-and-applications</guid>
      <description><![CDATA[A comprehensive guide to Merkle Trees with Java implementation, practical applications in blockchain, distributed systems, and data integrity verification.]]></description>
      <pubDate>Sun, 22 May 2022 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Java</category>
      <category>Data Structures</category>
      <category>Blockchain</category>
      <category>Distributed Systems</category>
      <category>Cryptography</category>
      <enclosure url="https://pranaybathini.com/images/blog/merkle-tree/merkle-tree-cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/merkle-tree/merkle-tree-cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Composite Primary Keys in Spring Data JPA: Complete Guide to @IdClass and @EmbeddedId]]></title>
      <link>https://pranaybathini.com/blog/spring-data-jpa-composite-primary-keys</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/spring-data-jpa-composite-primary-keys</guid>
      <description><![CDATA[Master composite primary keys in Spring Data JPA using @IdClass and @EmbeddedId annotations. Learn when to use each approach with practical examples and production best practices.]]></description>
      <pubDate>Thu, 31 Mar 2022 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Spring Boot</category>
      <category>JPA</category>
      <category>Hibernate</category>
      <category>Database</category>
      <category>Spring Data</category>
      <enclosure url="https://pranaybathini.com/images/blog/spring-jpa/composite-keys-cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/spring-jpa/composite-keys-cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Implementing Trie (Prefix Tree): A Complete Guide with Java]]></title>
      <link>https://pranaybathini.com/blog/trie-prefix-tree-implementation</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/trie-prefix-tree-implementation</guid>
      <description><![CDATA[Learn how to implement a Trie data structure in Java with insert, search, delete, and prefix matching operations for efficient string processing and autocomplete functionality.]]></description>
      <pubDate>Sat, 15 Jan 2022 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Java</category>
      <category>Data Structures</category>
      <category>Algorithms</category>
      <category>String Processing</category>
      <category>Autocomplete</category>
      <enclosure url="https://pranaybathini.com/images/blog/trie/trie-cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/trie/trie-cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Securing Application Secrets with HashiCorp Vault and Spring Boot]]></title>
      <link>https://pranaybathini.com/blog/hashicorp-vault-spring-boot-integration</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/hashicorp-vault-spring-boot-integration</guid>
      <description><![CDATA[A comprehensive guide to integrating HashiCorp Vault with Spring Boot applications for secure secrets management, dynamic credential rotation, and enhanced application security.]]></description>
      <pubDate>Thu, 20 May 2021 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Spring Boot</category>
      <category>HashiCorp Vault</category>
      <category>Security</category>
      <category>DevOps</category>
      <category>Microservices</category>
      <enclosure url="https://pranaybathini.com/images/blog/vault/vault-spring-cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/vault/vault-spring-cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Dockerizing a spring boot application]]></title>
      <link>https://pranaybathini.com/blog/dockerize-spring-boot-app</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/dockerize-spring-boot-app</guid>
      <description><![CDATA[Dockerizing an application means making our application run in a docker container..]]></description>
      <pubDate>Thu, 29 Apr 2021 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Docker</category>
      <category>Spring Boot</category>
      <enclosure url="https://pranaybathini.com/images/blog/dockerize-springboot/cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/dockerize-springboot/cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Implementing Scheduled Emails with Quartz Scheduler in Spring Boot]]></title>
      <link>https://pranaybathini.com/blog/quartz-scheduler-email-scheduling</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/quartz-scheduler-email-scheduling</guid>
      <description><![CDATA[A comprehensive guide to setting up Quartz Scheduler in Spring Boot applications for reliable email scheduling, with persistent job storage and clustering support.]]></description>
      <pubDate>Thu, 15 Apr 2021 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Spring Boot</category>
      <category>Quartz Scheduler</category>
      <category>Email</category>
      <category>Java</category>
      <category>Enterprise Applications</category>
      <enclosure url="https://pranaybathini.com/images/blog/quartz/quartz-email-cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/quartz/quartz-email-cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[AWS Secrets manager password rotation in spring-boot]]></title>
      <link>https://pranaybathini.com/blog/aws-secrets-rotation</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/aws-secrets-rotation</guid>
      <description><![CDATA[AWS secret manager lets us to store the username and password securely and ...]]></description>
      <pubDate>Thu, 01 Apr 2021 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>AWS</category>
      <enclosure url="https://pranaybathini.com/images/blog/aws-secrets/cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/aws-secrets/cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Fish Shell]]></title>
      <link>https://pranaybathini.com/blog/fish-shell</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/fish-shell</guid>
      <description><![CDATA[Fish is a smart and user-friendly command-line shell for Linux, macOS, and the rest of the family.]]></description>
      <pubDate>Mon, 08 Mar 2021 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Shell</category>
      <category>Scripting</category>
      <enclosure url="https://pranaybathini.com/images/blog/fish-shell/cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/fish-shell/cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[MongoDB Sharding]]></title>
      <link>https://pranaybathini.com/blog/mongodb-sharding</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/mongodb-sharding</guid>
      <description><![CDATA[MongoDB uses sharding to support deployments with very large data sets and high throughput operations.]]></description>
      <pubDate>Tue, 02 Mar 2021 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Database</category>
      <category>MongoDB</category>
      <enclosure url="https://pranaybathini.com/images/blog/mongodb-sharding/cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/mongodb-sharding/cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Code coverage and quality analysis with sonarQube and Spring-Boot]]></title>
      <link>https://pranaybathini.com/blog/sonarqube-code-coverage</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/sonarqube-code-coverage</guid>
      <description><![CDATA[ sonarqube we can write quality code as it warns about potential bugs, hot-spots, vulnerabilities, code smells and duplication in the code...]]></description>
      <pubDate>Mon, 01 Mar 2021 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>SonarQube</category>
      <category>SpringBoot</category>
      <enclosure url="https://pranaybathini.com/images/blog/sonarqube/cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/sonarqube/cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[Distributed Systems Glossary: Essential Concepts with Real-World Examples]]></title>
      <link>https://pranaybathini.com/blog/distributed-systems-glossary</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/distributed-systems-glossary</guid>
      <description><![CDATA[Master distributed systems fundamentals with practical examples, trade-offs, and real-world applications from Netflix, Amazon, and Google.]]></description>
      <pubDate>Mon, 08 Feb 2021 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Distributed Systems</category>
      <enclosure url="https://pranaybathini.com/images/blog/distributed-systems/cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/distributed-systems/cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[CAP Theorem]]></title>
      <link>https://pranaybathini.com/blog/cap-theorem</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/cap-theorem</guid>
      <description><![CDATA[CAP theorem states that any distributed system with a state can have...]]></description>
      <pubDate>Mon, 01 Feb 2021 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Distributed Systems</category>
      <enclosure url="https://pranaybathini.com/images/blog/cap-theorem/cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/cap-theorem/cover.svg" medium="image"/>
    </item>
    <item>
      <title><![CDATA[HashMap Internal Working]]></title>
      <link>https://pranaybathini.com/blog/hashmap-internal-working</link>
      <guid isPermaLink="true">https://pranaybathini.com/blog/hashmap-internal-working</guid>
      <description><![CDATA[HashMap is used widely in programming to store values in pairs(key, value)]]></description>
      <pubDate>Sat, 30 Jan 2021 00:00:00 GMT</pubDate>
      <author>pranay@pranaybathini.com (Pranay Bathini)</author>
      <category>Programming</category>
      <category>Java</category>
      <enclosure url="https://pranaybathini.com/images/blog/hashmap/cover.svg" type="image/jpeg" length="0"/>
      <media:content url="https://pranaybathini.com/images/blog/hashmap/cover.svg" medium="image"/>
    </item>
  </channel>
</rss>