<?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[The Thinking Machine Chronicles #0013: The Baby That Changed Everything: The First Stored-Program Computer Runs]]></title>
      <description><![CDATA[On 21 June 1948, a small machine in a converted stable at the University of Manchester ran 17 instructions and found the highest factor of 262,144. It took 52 minutes. It was the first time in history that a computer executed a program stored in its own memory: and everything that followed descends from that moment.]]></description>
      <link>https://rishisharma.in/articles/tmc-0013-manchester-baby</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0013-manchester-baby</guid>
      <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[The Thinking Machine Chronicles #0012: A Mathematical Theory of Communication: Shannon Invents Information Theory]]></title>
      <description><![CDATA[In July 1948, Claude Shannon published a paper in the Bell System Technical Journal that answered three questions no one had previously asked with precision: what is information, how much can a channel carry, and can errors be corrected without bound? Every digital communication system ever built rests on his answers.]]></description>
      <link>https://rishisharma.in/articles/tmc-0012-shannon-information-theory</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0012-shannon-information-theory</guid>
      <pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[The Thinking Machine Chronicles #0011: The Science of Control: Norbert Wiener and Cybernetics]]></title>
      <description><![CDATA[In 1948, Norbert Wiener proposed that feedback, communication, and control formed a single unified science applicable equally to machines and living organisms. Cybernetics would reshape computing, neuroscience, cognitive science, and ultimately the theory of intelligent machines.]]></description>
      <link>https://rishisharma.in/articles/tmc-0011-wiener-cybernetics</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0011-wiener-cybernetics</guid>
      <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[The Thinking Machine Chronicles #0010: The Transistor: The Tiny Device That Ended the Vacuum Tube Age]]></title>
      <description><![CDATA[In December 1947, three physicists at Bell Laboratories assembled a device smaller than the palm of a hand that could amplify electrical signals without vacuum, without heat, without any moving parts. The transistor did not just replace the vacuum tube: it redefined the physical limits of what a computer could be.]]></description>
      <link>https://rishisharma.in/articles/tmc-0010-transistor-bell-labs</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0010-transistor-bell-labs</guid>
      <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[The Thinking Machine Chronicles #0009: ENIAC: Eighteen Thousand Vacuum Tubes and the Dawn of Electronic Computing]]></title>
      <description><![CDATA[On 14 February 1946, the US Army unveiled a machine the size of a tennis court that could do in one second what took a human mathematician twenty hours. ENIAC was not the first electronic computer: Colossus was: but it was the first one the world got to see, and it changed what people believed was possible.]]></description>
      <link>https://rishisharma.in/articles/tmc-0009-eniac-unveiled</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0009-eniac-unveiled</guid>
      <pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[The Thinking Machine Chronicles #0008: As We May Think: Vannevar Bush Dreams of the Thinking Machine's Memory]]></title>
      <description><![CDATA[In July 1945, the man who had run American science through the entire war published a vision of a machine that would extend the human mind itself: not a calculator, but a memory, a library, and a thinking aid all in one. Nobody could build it yet. But everyone who mattered read it.]]></description>
      <link>https://rishisharma.in/articles/tmc-0008-vannevar-bush-memex</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0008-vannevar-bush-memex</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[The Thinking Machine Chronicles #0007: The Blueprint of Every Computer Ever Built: Von Neumann Architecture]]></title>
      <description><![CDATA[On 30 June 1945, a Hungarian-American mathematician circulated a twenty-three-page document that described, for the first time, a machine in which program instructions and data live in the same memory. Every computer built since has followed that blueprint.]]></description>
      <link>https://rishisharma.in/articles/tmc-0007-von-neumann-architecture</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0007-von-neumann-architecture</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[The Thinking Machine Chronicles #0006: Colossus: The Secret Electronic Brain That Cracked Lorenz]]></title>
      <description><![CDATA[In 1943, a Post Office engineer named Tommy Flowers built the world's first large-scale programmable electronic computer in a condemned London factory. It remained secret for thirty years. This is the story of Colossus.]]></description>
      <link>https://rishisharma.in/articles/tmc-0006-colossus-first-electronic-computer</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0006-colossus-first-electronic-computer</guid>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[The Thinking Machine Chronicles #0005: The First Artificial Neuron: McCulloch and Pitts Describe a Logical Brain]]></title>
      <description><![CDATA[In 1943, a neurophysiologist and a self-taught logician published a four-page paper that founded computational neuroscience and planted the seed for every neural network ever built. Warren McCulloch and Walter Pitts showed that a network of binary threshold neurons could compute any logical function: and therefore, in principle, anything a brain could compute.]]></description>
      <link>https://rishisharma.in/articles/tmc-0005-mcculloch-pitts-neuron</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0005-mcculloch-pitts-neuron</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[The Thinking Machine Chronicles #0004: The Machine That Won a War: Turing's Bombe and the Breaking of Enigma]]></title>
      <description><![CDATA[In 1940, Alan Turing designed the Bombe: an electro-mechanical device that exploited a fatal mathematical flaw in the Enigma cipher. By the war's end, over 200 Bombes were running at Bletchley Park, reading the Wehrmacht's mail in near real time.]]></description>
      <link>https://rishisharma.in/articles/tmc-0004-turing-bombe-enigma</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0004-turing-bombe-enigma</guid>
      <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[The Thinking Machine Chronicles #0003: Gears and Logic: Konrad Zuse Builds the World's First Programmable Computer]]></title>
      <description><![CDATA[In 1938, a German civil engineering student named Konrad Zuse assembled the world's first programmable computer from sheet metal and discarded film strips in his parents' living room. This is the story of Z1: mechanical binary arithmetic before transistors existed.]]></description>
      <link>https://rishisharma.in/articles/tmc-0003-zuse-z1-mechanical-computer</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0003-zuse-z1-mechanical-computer</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[The Thinking Machine Chronicles #0002: Electricity Learns to Think: Shannon's Boolean Algebra for Circuits]]></title>
      <description><![CDATA[In 1937, MIT master's student Claude Shannon showed that Boolean algebra, an abstract 19th-century mathematics, maps perfectly onto electrical switching circuits. Every digital computer ever built rests on this 71-page thesis.]]></description>
      <link>https://rishisharma.in/articles/tmc-0002-shannon-boolean-circuits</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0002-shannon-boolean-circuits</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Inside SubQ: How a Fully Sub-Quadratic Sparse-Attention Architecture Actually Works]]></title>
      <description><![CDATA[Standard transformers compare every token to every other token — that's O(n²) compute. SubQ's Sparse Attention Architecture (SSA) finds which of those relationships actually matter and attends only to those, achieving near-linear scaling. This article digs into how that works, why all previous attempts compromised on quality, and what SubQ's benchmark numbers tell us about whether they've finally cracked it.]]></description>
      <link>https://rishisharma.in/articles/subq-sparse-attention-architecture</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/subq-sparse-attention-architecture</guid>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[The Thinking Machine Chronicles #0001: The Paper That Started Everything: Turing's "On Computable Numbers"]]></title>
      <description><![CDATA[In 1936, a 24-year-old Cambridge postgraduate named Alan Turing solved Hilbert's Entscheidungsproblem and, in doing so, described a theoretical machine that is the ancestor of every computer ever built.]]></description>
      <link>https://rishisharma.in/articles/tmc-0001-turing-computable-numbers</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/tmc-0001-turing-computable-numbers</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
    </item>
    <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[Fine-Tuning BERT for Text Classification with Python and HuggingFace]]></title>
      <description><![CDATA[A practical walkthrough of fine-tuning bert-base-uncased on a sentiment dataset using the HuggingFace Trainer API — tokenisation, training loop, and evaluation in under 60 lines.]]></description>
      <link>https://rishisharma.in/articles/fine-tuning-bert-python</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/fine-tuning-bert-python</guid>
      <pubDate>Mon, 13 Jan 2020 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[BERT and the Attention Mechanism: How Transformers Actually Work]]></title>
      <description><![CDATA[What makes BERT different from earlier NLP models, how masked language modelling works under the hood, and why bidirectional attention changes everything.]]></description>
      <link>https://rishisharma.in/articles/bert-attention-mechanism</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/bert-attention-mechanism</guid>
      <pubDate>Mon, 06 Jan 2020 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Spring Framework: Why Dependency Injection Changed Java Development]]></title>
      <description><![CDATA[Rod Johnson published the ideas behind Spring in his 2002 book and released the framework in 2003. Here is what dependency injection solved and why it made Java applications dramatically easier to test.]]></description>
      <link>https://rishisharma.in/articles/spring-framework-early</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/spring-framework-early</guid>
      <pubDate>Sun, 22 Jun 2003 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Hibernate: Mapping Java Objects to Database Tables]]></title>
      <description><![CDATA[Hibernate arrived in 2001 and solved the object-relational impedance mismatch that entity beans had failed to solve. Here is what it looked like to use it and why it changed Java persistence.]]></description>
      <link>https://rishisharma.in/articles/hibernate-orm-intro</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/hibernate-orm-intro</guid>
      <pubDate>Sun, 22 Jul 2001 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Struts: MVC for Java Web Apps Before Spring MVC]]></title>
      <description><![CDATA[Apache Struts brought the Model-View-Controller pattern to Java web development in 2000. Here is what building a web application with Struts looked like and why Spring MVC eventually replaced it.]]></description>
      <link>https://rishisharma.in/articles/struts-mvc-pattern</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/struts-mvc-pattern</guid>
      <pubDate>Sun, 08 Jul 2001 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[EJB Entity Beans: Persistence Before Hibernate Made It Bearable]]></title>
      <description><![CDATA[Entity beans were the official J2EE approach to object persistence. Here is why they were painful to use and what we did instead.]]></description>
      <link>https://rishisharma.in/articles/ejb-entity-beans-pain</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/ejb-entity-beans-pain</guid>
      <pubDate>Mon, 22 Jan 2001 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[J2EE: Building Serious Business Applications in Java]]></title>
      <description><![CDATA[Java 2 Enterprise Edition arrived in 1999 and promised a complete platform for enterprise software. Here is what it actually delivered and what it cost you to use it.]]></description>
      <link>https://rishisharma.in/articles/j2ee-enterprise-java</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/j2ee-enterprise-java</guid>
      <pubDate>Mon, 08 Jan 2001 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>Sun, 22 Oct 2000 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>Fri, 22 Sep 2000 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[CORBA vs RMI: Choosing Your Distributed Object Protocol in 1999]]></title>
      <description><![CDATA[In 1999 Java developers had two serious options for distributed objects: CORBA and RMI. Here is how they differed, where each made sense, and why REST eventually replaced both.]]></description>
      <link>https://rishisharma.in/articles/corba-vs-rmi-99</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/corba-vs-rmi-99</guid>
      <pubDate>Wed, 22 Dec 1999 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[SOAP Web Services: When XML Was Going to Save Enterprise Computing]]></title>
      <description><![CDATA[In 1999 SOAP promised a universal integration layer for enterprise systems. Here is what it actually looked like to build and consume a SOAP service before the frameworks arrived.]]></description>
      <link>https://rishisharma.in/articles/soap-xml-web-services-99</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/soap-xml-web-services-99</guid>
      <pubDate>Wed, 08 Sep 1999 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>Sun, 08 Aug 1999 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>Tue, 08 Jun 1999 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Load Testing Java Applications Before JMeter]]></title>
      <description><![CDATA[In 1998 load testing meant writing your own test harness. Here is how we stress-tested the NMS before dedicated tools existed, and what we measured.]]></description>
      <link>https://rishisharma.in/articles/performance-testing-early-1998</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/performance-testing-early-1998</guid>
      <pubDate>Sun, 22 Mar 1998 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Pair Programming: The Most Efficient Way to Spread Knowledge in a Team]]></title>
      <description><![CDATA[We introduced pair programming on the NMS team in 1998 before XP had a name for it. Here is what actually happened when two developers shared a keyboard.]]></description>
      <link>https://rishisharma.in/articles/pair-programming-early</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/pair-programming-early</guid>
      <pubDate>Sun, 08 Mar 1998 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Designing Software for Constrained Devices: RAM, CPU, and Battery]]></title>
      <description><![CDATA[Building for devices with 64KB of heap and a 20MHz processor in the late 90s required a different way of thinking about software design. The constraints were real and the penalties for ignoring them were immediate.]]></description>
      <link>https://rishisharma.in/articles/mobile-constraints-design</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/mobile-constraints-design</guid>
      <pubDate>Sun, 22 Feb 1998 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Database Normalisation: When to Follow the Rules and When to Break Them]]></title>
      <description><![CDATA[Normal forms are a tool for eliminating redundancy. Understanding why they exist tells you when applying them strictly makes a database better — and when it makes it slower.]]></description>
      <link>https://rishisharma.in/articles/normalisation-practical</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/normalisation-practical</guid>
      <pubDate>Sun, 08 Feb 1998 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Java I/O Streams: Reading and Writing Data Efficiently]]></title>
      <description><![CDATA[The Java I/O API gives you layered streams for bytes, characters, and buffering. Here is how they fit together and the patterns that made I/O code reliable.]]></description>
      <link>https://rishisharma.in/articles/java-io-streams</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/java-io-streams</guid>
      <pubDate>Thu, 22 Jan 1998 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Exception Handling Patterns in Java: Beyond Try-Catch-Finally]]></title>
      <description><![CDATA[Java exceptions were a new model in 1995. By 1998 teams had learnt which patterns made codebases maintainable and which produced catch blocks full of printStackTrace calls.]]></description>
      <link>https://rishisharma.in/articles/exception-handling-patterns</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/exception-handling-patterns</guid>
      <pubDate>Thu, 08 Jan 1998 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[JDBC Deep Dive: Talking to Databases the Hard Way in Java]]></title>
      <description><![CDATA[Before ORMs, before connection pools, before Spring — JDBC was how Java applications talked to databases. Here is a complete walkthrough of the API and the patterns that made it workable.]]></description>
      <link>https://rishisharma.in/articles/jdbc-deep-dive</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/jdbc-deep-dive</guid>
      <pubDate>Mon, 08 Dec 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Estimating Software Work: Why We're Always Wrong and How to Be Less Wrong]]></title>
      <description><![CDATA[Software estimates are almost always too optimistic. Here is why that happens and what approaches actually reduce the gap between estimate and reality.]]></description>
      <link>https://rishisharma.in/articles/estimating-software-wrong</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/estimating-software-wrong</guid>
      <pubDate>Sat, 22 Nov 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Technical Documentation That People Actually Read]]></title>
      <description><![CDATA[Most technical documentation is written to be written, not to be read. Here is what separates documentation that helps from documentation that sits unread on a file server.]]></description>
      <link>https://rishisharma.in/articles/writing-tech-docs-people-read</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/writing-tech-docs-people-read</guid>
      <pubDate>Sat, 08 Nov 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Why Code Review Culture Matters More Than Any Tool]]></title>
      <description><![CDATA[We introduced code reviews at Motorola in 1997 without any review tooling — just printed listings and meeting rooms. Here is what we learnt about what makes reviews work.]]></description>
      <link>https://rishisharma.in/articles/code-review-culture-early</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/code-review-culture-early</guid>
      <pubDate>Wed, 22 Oct 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Iterative Development Before Agile Even Had a Name]]></title>
      <description><![CDATA[The Agile Manifesto was published in 2001. But the ideas behind it — short cycles, working software, responding to change — were already in practice in the best teams years earlier.]]></description>
      <link>https://rishisharma.in/articles/iterative-dev-before-agile</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/iterative-dev-before-agile</guid>
      <pubDate>Wed, 08 Oct 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[What I Learnt Building My First Engineering Team at Motorola]]></title>
      <description><![CDATA[Going from individual contributor to engineering lead in 1997 — the mistakes I made, the things that worked, and what I would do differently.]]></description>
      <link>https://rishisharma.in/articles/building-first-eng-team</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/building-first-eng-team</guid>
      <pubDate>Mon, 22 Sep 1997 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Debugging Distributed Systems: When the Error Is Three Hops Away]]></title>
      <description><![CDATA[In a distributed system the stack trace is never the whole story. Here is how we diagnosed production failures at Motorola when the bug could be on any of five hosts.]]></description>
      <link>https://rishisharma.in/articles/debugging-remote-systems</link>
      <guid isPermaLink="true">https://rishisharma.in/articles/debugging-remote-systems</guid>
      <pubDate>Fri, 22 Aug 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[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[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>