<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>hypermedia.lol</title>
  <subtitle>The browser already does that. Short arguments for HTML and CSS over the JavaScript we keep reaching for first.</subtitle>
  <link href="https://hypermedia.lol/feed.xml" rel="self" type="application/atom+xml"/>
  <link href="https://hypermedia.lol/" rel="alternate" type="text/html"/>
  <id>https://hypermedia.lol/</id>
  <updated>2026-09-09T00:00:00Z</updated>
  <author><name>Brad Gessler</name><uri>https://bradgessler.com</uri></author>
  <entry>
    <title>Every Single-Page App Is a Worse Browser Running Inside a Browser</title>
    <link href="https://hypermedia.lol/articles/a-worse-browser-inside-a-browser/" rel="alternate" type="text/html"/>
    <id>https://hypermedia.lol/articles/a-worse-browser-inside-a-browser/</id>
    <published>2026-09-09T00:00:00Z</published>
    <updated>2026-09-09T00:00:00Z</updated>
    <summary>Good intentions snowball into a shitty browser inside a browser. A team decides the server will speak JSON and the client will do the rest, and four runs later they&#39;ve rebuilt the back button, the cache, scroll restoration and the URL by hand, worse. With a yeti.</summary>
    <author><name>Brad Gessler</name><uri>https://bradgessler.com</uri></author>
  </entry>
  <entry>
    <title>Everybody Builds Six-Digit Code Inputs Wrong. Just Use a Text Field.</title>
    <link href="https://hypermedia.lol/articles/one-textbox-for-one-time-codes/" rel="alternate" type="text/html"/>
    <id>https://hypermedia.lol/articles/one-textbox-for-one-time-codes/</id>
    <published>2026-09-08T00:00:00Z</published>
    <updated>2026-09-08T00:00:00Z</updated>
    <summary>Websites build a six-digit login code like it&#39;s a nuclear launch console. Here&#39;s what that breaks, live, and the one HTML input that replaces all of it.</summary>
    <author><name>Brad Gessler</name><uri>https://bradgessler.com</uri></author>
  </entry>
  <entry>
    <title>Stop Bloating Motherfucking Websites</title>
    <link href="https://hypermedia.lol/articles/the-motherfucking-website-canon/" rel="alternate" type="text/html"/>
    <id>https://hypermedia.lol/articles/the-motherfucking-website-canon/</id>
    <published>2026-09-08T00:00:00Z</published>
    <updated>2026-09-08T00:00:00Z</updated>
    <summary>Four profane single-page manifestos have argued for plain HTML for over a decade. I ran all of them through Lighthouse, plus craigslist, Legible News, and this site. The numbers are funnier than the pages.</summary>
    <author><name>Brad Gessler</name><uri>https://bradgessler.com</uri></author>
  </entry>
  <entry>
    <title>It Takes 20 Minutes to Fix a Typo. In 2006 It Took 10 Seconds.</title>
    <link href="https://hypermedia.lol/articles/twenty-minutes-to-fix-a-typo/" rel="alternate" type="text/html"/>
    <id>https://hypermedia.lol/articles/twenty-minutes-to-fix-a-typo/</id>
    <published>2026-09-08T00:00:00Z</published>
    <updated>2026-09-08T00:00:00Z</updated>
    <summary>In 2006 you opened the file over SFTP, fixed the character, hit save, and it was live. We traded that latency for safety, a good trade we then never revisited.</summary>
    <author><name>Brad Gessler</name><uri>https://bradgessler.com</uri></author>
  </entry>
  <entry>
    <title>Modals Are Broken by Design. The Spec Says So.</title>
    <link href="https://hypermedia.lol/articles/most-modals-should-not-be-modals/" rel="alternate" type="text/html"/>
    <id>https://hypermedia.lol/articles/most-modals-should-not-be-modals/</id>
    <published>2026-09-08T00:00:00Z</published>
    <updated>2026-09-08T00:00:00Z</updated>
    <summary>The answer to a modal usually isn&#39;t a better modal. It&#39;s a page on the server, with a real URL, the actual data, and room for a challenge.</summary>
    <author><name>Brad Gessler</name><uri>https://bradgessler.com</uri></author>
  </entry>
</feed>
