<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Rishi Sharma</title>
    <link>https://rishisharma.in</link>
    <description>Engineering articles by Rishi Sharma</description>
    <language>en-us</language>
    <atom:link href="https://rishisharma.in/feed.xml" rel="self" type="application/rss+xml"/>
    
    <item>
      <title><![CDATA[How Neural Networks Actually Learn: Backpropagation Explained]]></title>
      <description><![CDATA[Most tutorials hand-wave over backprop. This one walks through the actual math — gradients, the chain rule, and why any of it works — with code you can run.]]></description>
      <link>https://rishisharma.in/articles/backpropagation-explained</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/backpropagation-explained</guid>
      <pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Understanding Transformers: The Architecture Behind Modern AI]]></title>
      <description><![CDATA[Attention mechanisms, positional encoding, why the 'query-key-value' metaphor actually makes sense, and how a transformer processes a sentence — step by step.]]></description>
      <link>https://rishisharma.in/articles/transformers-explained</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/transformers-explained</guid>
      <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Gradient Descent: The Algorithm That Trains Every Model]]></title>
      <description><![CDATA[From the basic idea of walking downhill on a loss surface, to momentum, Adam, learning rate schedules, and the practical choices that actually matter when training models.]]></description>
      <link>https://rishisharma.in/articles/gradient-descent</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/gradient-descent</guid>
      <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Logging Strategies for Distributed Java Applications in 1999]]></title>
      <description><![CDATA[Before Log4j 1.0, before structured logging, before centralised log aggregation — here is how we handled logging across distributed Java services at Motorola.]]></description>
      <link>https://rishisharma.in/articles/logging-distributed-apps-99</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/logging-distributed-apps-99</guid>
      <pubDate>Fri, 08 Aug 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Apache Ant: Automating Java Builds Before Maven Existed]]></title>
      <description><![CDATA[Before Maven, before Gradle, there was Ant. XML build files felt like progress in 1999. Here is what a real Ant build looked like for a production Java project.]]></description>
      <link>https://rishisharma.in/articles/ant-build-automation</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/ant-build-automation</guid>
      <pubDate>Tue, 22 Jul 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[CVS: Surviving Code Merges Before Git Changed Everything]]></title>
      <description><![CDATA[CVS was the standard version control system for a decade. It was painful. Here is how we used it, what the workflows looked like, and what we learnt.]]></description>
      <link>https://rishisharma.in/articles/cvs-version-control-99</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/cvs-version-control-99</guid>
      <pubDate>Tue, 08 Jul 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[JVM Garbage Collection: Understanding Memory Without Black Magic]]></title>
      <description><![CDATA[The JVM managing memory automatically sounded too good to be true. In 1997 it mostly was. Here is what was actually happening and how we dealt with it.]]></description>
      <link>https://rishisharma.in/articles/jvm-gc-tuning-basics</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/jvm-gc-tuning-basics</guid>
      <pubDate>Sun, 22 Jun 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[WAP and the Mobile Web: The First Attempt at Browsing on Phones]]></title>
      <description><![CDATA[In 1999 WAP felt like the future. The reality was more complicated. Here is how WAP actually worked and why it ultimately failed.]]></description>
      <link>https://rishisharma.in/articles/wap-mobile-web-1999</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/wap-mobile-web-1999</guid>
      <pubDate>Sun, 08 Jun 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Network Programming with Java Sockets: A Practical Walkthrough]]></title>
      <description><![CDATA[Java's socket API was the first time network programming felt accessible. Here is a complete walkthrough of what we built at Motorola.]]></description>
      <link>https://rishisharma.in/articles/java-socket-networking</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/java-socket-networking</guid>
      <pubDate>Thu, 22 May 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Building High Availability: Early Lessons from Distributed Systems at Motorola]]></title>
      <description><![CDATA[Before cloud, before Kubernetes, before load balancers were cheap — this is how we kept critical network management systems running in 1997.]]></description>
      <link>https://rishisharma.in/articles/high-availability-early-lessons</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/high-availability-early-lessons</guid>
      <pubDate>Thu, 08 May 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Gang of Four Design Patterns Applied in Real Java Projects]]></title>
      <description><![CDATA[The GoF book landed in 1994. By 1997 we were applying it daily. Here are the patterns that paid off and the ones that over-complicated everything.]]></description>
      <link>https://rishisharma.in/articles/java-design-patterns-gof</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/java-design-patterns-gof</guid>
      <pubDate>Tue, 22 Apr 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[UML in Practice: Designing Systems Before Writing a Single Line of Code]]></title>
      <description><![CDATA[UML 1.0 was just published. We adopted it immediately. Here is what actually helped and what turned into ceremony.]]></description>
      <link>https://rishisharma.in/articles/uml-modelling-practice</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/uml-modelling-practice</guid>
      <pubDate>Tue, 08 Apr 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Multi-threading in Java: Concurrency Patterns from the Early Days]]></title>
      <description><![CDATA[Java gave every developer access to threads from day one. Here is how we used them at Motorola in 1997 — and which patterns held up.]]></description>
      <link>https://rishisharma.in/articles/java-threads-concurrency-98</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/java-threads-concurrency-98</guid>
      <pubDate>Sat, 22 Mar 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Relational Database Design with MySQL: Getting the Schema Right]]></title>
      <description><![CDATA[MySQL is fast, free and increasingly production-ready. But performance at scale comes from good schema design, not just the database engine. Here is what I have learned running MySQL in production.]]></description>
      <link>https://rishisharma.in/articles/mysql-relational-design-98</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/mysql-relational-design-98</guid>
      <pubDate>Sat, 08 Mar 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[J2ME: Writing Java Applications for Mobile and Embedded Devices]]></title>
      <description><![CDATA[Java Micro Edition is a serious attempt to bring Java to devices with kilobytes of RAM rather than megabytes. Here is what the platform looks like and what you can realistically build on it.]]></description>
      <link>https://rishisharma.in/articles/j2me-mobile-first-steps</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/j2me-mobile-first-steps</guid>
      <pubDate>Sat, 22 Feb 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Java RMI: Calling Methods Across the Network]]></title>
      <description><![CDATA[Java's Remote Method Invocation lets you call methods on objects running in a different JVM, possibly on a different machine. Here is how it works and where it fits in distributed system design.]]></description>
      <link>https://rishisharma.in/articles/rmi-distributed-java</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/rmi-distributed-java</guid>
      <pubDate>Sat, 08 Feb 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[SNMP: How Network Management Actually Works]]></title>
      <description><![CDATA[Every serious network has dozens of devices that need monitoring and configuration. SNMP is the protocol that makes this manageable — here is how it works under the hood.]]></description>
      <link>https://rishisharma.in/articles/snmp-protocol-internals</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/snmp-protocol-internals</guid>
      <pubDate>Wed, 22 Jan 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Java and Object-Oriented Programming: Getting It Right From the Start]]></title>
      <description><![CDATA[Java 1.1 is out and teams are moving fast. Here is what object-oriented design actually means in practice — and why getting it right from day one saves months of pain.]]></description>
      <link>https://rishisharma.in/articles/java-oop-late-90s</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/java-oop-late-90s</guid>
      <pubDate>Wed, 08 Jan 1997 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>