<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Words | Peter Tumulty</title><description>Notes on software engineering, technical product management, and AI-driven modernization.</description><link>https://tumulty.me</link><item><title>Wrap Your Component in Battle Armor with React Testing Library and TypeScript</title><link>https://tumulty.me/words/wrap-your-component-in-battle-armor-with-react-testing-library-and-typescript</link><guid isPermaLink="true">https://tumulty.me/words/wrap-your-component-in-battle-armor-with-react-testing-library-and-typescript</guid><description>Learn how to combine React Testing Library with TypeScript to write robust component tests that catch real bugs and stay resilient through code changes.</description><pubDate>Tue, 15 Mar 2022 00:00:00 GMT</pubDate></item><item><title>The Pieces That Make Up Browser Caching</title><link>https://tumulty.me/words/the-pieces-that-make-up-browser-caching</link><guid isPermaLink="true">https://tumulty.me/words/the-pieces-that-make-up-browser-caching</guid><description>A practical breakdown of HTTP caching headers—Cache-Control, ETags, and Vary—and how they work together to make the web fast.</description><pubDate>Wed, 08 Sep 2021 00:00:00 GMT</pubDate></item><item><title>A Light Introduction to Web Components</title><link>https://tumulty.me/words/a-light-introduction-to-web-components</link><guid isPermaLink="true">https://tumulty.me/words/a-light-introduction-to-web-components</guid><description>Web Components let you build reusable UI elements that work in any framework—or none at all. Here&apos;s how the three core APIs fit together.</description><pubDate>Thu, 22 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Adding GraphQL to Your Skill List</title><link>https://tumulty.me/words/adding-graphql-to-your-skill-list</link><guid isPermaLink="true">https://tumulty.me/words/adding-graphql-to-your-skill-list</guid><description>GraphQL solves the over-fetching and under-fetching problems of REST by letting clients request exactly the data shape they need. Here&apos;s how to get started.</description><pubDate>Tue, 10 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Avoiding the Global Scope with the Revealing Module Pattern</title><link>https://tumulty.me/words/avoiding-the-global-scope-with-the-revealing-module-pattern</link><guid isPermaLink="true">https://tumulty.me/words/avoiding-the-global-scope-with-the-revealing-module-pattern</guid><description>The Revealing Module Pattern gives you private state and a clean public API in plain JavaScript—no build tools or classes required.</description><pubDate>Tue, 30 Jul 2019 00:00:00 GMT</pubDate></item><item><title>The Power of the Map Method</title><link>https://tumulty.me/words/the-power-of-the-map-method</link><guid isPermaLink="true">https://tumulty.me/words/the-power-of-the-map-method</guid><description>Array.map() is one of JavaScript&apos;s most useful methods. Learn how it works, when to use it, and how it pairs with other array methods to write clean, declarative code.</description><pubDate>Thu, 14 Mar 2019 00:00:00 GMT</pubDate></item></channel></rss>