<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-05-16T22:31:43Z</updated>
  <generator>https://yabu.me</generator>

  <title>Nostr notes by That HTML Blog</title>
  <author>
    <name>That HTML Blog</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://yabu.me/npub1a2rppvw4uq5s4gqn6rgfw5en4p946qt2asxs6a4yt9f0szde3vlqfm6tz3.rss" />
  <link href="https://yabu.me/npub1a2rppvw4uq5s4gqn6rgfw5en4p946qt2asxs6a4yt9f0szde3vlqfm6tz3" />
  <id>https://yabu.me/npub1a2rppvw4uq5s4gqn6rgfw5en4p946qt2asxs6a4yt9f0szde3vlqfm6tz3</id>
  <icon>https://cdn.masto.host/intuitivefuturecom/accounts/avatars/113/572/919/267/679/419/original/9549481410678b75.png</icon>
  <logo>https://cdn.masto.host/intuitivefuturecom/accounts/avatars/113/572/919/267/679/419/original/9549481410678b75.png</logo>




  <entry>
    <id>https://yabu.me/nevent1qqszzuflykm3wsc07m8uc6e0rmqqv54l6kzurxfrxshd82q03yj62pczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuun9nkj</id>
    
      <title type="html">Scalable Vector Graphics (SVG) is the image format for the web ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszzuflykm3wsc07m8uc6e0rmqqv54l6kzurxfrxshd82q03yj62pczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuun9nkj" />
    <content type="html">
      Scalable Vector Graphics (SVG) is the image format for the web that isn’t raster (aka pixel-based) like JPEG and PNG.&lt;br/&gt;&lt;br/&gt;Something which sets #SVG apart from other “image formats” however is that it’s more than an image format. It’s markup…which means it can be embedded in your #HTML markup.&lt;br/&gt;&lt;br/&gt;This gives SVG superpowers, as &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1haaf4q987uxel0nylzy7az6y3zvut4u77z9gaqy49ldkp2r3yr8s49h420&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Carmen Ansio&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1haa…h420&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; so eloquently puts it in her fantastic article SVG from Scratch… #WebDev&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2026/05/best-svg-intro-guide/&#34;&gt;https://thathtml.blog/2026/05/best-svg-intro-guide/&lt;/a&gt;
    </content>
    <updated>2026-05-01T17:43:54Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqswekx8le2ccmd5gw2xgpdxz50f97khh9zhv0970ktulptffg4h6hqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nununewt</id>
    
      <title type="html">For *two years* now we’ve been covering the circuitous path ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqswekx8le2ccmd5gw2xgpdxz50f97khh9zhv0970ktulptffg4h6hqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nununewt" />
    <content type="html">
      For *two years* now we’ve been covering the circuitous path wending its way towards getting a Pinterest-style layout mode into #CSS (often called “masonry” layout). 😅&lt;br/&gt;&lt;br/&gt;Thankfully our long #WebDev nightmare is finally over, and masonry layout has been solved! 🎉 Now called CSS Grid Lanes, it’s available today in WebKit-based browsers such as Safari 26.4 as well as the latest GNOME Web:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2026/04/masonry-now-css-grid-lanes/&#34;&gt;https://thathtml.blog/2026/04/masonry-now-css-grid-lanes/&lt;/a&gt;
    </content>
    <updated>2026-04-28T15:05:33Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsz3mzh6269dwjsdxn9jv9r5x3fl8admsccxh8x58aktp4nvnjhe6qzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuwy5hmm</id>
    
      <title type="html">Let’s say you have an #HTML element (like &amp;lt;form&amp;gt;) which ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsz3mzh6269dwjsdxn9jv9r5x3fl8admsccxh8x58aktp4nvnjhe6qzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuwy5hmm" />
    <content type="html">
      Let’s say you have an #HTML element (like &amp;lt;form&amp;gt;) which has been instantiated as an object in your DOM.&lt;br/&gt;&lt;br/&gt;At that exact moment, you want to enhance the form by adding new behavior via #JavaScript.&lt;br/&gt;&lt;br/&gt;How does a wad of code get spun up in a 1:1 relationship with the element to be enhanced?&lt;br/&gt;&lt;br/&gt;Herein is explained a &amp;#34;bad&amp;#34; way, and two good vanilla #WebDev ways this can be accomplished:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2026/04/two-paradigms-for-enhancing-html-tags/&#34;&gt;https://thathtml.blog/2026/04/two-paradigms-for-enhancing-html-tags/&lt;/a&gt;
    </content>
    <updated>2026-04-24T20:50:17Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsf3uelxrgss27nlmv3d6euskkhf5zz50wxyvss5ew2kl0qf6vtavszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nutt7r05</id>
    
      <title type="html">An announcement from our older sibling site, The Spicy Web: ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsf3uelxrgss27nlmv3d6euskkhf5zz50wxyvss5ew2kl0qf6vtavszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nutt7r05" />
    <content type="html">
      An announcement from our older sibling site, The Spicy Web:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.spicyweb.dev/sunsetting-the-spicy-web/&#34;&gt;https://www.spicyweb.dev/sunsetting-the-spicy-web/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;TL;DR: That HTML Blog will continue on just as before! But past #WebDev educational materials published on The Spicy Web will remain archived, frozen in time (that&amp;#39;s the nice thing about static sites…).&lt;br/&gt;&lt;br/&gt;Meanwhile, the rebranded Human Web Collective Discord is alive and well, popping even! Join us if you want to talk about all things vanilla web, fediverse, anti-slop, and indie publishing.
    </content>
    <updated>2026-04-23T15:19:43Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsf95m297qrzhaegvnzcsskzltm8mnr5dr94lzem3l65m4lja6q20gzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nucmxszx</id>
    
      <title type="html">This conceptual framework may not be perfect or may be missing a ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsf95m297qrzhaegvnzcsskzltm8mnr5dr94lzem3l65m4lja6q20gzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nucmxszx" />
    <content type="html">
      This conceptual framework may not be perfect or may be missing a lot of details, but it seems like a good starting point for discussion on what is a &amp;#34;user agent&amp;#34; and what safety protections are afforded to users and the resources being consumed.&lt;br/&gt;&lt;br/&gt;Remember, the web has always been &amp;#34;agentic&amp;#34;. The concept of a &amp;#34;user agent&amp;#34; is as old as browsers. The question is: whose authority is the agent acting on? The issues at stake are trust, honesty, safety, privacy, and many others.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.w3.org/TR/web-user-agents/&#34;&gt;https://www.w3.org/TR/web-user-agents/&lt;/a&gt;
    </content>
    <updated>2026-04-08T14:06:44Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvx2ajsmhnc4xd57m2wmpqag7ckvtvpwfawdq7slpd6ckd8gmqvfgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nucfjtrf</id>
    
      <title type="html">ICYMI (I did): @npub1sf7…gl68 2.0 is now in Public Beta! ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvx2ajsmhnc4xd57m2wmpqag7ckvtvpwfawdq7slpd6ckd8gmqvfgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nucfjtrf" />
    <content type="html">
      ICYMI (I did):&lt;br/&gt;&lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1sf7l7d33zz968ght93z4v9gkd3pjpcgvuzr0xxh6d2n9022v58ds48gl68&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;CodePen&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1sf7…gl68&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; 2.0 is now in Public Beta!&lt;br/&gt;&lt;br/&gt;Probably the biggest feature by far:&lt;br/&gt;&lt;br/&gt;&amp;gt; Pens now have their own file system! Want more than basic HTML, CSS and JS? Add, rename and organize files and folders to sculpt your Pen exactly how you want it.&lt;br/&gt;&lt;br/&gt;Sounds pretty epic!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://codepen.io/beta&#34;&gt;https://codepen.io/beta&lt;/a&gt;
    </content>
    <updated>2026-03-18T16:52:24Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqmrdulzqx5ulx257anwjudzks5fszgz69c9ddhpr8d5jv9kkpqsczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nunxez9h</id>
    
      <title type="html">It&amp;#39;s 2026! Time to set some non-negotiables as work on the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqmrdulzqx5ulx257anwjudzks5fszgz69c9ddhpr8d5jv9kkpqsczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nunxez9h" />
    <content type="html">
      It&amp;#39;s 2026! Time to set some non-negotiables as work on the Web platform ramps up again.&lt;br/&gt;&lt;br/&gt;First one up, a two-parter:&lt;br/&gt;&lt;br/&gt;a) the Web is for human users and their user agents (aka browsers). Any network activities not directed and vetted by humans and their designated user agents or backend API calls necessary to facilitate those activities should be seen as malware and subject to blocking/banning.&lt;br/&gt;&lt;br/&gt;b) This includes any crawlers which are not acting in service to human agency &amp;amp; information retrieval.
    </content>
    <updated>2026-01-05T22:01:13Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs27kgch3u2gawuc77h3qtxe5luvdgyzq7409dq9xvrphlf6qeal4szyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuwvhpf9</id>
    
      <title type="html">Don’t let anyone tell you otherwise. The Web is the most ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs27kgch3u2gawuc77h3qtxe5luvdgyzq7409dq9xvrphlf6qeal4szyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuwvhpf9" />
    <content type="html">
      Don’t let anyone tell you otherwise.&lt;br/&gt;&lt;br/&gt;The Web is the most successful computing platform in history, and it’s all thanks to OOP.&lt;br/&gt;&lt;br/&gt;Herein lies a philosophical look at why it’s crucial to become an expert on the many object-oriented APIs in #WebDev and how understanding class hierarchies and instance efficiency allows you to build user-considerate, high-quality applications. Also: monkey patching is NOT a dirty word! 😄&lt;br/&gt;&lt;br/&gt;Enlighten yourself:&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/12/the-dom-is-a-triumph-of-object-oriented-programming/&#34;&gt;https://thathtml.blog/2025/12/the-dom-is-a-triumph-of-object-oriented-programming/&lt;/a&gt;
    </content>
    <updated>2025-12-18T19:03:28Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsthjj890g6er3nxzxvye6ac3yxk2z73kar99g7m3cly2g0lrnry2czyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuyqxnan</id>
    
      <title type="html">RE: https://mastodon.social/@firefoxwebdevs/115730171895808634 A ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsthjj890g6er3nxzxvye6ac3yxk2z73kar99g7m3cly2g0lrnry2czyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuyqxnan" />
    <content type="html">
      RE: &lt;a href=&#34;https://mastodon.social/@firefoxwebdevs/115730171895808634&#34;&gt;https://mastodon.social/@firefoxwebdevs/115730171895808634&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;A quick rundown on Invoker Commands by &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1dpjjsyh6ag5p0anhrpzp8d73var3v5l06t4aktylcgslef40ff2q08e0jl&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Jake Archibald&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1dpj…e0jl&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;We&amp;#39;ve written about this a lot on the blog and will no doubt have more to say now that the need to polyfill this is quickly starting to fade. It&amp;#39;s truly exciting to have a web-native API which can solve the “wire up a click to perform a task” problem. #WebDev #HTML #JavaScript&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting &lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/note1a7fy9n46r6weahpf2yjrvasmcrrr9rzce383cz0azsrj29szf9qqcjsa0p&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;note1a7f…sa0p&lt;/a&gt;&lt;/span&gt;&lt;br/&gt; &lt;/div&gt; HTML invoker commands are newly baseline! Here&#39;s how they work…&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://files.mastodon.social/media_attachments/files/115/730/147/616/175/500/original/de4da486da9c8266.mp4&#34;&gt;&lt;/video&gt;&lt;br/&gt; &lt;/blockquote&gt;
    </content>
    <updated>2025-12-16T21:01:58Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspc5ty3n282rrk9ajrpjhur4mvl7wffkgtnu6a3h5sp68m3le9ezgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nucr4maw</id>
    
      <title type="html">This entire thread is *fantastic.* If you&amp;#39;re a history buff ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspc5ty3n282rrk9ajrpjhur4mvl7wffkgtnu6a3h5sp68m3le9ezgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nucr4maw" />
    <content type="html">
      This entire thread is *fantastic.* If you&amp;#39;re a history buff *and* a markup nerd, doesn&amp;#39;t get any better than this! &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub147879x6ctj4qjvf7avshj5ldmexnh9guckr2wfhjsh8a87pv800qnqy4ag&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Marcin Wichary&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1478…y4ag&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;a href=&#34;https://mastodon.online/@mwichary/114713601903171155&#34;&gt;https://mastodon.online/@mwichary/114713601903171155&lt;/a&gt;
    </content>
    <updated>2025-12-15T20:34:36Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspgn3l0e9lx566pjzryvvph45n80cc72786h75lspj5wlrw0egcaszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu3d5jhk</id>
    
      <title type="html">By Russ Weakley: How does the Shadow DOM appear in the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspgn3l0e9lx566pjzryvvph45n80cc72786h75lspj5wlrw0egcaszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu3d5jhk" />
    <content type="html">
      By Russ Weakley:&lt;br/&gt;&lt;br/&gt;How does the Shadow DOM appear in the accessibility tree?&lt;br/&gt;&lt;br/&gt;Browsers flatten the shadow tree when building the accessibility tree. Flattening removes the accessibility boundary of the shadow root and exposes the internal nodes as if they were normal children in the accessibility tree, not the DOM tree.&lt;br/&gt;&lt;br/&gt;#HTML #WebDev #Accessibility&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.maxdesign.com.au/articles/the-shadow-dom.html&#34;&gt;https://www.maxdesign.com.au/articles/the-shadow-dom.html&lt;/a&gt;
    </content>
    <updated>2025-12-11T19:43:32Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsfv0yj5yqgmdryhw8r7s0rhpv2fs7wkm7967z8q44gq4hec7aawlszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuj7gprc</id>
    
      <title type="html">Perhaps it’s time to embrace real web open standard .js files ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsfv0yj5yqgmdryhw8r7s0rhpv2fs7wkm7967z8q44gq4hec7aawlszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuj7gprc" />
    <content type="html">
      Perhaps it’s time to embrace real web open standard .js files which don’t require any build steps or tooling to execute properly, all while utilizing the power combo of JSDoc &#43; tsc to gain all of the benefits of type hints in IDEs and type checking in CI.&lt;br/&gt;&lt;br/&gt;Let’s dive into some examples!&lt;br/&gt;#WebDev #JavaScript&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/12/nuances-of-typing-with-jsdoc/&#34;&gt;https://thathtml.blog/2025/12/nuances-of-typing-with-jsdoc/&lt;/a&gt;
    </content>
    <updated>2025-12-03T06:19:00Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs8vqxurulftruzxcs2v96sdvu4ev8nml6qshjqdww75pnae9res7gzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu493s2r</id>
    
      <title type="html">*whispers* HTML is also a markup language where you can define ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs8vqxurulftruzxcs2v96sdvu4ev8nml6qshjqdww75pnae9res7gzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu493s2r" />
    <content type="html">
      *whispers* HTML is also a markup language where you can define your own tags designed specifically for your needs 🤓&lt;br/&gt;&lt;a href=&#34;https://front-end.social/@randomMDN/115492970041613285&#34;&gt;https://front-end.social/@randomMDN/115492970041613285&lt;/a&gt;
    </content>
    <updated>2025-11-04T20:11:39Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqyvq8f49axvcq50y4ufjz6lnw0g59fqmelsy2gx47z3qre20cd5gzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu3fphzv</id>
    
      <title type="html">Did you know Node.js has a Rocket Turtle mascot? TIL!! ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqyvq8f49axvcq50y4ufjz6lnw0g59fqmelsy2gx47z3qre20cd5gzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu3fphzv" />
    <content type="html">
      Did you know Node.js has a Rocket Turtle mascot?&lt;br/&gt;&lt;br/&gt;TIL!!&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/intuitivefuturecom/media_attachments/files/115/465/343/308/741/153/original/06f1d23e88290168.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-10-30T21:55:22Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsp5h9j3v9wn0m5ku9q5gdqda7clkllzvlq3geq7hmqmsdsnl9j0qgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu7pnd8x</id>
    
      <title type="html">If you haven&amp;#39;t yet tried out cross-document view transitions, ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsp5h9j3v9wn0m5ku9q5gdqda7clkllzvlq3geq7hmqmsdsnl9j0qgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu7pnd8x" />
    <content type="html">
      If you haven&amp;#39;t yet tried out cross-document view transitions, you are missing out on one of the absolute coolest things to hit the world of #WebDev this decade.&lt;br/&gt;&lt;br/&gt;To say it&amp;#39;s a “game changer” is putting it mildly! 🤯
    </content>
    <updated>2025-10-27T18:27:19Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2sgzsy2vkct02u5axk0etk4lx09vfgzay97g50umazsappn8kj2czyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu7q6v5x</id>
    
      <title type="html">Previously we wrote about Reciprocate, a library for adding ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2sgzsy2vkct02u5axk0etk4lx09vfgzay97g50umazsappn8kj2czyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu7q6v5x" />
    <content type="html">
      Previously we wrote about Reciprocate, a library for adding signal-based reactivity to server-rendered #HTML #WebComponents.&lt;br/&gt;&lt;br/&gt;Pretty cool problems to have solved, but what if you wanted more dynamic client-side smarts and the ability to write declarative templates with a trusty html`` function?&lt;br/&gt;&lt;br/&gt;Tada! 🎉 Thanks to Joe Pea &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1fjm52atgqqk434vvjd9e2r4qmlpalcaggngdjz5lmqqjt0vg0gxszljz47&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Joe Pea&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1fjm…jz47&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; that #WebDev  problem has also been solved. Wire up these two solutions together, and you&amp;#39;ll be authoring new UI components using familiar DX. 🙌&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/10/nimble-html-adds-great-dx-to-ui-components/&#34;&gt;https://thathtml.blog/2025/10/nimble-html-adds-great-dx-to-ui-components/&lt;/a&gt;
    </content>
    <updated>2025-10-17T04:43:26Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqswre52agv5ua9gnqthht9f93e3xrwac9xyamn30s3t4a7q0edehgqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nurwemje</id>
    
      <title type="html">This is fantastic news! 🎉 Lit remains the gold standard in ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqswre52agv5ua9gnqthht9f93e3xrwac9xyamn30s3t4a7q0edehgqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nurwemje" />
    <content type="html">
      This is fantastic news! 🎉&lt;br/&gt;&lt;br/&gt;Lit remains the gold standard in “I want to author #WebComponents but I must have DX I&amp;#39;m already familiar with”. It&amp;#39;s truly an incredible project. It powers the best UI framework (imo) in the biz, &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1s7sk46qeq2jnqw4zzpf9pwgydrsugzw92t7j3ryc6d8mrnqt9k2qs6047y&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Web Awesome&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1s7s…047y&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;. It was used to build Adobe Photoshop for the web. It was used in Reddit&amp;#39;s latest redesign.&lt;br/&gt;&lt;br/&gt;Wonderful to see it&amp;#39;s been gifted to the community and is no longer a “Google” project. Here&amp;#39;s to many more years of being Lit! 🔥&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://lit.dev/blog/2025-10-14-openjs/&#34;&gt;https://lit.dev/blog/2025-10-14-openjs/&lt;/a&gt;
    </content>
    <updated>2025-10-14T22:13:36Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstl5ryah42h93usvfg9p8a0gten83pkuyzfws99dp7fqpeacfghjqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuu748x2</id>
    
      <title type="html">What would you say about the common refrain that the Tailwind CSS ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstl5ryah42h93usvfg9p8a0gten83pkuyzfws99dp7fqpeacfghjqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuu748x2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9uw9ktf3kjz8wkqxfwznff7tgxnjm9lm90km2kgfp49z75ds6l2q8qgpfx&#39;&gt;nevent1q…gpfx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;What would you say about the common refrain that the Tailwind CSS output is &amp;#34;optimized&amp;#34; because it&amp;#39;s just a bunch of utilities to support all the class names in HTML? “Regular&amp;#34; CSS is too heavy, so the claim goes.
    </content>
    <updated>2025-10-02T19:37:23Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspaythjjetafue90tdvtmcqnn5zy9mfy8wyzcl63pd4pt7c3qmyugzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuh65gwl</id>
    
      <title type="html">The path to enlightenment is inspecting the assets which get ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspaythjjetafue90tdvtmcqnn5zy9mfy8wyzcl63pd4pt7c3qmyugzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuh65gwl" />
    <content type="html">
      The path to enlightenment is inspecting the assets which get shipped to the browser on a regular basis.&lt;br/&gt;&lt;a href=&#34;https://toot.cafe/@slightlyoff/115301580245100653&#34;&gt;https://toot.cafe/@slightlyoff/115301580245100653&lt;/a&gt;
    </content>
    <updated>2025-10-02T00:00:27Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsd06hsakg2fjckzsf5azjgn5tkj73flqkz6zxa7359c4r7gxt8egszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nujnamj8</id>
    
      <title type="html">I cannot sing the praises of fetch loudly enough. As a ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsd06hsakg2fjckzsf5azjgn5tkj73flqkz6zxa7359c4r7gxt8egszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nujnamj8" />
    <content type="html">
      I cannot sing the praises of fetch loudly enough. As a #JavaScript #WebDev, having ready access to this native web API where you can pull down #HTML fragments or #JSON data with a line or two of code is simply brilliant.&lt;br/&gt;&lt;br/&gt;But when shipping robust production code, how do you handle unpredictable network scenarios gracefully and provide a good user experience?&lt;br/&gt;&lt;br/&gt;One solution: a tiny 2.3KB wrapper around “fetch” called “ffetch”. Here are some of its features:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/09/give-fetch-a-bit-more-oomph/&#34;&gt;https://thathtml.blog/2025/09/give-fetch-a-bit-more-oomph/&lt;/a&gt;
    </content>
    <updated>2025-09-18T17:38:23Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgrxhy3td0fnseraltcmw42jqvf494aynhjjm2lt2lzklnpyxsxpgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nug7ljkp</id>
    
      <title type="html">Announcing Reciprocate, a Sweet Solution for Making Your HTML Web ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgrxhy3td0fnseraltcmw42jqvf494aynhjjm2lt2lzklnpyxsxpgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nug7ljkp" />
    <content type="html">
      Announcing Reciprocate, a Sweet Solution for Making Your HTML Web Components Reactive&lt;br/&gt;&lt;br/&gt;Have you ever been chipping away on vanilla #WebComponents when you began to wonder “hey waitaminute…how do I make it so when I set this #JavaScript property, the equivalent #HTML attribute is updated? And if I set this attribute, the equivalent property is updated? Or when either is updated, my component will re-render?! Where are the APIs for this stuff??”&lt;br/&gt;&lt;br/&gt;Worry no longer! 🤓 #WebDev&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/09/reciprocate-reactivity-for-html-web-components/&#34;&gt;https://thathtml.blog/2025/09/reciprocate-reactivity-for-html-web-components/&lt;/a&gt;
    </content>
    <updated>2025-09-08T18:40:52Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrg03lk3823qutlh8uqsh7hkhrur5sd6t2j2s7dh9nkwsxtrq0d8gzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuw7cfke</id>
    
      <title type="html">This is still one of the coolest #WebComponents patterns ever. ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrg03lk3823qutlh8uqsh7hkhrur5sd6t2j2s7dh9nkwsxtrq0d8gzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuw7cfke" />
    <content type="html">
      This is still one of the coolest #WebComponents patterns ever. 🥰&lt;br/&gt;&lt;br/&gt;#WebDev #JavaScript&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/intuitivefuturecom/media_attachments/files/115/152/892/751/808/364/original/cc8dee847dd65076.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-09-05T17:35:05Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsy4vwwv57jere3wlk9nv3mlutewgf5gxljele03n5rarrrkyk3k9qzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nul8etzz</id>
    
      <title type="html">Hey y&amp;#39;all, a new #fediverse social web forum is in da house!! ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsy4vwwv57jere3wlk9nv3mlutewgf5gxljele03n5rarrrkyk3k9qzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nul8etzz" />
    <content type="html">
      Hey y&amp;#39;all, a new #fediverse social web forum is in da house!! 🎉&lt;br/&gt;&lt;br/&gt;Talk learning #WebDev from base principles and help fellow newbies experience the joys of vanilla #HTML #CSS #JavaScript and #WebComponents! (with a sprinkle of lightweight tools to smooth out the bumps in the road ☺️)&lt;br/&gt;&lt;br/&gt;Check it out:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://humansare.social/c/indie_web_dev&#34;&gt;https://humansare.social/c/indie_web_dev&lt;/a&gt;
    </content>
    <updated>2025-08-20T16:21:38Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsfhw8hns7pa3y7lh2rmm0efmqcx89qaf63a94yz9ah3nzjwqzdc2qzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuqkjvdx</id>
    
      <title type="html">Signals, a reactive primitive popularized by many #JavaScript ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsfhw8hns7pa3y7lh2rmm0efmqcx89qaf63a94yz9ah3nzjwqzdc2qzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuqkjvdx" />
    <content type="html">
      Signals, a reactive primitive popularized by many #JavaScript frameworks and libraries, makes it much easier to add declarative binding to your #HTML using basic vanilla DOM techniques &#43; signal effects.&lt;br/&gt;&lt;br/&gt;I haven’t had a concrete example to show off just how simple yet powerful this can be…until now! 😎&lt;br/&gt;&lt;br/&gt;Here&amp;#39;s the ubiquitous counter demo, todo list with a completion count, and typewriter printing out a message—all with a binding solution in only 20 lines of code! #WebDev&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/08/declarative-html-binding-with-signals/&#34;&gt;https://thathtml.blog/2025/08/declarative-html-binding-with-signals/&lt;/a&gt;
    </content>
    <updated>2025-08-08T20:43:07Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0zt8rpp30zxzqwkwy75gnzzryap082mc6j5xuml2jwwgs0w82z5qzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuu89rsm</id>
    
      <title type="html">And here we are. ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0zt8rpp30zxzqwkwy75gnzzryap082mc6j5xuml2jwwgs0w82z5qzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuu89rsm" />
    <content type="html">
      And here we are.&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/intuitivefuturecom/media_attachments/files/114/988/391/100/703/231/original/3d7f8f54ae1d51df.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-08-07T16:20:09Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqst48gd8ukgsgz2qux2tss4tw8qr0y63gmhkl0v84cq6x8cjdju6vczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nukxyhw7</id>
    
      <title type="html">And now, the post you&amp;#39;ve all been waiting for… (probably ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqst48gd8ukgsgz2qux2tss4tw8qr0y63gmhkl0v84cq6x8cjdju6vczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nukxyhw7" />
    <content type="html">
      And now, the post you&amp;#39;ve all been waiting for…&lt;br/&gt;&lt;br/&gt;(probably not, but you get it anyway!) 😂&lt;br/&gt;&lt;br/&gt;The #CSS Framework Wars™ have come to an end. And we can thank…#Tailwind v4 for that! 🤯&lt;br/&gt;&lt;br/&gt;Freely compose UI using native CSS variables &amp;amp; syntax, Tailwind design tokens in CSS (configured with CSS!), and Tailwind utility classes only where it makes sense. Hallelujah! 🙌&lt;br/&gt;&lt;br/&gt;As historically one of Tailwind&amp;#39;s biggest critics it is *weird* to sing its praises. 2025&amp;#39;s biggest #WebDev surprise?&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/08/tailwind-and-css-friends-at-last/&#34;&gt;https://thathtml.blog/2025/08/tailwind-and-css-friends-at-last/&lt;/a&gt;
    </content>
    <updated>2025-08-04T17:13:53Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstr2hu3wvg5s0pm85g2uv4n584ttvck9msqcn5n7ka2nmcagdma3qzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuy3gld2</id>
    
      <title type="html">The Invoker Commands API is the new hotness for a declarative ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstr2hu3wvg5s0pm85g2uv4n584ttvck9msqcn5n7ka2nmcagdma3qzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuy3gld2" />
    <content type="html">
      The Invoker Commands API is the new hotness for a declarative #HTML solution to the problem “click and see something happen!!”&lt;br/&gt;&lt;br/&gt;However…&lt;br/&gt;&lt;br/&gt;If we’re inside shadow DOM and the button being clicked is supposed to do a thing via its host component, then uh, nope. 🤨&lt;br/&gt;&lt;br/&gt;Thankfully there’s always a workaround in the Wide World of the Web, so I’ve written it up and here it is!&lt;br/&gt;&lt;br/&gt;😁 Yay for building directly on top of platform mechanics. 👏 #JavaScript #WebComponents #WebDev&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/07/more-fun-with-invoker-commands-web-components/&#34;&gt;https://thathtml.blog/2025/07/more-fun-with-invoker-commands-web-components/&lt;/a&gt;
    </content>
    <updated>2025-07-25T17:38:50Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsygxduqp7kg4shwka24qzkdy3nwpwxh2njl2vl98d0mllsxjy96wgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuwyd88f</id>
    
      <title type="html">Ever since #CSS backdrop-filter became a thing, combined with ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsygxduqp7kg4shwka24qzkdy3nwpwxh2njl2vl98d0mllsxjy96wgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuwyd88f" />
    <content type="html">
      Ever since #CSS backdrop-filter became a thing, combined with careful usage of gradients and shadowing it’s allowed #WebDev designers to make objects appear glassy to varying degrees.&lt;br/&gt;&lt;br/&gt;No doubt we’ll now see more attention paid to bringing elements of “glassmorphism” to web-based design systems. While I don’t recommend trying to recreate Apple’s Liquid Glass effects verbatim, we can use it as a point of inspiration for designing our own uniquely delightful interfaces:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/07/clever-backdrop-filtering-for-eyecatching-glass-effects/&#34;&gt;https://thathtml.blog/2025/07/clever-backdrop-filtering-for-eyecatching-glass-effects/&lt;/a&gt;
    </content>
    <updated>2025-07-18T16:09:34Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszplezvlxftgsrta94ez2fzf7lhs6qum0lsrz4hy3sxep8sqddarczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nucm69kd</id>
    
      <title type="html">Just a reminder that MCP is the new Google AMP. Avoid it like the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszplezvlxftgsrta94ez2fzf7lhs6qum0lsrz4hy3sxep8sqddarczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nucm69kd" />
    <content type="html">
      Just a reminder that MCP is the new Google AMP.&lt;br/&gt;&lt;br/&gt;Avoid it like the plague. Don&amp;#39;t use it, don&amp;#39;t implement it, and by the love of all that is holy *don&amp;#39;t allow Big AI to dominate the open web like this.*&lt;br/&gt;&lt;br/&gt;Your future self will thank you.
    </content>
    <updated>2025-07-16T16:17:27Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsfl6than6n4wh8hynrgtvgygv54hjlmjfhseejpspw2ay6v0llkgqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu4z06kr</id>
    
      <title type="html">I almost titled this “Yo dawg, I herd you like windows so I put ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsfl6than6n4wh8hynrgtvgygv54hjlmjfhseejpspw2ay6v0llkgqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu4z06kr" />
    <content type="html">
      I almost titled this “Yo dawg, I herd you like windows so I put windows in yo windows so you can use windows while ur using windows” 😂&lt;br/&gt;&lt;br/&gt;Here&amp;#39;s the deal:&lt;br/&gt;&lt;br/&gt;I’ve been mulling over some interface concepts for a new app I’m designing, and it occurred to me it might make sense to use an old-school desktop metaphor for organizing the “documents”.&lt;br/&gt;&lt;br/&gt;All of a sudden I wondered: maybe there’s already a good #JS library which can do the heavy lifting for me? Answer: there is! #WebDev&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/07/put-windows-in-your-web-app-with-winbox/&#34;&gt;https://thathtml.blog/2025/07/put-windows-in-your-web-app-with-winbox/&lt;/a&gt;
    </content>
    <updated>2025-07-16T02:44:51Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstqs3rqpstwvdk4hlne9d65kxqlr62pqutgfmms6qxa2pj0glgnkgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu823cuj</id>
    
      <title type="html">Move over Bootstrap. Web Awesome is an awesome successor to what ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstqs3rqpstwvdk4hlne9d65kxqlr62pqutgfmms6qxa2pj0glgnkgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu823cuj" />
    <content type="html">
      Move over Bootstrap.&lt;br/&gt;&lt;br/&gt;Web Awesome is an awesome successor to what in my opinion was already the best open source #WebComponents library (Shoelace) on the market. Now we have the best #CSS framework on the market.&lt;br/&gt;&lt;br/&gt;All of the CSS is…um…just CSS and all of the components are…um…just web components. Native #WebDev APIs across the board. 🙌&lt;br/&gt;&lt;br/&gt;Take a first look at the brand new public beta:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/07/web-awesome-is-the-first-native-component-framework/&#34;&gt;https://thathtml.blog/2025/07/web-awesome-is-the-first-native-component-framework/&lt;/a&gt;
    </content>
    <updated>2025-07-11T20:10:24Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsf2u56qpfx53x33699jjzk3xhpvcxudlxypyrm665gj6lf27ur36szyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuyhf7n6</id>
    
      <title type="html">Oh wow, do mine eyes deceive me? No, it&amp;#39;s true! That HTML ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsf2u56qpfx53x33699jjzk3xhpvcxudlxypyrm665gj6lf27ur36szyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuyhf7n6" />
    <content type="html">
      Oh wow, do mine eyes deceive me?&lt;br/&gt;&lt;br/&gt;No, it&amp;#39;s true!&lt;br/&gt;&lt;br/&gt;That HTML Blog&amp;#39;s newsletter is back online! Get ready for regular updates once again on all things vanilla #WebDev #HTML #CSS #JavaScript and the paradigms, protocols, &amp;amp; people who make the magic happen.&lt;br/&gt;&lt;br/&gt;(Now&amp;#39;s a good time to subscribe, if you haven&amp;#39;t already! ☺️)&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://buttondown.com/thathtmlblog/archive/26-hello-again-and-why-youre-here/&#34;&gt;https://buttondown.com/thathtmlblog/archive/26-hello-again-and-why-youre-here/&lt;/a&gt;
    </content>
    <updated>2025-07-01T22:21:51Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxkdqalscyst2q4genx8hvlsc9j764m2sx0l5j6pq4auumv5e54pgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nufd24sw</id>
    
      <title type="html">I hate saying things which seem blindingly obvious, but when ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxkdqalscyst2q4genx8hvlsc9j764m2sx0l5j6pq4auumv5e54pgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nufd24sw" />
    <content type="html">
      I hate saying things which seem blindingly obvious, but when Famous People™ such as Theo on YouTube make these basic mistakes, I wonder. 🧐&lt;br/&gt;&lt;br/&gt;So here you go:&lt;br/&gt;&lt;br/&gt;`document.querySelector(&amp;#34;# my-dumb-button&amp;#34;).addEventListener(...)` is completely obsolete in the year 2025.&lt;br/&gt;&lt;br/&gt;Never do that again please. You don&amp;#39;t need to!&lt;br/&gt;&lt;br/&gt;If you&amp;#39;re wondering “well, what should I do instead?”, leave a comment and we&amp;#39;ll talk about what to do instead. Apparently it will BLOW YOUR MIND! 😂&lt;br/&gt;&lt;br/&gt;#HTML #JavaScript #WebComponents
    </content>
    <updated>2025-06-17T17:55:56Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvtxzsvf59xh76dsv6956sltaadusgq36637cnlk93eluj9h3qynczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu0qsgd3</id>
    
      <title type="html">How do you typically mount some #JavaScript behavior to an #HTML ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvtxzsvf59xh76dsv6956sltaadusgq36637cnlk93eluj9h3qynczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu0qsgd3" />
    <content type="html">
      How do you typically mount some #JavaScript behavior to an #HTML page? #WebDev
    </content>
    <updated>2025-04-29T17:50:53Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsyhjcrud8h6pjm0xsvfn5k0ufy753fyqs7kf4mr7z0eupcge66czszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nut3zvkv</id>
    
      <title type="html">🚨🚨🚨🚨🚨 ❗❗ ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsyhjcrud8h6pjm0xsvfn5k0ufy753fyqs7kf4mr7z0eupcge66czszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nut3zvkv" />
    <content type="html">
      🚨🚨🚨🚨🚨 ❗❗&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.theverge.com/news/653882/openai-chrome-google-us-judge&#34;&gt;https://www.theverge.com/news/653882/openai-chrome-google-us-judge&lt;/a&gt;
    </content>
    <updated>2025-04-22T21:02:09Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsd4lydccx9allwatpuv3659plpe8ku28cp430l54kayqkjce5tz2qzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nux7smpv</id>
    
      <title type="html">Since we last reported on the back &amp;amp; forth regarding defining ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsd4lydccx9allwatpuv3659plpe8ku28cp430l54kayqkjce5tz2qzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nux7smpv" />
    <content type="html">
      Since we last reported on the back &amp;amp; forth regarding defining a &amp;#34;masonry layout&amp;#34; #CSS syntax, an intriguing development has transpired!&lt;br/&gt;&lt;br/&gt;Jen Simmons et al. over at the WebKit Blog have written about a third possible path forward, and it has implications beyond merely implementing masonry layout. It is the initial steps towards formulating a unified layout system that blurs the lines between flexbox and grid. This new #WebDev concept is tentatively being called Item Flow.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/04/unified-layout-system-could-happen/&#34;&gt;https://thathtml.blog/2025/04/unified-layout-system-could-happen/&lt;/a&gt;
    </content>
    <updated>2025-04-15T04:17:02Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsfvmngcmv6pp3chvasrj078mggww6x77mu9sr4wyrur4mnu7afdaszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuv62qll</id>
    
      <title type="html">What can I say? I’m a nerd for Nord. But seriously, you should ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsfvmngcmv6pp3chvasrj078mggww6x77mu9sr4wyrur4mnu7afdaszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuv62qll" />
    <content type="html">
      What can I say? I’m a nerd for Nord.&lt;br/&gt;&lt;br/&gt;But seriously, you should most def give the Nord design system a look-see because the docs are seriously impressive—my go-to whenever I’m tasked to provide examples of how to build great design system documentation.&lt;br/&gt;&lt;br/&gt;One of its principal developers, &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1w9tamta6569jgxclmwgpcy3tpdxkkgcad8nhg998kle4n60e3dzsfpa2ap&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Dave 🧱 :cursor_pointer:&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1w9t…a2ap&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; (who recently moved on to join the Polaris team at Shopify), recently joined the dynamic duo of Dave &amp;amp; Chris on &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1f774u7wd8pkk75lqhnt82t5l76vqx8wadnacuxvv8faqvlc4xh8s07twck&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;ShopTalk Show&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1f77…twck&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; to talk all about the Nord design system:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/03/nord-health-design-system-david-darnes/&#34;&gt;https://thathtml.blog/2025/03/nord-health-design-system-david-darnes/&lt;/a&gt;
    </content>
    <updated>2025-03-27T03:07:06Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsr2z0prz9ru8fe96atglt7ctk4rhdedn8ar87nsryn245x9lur9dgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuhn2mxd</id>
    
      <title type="html">All the Deets on the Mighty Details Tag 🙌 @npub1ncs…a6v8 ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsr2z0prz9ru8fe96atglt7ctk4rhdedn8ar87nsryn245x9lur9dgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuhn2mxd" />
    <content type="html">
      All the Deets on the Mighty Details Tag 🙌&lt;br/&gt;&lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1ncs6jpg8e9gpttpewfcayg7xplvwqyr28fxwqd2fpnnf2wrvesssl9a6v8&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Geoff&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1ncs…a6v8&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; over at #CSS Tricks has written a definitive guide on using &amp;lt;details&amp;gt;, a number of possible use cases, and some of the trickier aspects of styling it and even animating the opening and closing states. I’ll be sure to refer to this the next time I do #WebDev on a &amp;lt;details&amp;gt;-based feature!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/02/all-the-deets-on-details/&#34;&gt;https://thathtml.blog/2025/02/all-the-deets-on-details/&lt;/a&gt;
    </content>
    <updated>2025-02-27T00:33:51Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxckhk7ewgvgz8e9t56vz82nmsvgknlhhmq3e3c3z7u4tau4vc4xqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nukmag53</id>
    
      <title type="html">Is it possible to write advanced theming #CSS with context-aware ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxckhk7ewgvgz8e9t56vz82nmsvgknlhhmq3e3c3z7u4tau4vc4xqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nukmag53" />
    <content type="html">
      Is it possible to write advanced theming #CSS with context-aware conditional code? As if()! 😉&lt;br/&gt;&lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub19405hrqah8pkr50tqx5psudeqet65mhcgr8gzwgd3tzc3p27z0zsz9zhyh&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Christopher Kirk-Nielsen&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1940…zhyh&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; shows us a glimpse of what&amp;#39;s possible—just in Chrome Canary right now behind a flag, but here&amp;#39;s hoping it gains ground soon.&lt;br/&gt;&lt;br/&gt;On a related note, us #WebDev folks are eagerly awaiting container style queries in Firefox! Can it happen please pretty please with sugar on top??&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/02/hot-off-the-press-examples-of-css-if/&#34;&gt;https://thathtml.blog/2025/02/hot-off-the-press-examples-of-css-if/&lt;/a&gt;
    </content>
    <updated>2025-02-21T18:01:45Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrwz8arx270stj7ajm32rkxdkh28f8l78mpsny8u3w0gjyyezgdmszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu8tu4uw</id>
    
      <title type="html">We Need to Talk About Anti-Web Coding Assistants It&amp;#39;s time. ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrwz8arx270stj7ajm32rkxdkh28f8l78mpsny8u3w0gjyyezgdmszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu8tu4uw" />
    <content type="html">
      We Need to Talk About Anti-Web Coding Assistants&lt;br/&gt;&lt;br/&gt;It&amp;#39;s time. We can&amp;#39;t ignore this massive threat to the continuing health of this platform we all love.&lt;br/&gt;&lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1fs69n2f28eumgdf3l9qwkaa58xm73wz56vzksdypku2v895puays78tlr3&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Vale&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1fs6…tlr3&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; has done a deep dive into what the bots think is the state-of-the-art of #WebDev and…uh, it&amp;#39;s alarming. 😬&lt;br/&gt;&lt;br/&gt;We can, *and we must*, expect better of the tools being thrust in our faces as the future of “whatever”.&lt;br/&gt;#ProCraft&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/02/we-need-to-talk-about-anti-web-coding-assistants/&#34;&gt;https://thathtml.blog/2025/02/we-need-to-talk-about-anti-web-coding-assistants/&lt;/a&gt;
    </content>
    <updated>2025-02-14T19:30:02Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgdmyln23kg4m4cy6p5p4fukfmw9q2qsvg03fpuskpjnsj002aeegzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nugrtn38</id>
    
      <title type="html">Happy #Interop2025 day to all who celebrate! #WebDev ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgdmyln23kg4m4cy6p5p4fukfmw9q2qsvg03fpuskpjnsj002aeegzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nugrtn38" />
    <content type="html">
      Happy #Interop2025 day to all who celebrate!&lt;br/&gt;&lt;br/&gt;#WebDev #OpenStandards
    </content>
    <updated>2025-02-13T20:09:16Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2vt0cc0ea8pzmqh0k9423zxsgueh5xqtnj9xvl5vgk0wynvamrlszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nutkq6f3</id>
    
      <title type="html">Every time I see utility classes sprayed all over basic tags like ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2vt0cc0ea8pzmqh0k9423zxsgueh5xqtnj9xvl5vgk0wynvamrlszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nutkq6f3" />
    <content type="html">
      Every time I see utility classes sprayed all over basic tags like &amp;lt;p&amp;gt; and &amp;lt;a&amp;gt;… 😂&lt;br/&gt;#CSS #WebDev #Humor&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/intuitivefuturecom/media_attachments/files/113/993/294/423/351/624/original/c70d844d914bb8f0.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-02-12T22:33:58Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqst64fccnvemdx2pkxn5s7slncw9u7d3t8zjvq4038y34d6r7tenegzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu5z8vz8</id>
    
      <title type="html">One of the most exciting #WebDev-elopments in Modern™ #CSS is ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqst64fccnvemdx2pkxn5s7slncw9u7d3t8zjvq4038y34d6r7tenegzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu5z8vz8" />
    <content type="html">
      One of the most exciting #WebDev-elopments in Modern™ #CSS is the ability to generate new colors programmatically based on variables or the currentColor keyword.&lt;br/&gt;&lt;br/&gt;However, there are two separate ways to modify colors, each with its own set of goals and syntax, and the confusing thing is they have rolled out at different paces.&lt;br/&gt;&lt;br/&gt;Exciting news though! The day will soon be here when all you’ll need for defining a fantastic color palette is a mere handful of base colors:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/02/live-colors-what-you-can-safely-use/&#34;&gt;https://thathtml.blog/2025/02/live-colors-what-you-can-safely-use/&lt;/a&gt;
    </content>
    <updated>2025-02-05T04:22:01Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs8xnzka3z4uh759c2tcam982nyecn6ayjmhnnkwjlzu9xm09egu7gzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu508trg</id>
    
      <title type="html">Y&amp;#39;all, I&amp;#39;m not done with squircles! 😅 A few days ago I ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs8xnzka3z4uh759c2tcam982nyecn6ayjmhnnkwjlzu9xm09egu7gzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu508trg" />
    <content type="html">
      Y&amp;#39;all, I&amp;#39;m not done with squircles! 😅&lt;br/&gt;&lt;br/&gt;A few days ago I demonstrated utilizing #CSS clip-path and SVG data to round the corners of an element in a more attractive manner.&lt;br/&gt;&lt;br/&gt;That #WebComponents demo turned out well, but it got me thinking I might attempt to “squirclize” a grid of thumbnail images, which eventually led me to the html-squircle #JS library for generating refined curve paths.&lt;br/&gt;&lt;br/&gt;Now this looks pretty fun! 🥳 #WebDev&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/01/squircle-images-on-the-loose/&#34;&gt;https://thathtml.blog/2025/01/squircle-images-on-the-loose/&lt;/a&gt;&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/intuitivefuturecom/media_attachments/files/113/919/553/889/267/421/original/fa41f96f5e537597.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-01-30T22:00:47Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0unujeejtmzsp3z3r65nveralakdfupzaanjrw8u2gmuypqmhemszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nulljmep</id>
    
      <title type="html">I Made a Squircle! Button. It&amp;#39;s a squircle button. 🥰 And ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0unujeejtmzsp3z3r65nveralakdfupzaanjrw8u2gmuypqmhemszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nulljmep" />
    <content type="html">
      I Made a Squircle!&lt;br/&gt;&lt;br/&gt;Button.&lt;br/&gt;&lt;br/&gt;It&amp;#39;s a squircle button. 🥰&lt;br/&gt;&lt;br/&gt;And that’s harder than you might think, due to the limitations of what typical #CSS provides. But here we break down a neat #WebDev technique for building one as well as some of the other fun aspects of this demo (@ property to the rescue!):&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.spicyweb.dev/i-built-a-squricle-button/&#34;&gt;https://www.spicyweb.dev/i-built-a-squricle-button/&lt;/a&gt;&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/intuitivefuturecom/media_attachments/files/113/896/323/653/916/416/original/5dc35ef982fd0d1e.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-01-26T19:33:02Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrhcefm0tk9n3re2qlz50fywku3vqnylq5wtzzyxje5npk4wvh4eczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuauxzt6</id>
    
      <title type="html">“War must be, while we defend our lives against a destroyer who ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrhcefm0tk9n3re2qlz50fywku3vqnylq5wtzzyxje5npk4wvh4eczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuauxzt6" />
    <content type="html">
      “War must be, while we defend our lives against a destroyer who would devour all; but I do not love the bright sword for its sharpness, nor the arrow for its swiftness, nor the warrior for his glory. I love only that which they defend.” –J. R. R. Tolkein&lt;br/&gt;&lt;br/&gt;The AI *is* coming for your job. The Zuckerbergs of the world will make sure of it.&lt;br/&gt;&lt;br/&gt;But hope is not lost. We, the workers, still have real power.&lt;br/&gt;&lt;br/&gt;Here are a few ideas on how to weather the coming #WebDev storm:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.spicyweb.dev/surviving-the-ai-pocalypse/&#34;&gt;https://www.spicyweb.dev/surviving-the-ai-pocalypse/&lt;/a&gt;
    </content>
    <updated>2025-01-13T22:16:40Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqz35kth7pdwsrcvr2zx6ju2lauhvx677ctgu9c57dx8dfvtte7vgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nurtzha6</id>
    
      <title type="html">A few months back, I’d reported on &amp;lt;selectmenu&amp;gt; turning ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqz35kth7pdwsrcvr2zx6ju2lauhvx677ctgu9c57dx8dfvtte7vgzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nurtzha6" />
    <content type="html">
      A few months back, I’d reported on &amp;lt;selectmenu&amp;gt; turning back into a regular &amp;lt;select&amp;gt; tag—but with awesome new #CSS-based smarts for completely customized styling. #WebDev&lt;br/&gt;&lt;br/&gt;Since then, there have been some revisions to the proposed spec, and helpfully we have a thorough rundown of what’s changed courtesy of &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1v48a630agf2cxsdml6plgvk9xs04f0dj79v2yctr4xpv6d5awsxsyrcsx2&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Una Kravets&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1v48…csx2&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/01/revised-select-styling-whats-new/&#34;&gt;https://thathtml.blog/2025/01/revised-select-styling-whats-new/&lt;/a&gt;
    </content>
    <updated>2025-01-13T00:16:17Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsyhqsnhtrj7d3umk53rp9p33kt8s550e9xq7vpte88vq4p73j0m6szyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nunfg3sa</id>
    
      <title type="html">One of the oldest and cruftiest APIs in #JavaScript involves ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsyhqsnhtrj7d3umk53rp9p33kt8s550e9xq7vpte88vq4p73j0m6szyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nunfg3sa" />
    <content type="html">
      One of the oldest and cruftiest APIs in #JavaScript involves cookies. In fact, can you really even say there&amp;#39;s an &amp;#34;API&amp;#34; for cookies when it&amp;#39;s literally just a string property on `document`?&lt;br/&gt;&lt;br/&gt;Wouldn&amp;#39;t it be nice if we had a more modern #WebDev API to use for setting, reading, and deleting cookies?&lt;br/&gt;&lt;br/&gt;Introducing the Cookie Store API:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2025/01/cookie-store-api/&#34;&gt;https://thathtml.blog/2025/01/cookie-store-api/&lt;/a&gt;
    </content>
    <updated>2025-01-03T01:42:51Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvc93ah94ntkjzlp4e6p24q56suj7frlau993xrqkjy6s3xe22cyqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuwmunju</id>
    
      <title type="html">If it sounds like I&amp;#39;m a sore winner, that&amp;#39;s because I am. ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvc93ah94ntkjzlp4e6p24q56suj7frlau993xrqkjy6s3xe22cyqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuwmunju" />
    <content type="html">
      If it sounds like I&amp;#39;m a sore winner, that&amp;#39;s because I am. But OK. Here we are. *Finally.*&lt;br/&gt;&lt;br/&gt;Tailwind 4 now comes with a theming system based on—wait for it, wait for it—CSS.&lt;br/&gt;&lt;br/&gt;#CSS. What a concept! 😅&lt;br/&gt;&lt;br/&gt;Yes, the ships have turned around in #WebDev. React 19 can now play in a world where not all of your components are built with React, and Tailwind 4 can now play in a world where not all of your #HTML markup is riddled with utility classes:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2024/12/tailwind-4-a-mea-culpa-moment/&#34;&gt;https://thathtml.blog/2024/12/tailwind-4-a-mea-culpa-moment/&lt;/a&gt;
    </content>
    <updated>2024-12-19T19:37:01Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqswhksmz33xsgvks3k5u6fmxs5sy3dpxcd4sz0tuklln3flud433ggzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuy6aar4</id>
    
      <title type="html">React: functional components which aren&amp;#39;t very functional. ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqswhksmz33xsgvks3k5u6fmxs5sy3dpxcd4sz0tuklln3flud433ggzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuy6aar4" />
    <content type="html">
      React: functional components which aren&amp;#39;t very functional.&lt;br/&gt;&lt;br/&gt;TypeScript: types for JavaScript which aren&amp;#39;t real types.&lt;br/&gt;&lt;br/&gt;Great ecosystem! 😄&lt;br/&gt;&lt;a href=&#34;https://mastodon.social/@erlang_discussions/113675453562732716&#34;&gt;https://mastodon.social/@erlang_discussions/113675453562732716&lt;/a&gt;
    </content>
    <updated>2024-12-18T20:40:25Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsynhahpzfj7y8r0vujfufs6aewfhtlfkmra0l5knv30qvk265vvrszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nudsghqv</id>
    
      <title type="html">Our 25th issue on #WebDev is published, talking about Baseline ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsynhahpzfj7y8r0vujfufs6aewfhtlfkmra0l5knv30qvk265vvrszyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nudsghqv" />
    <content type="html">
      Our 25th issue on #WebDev is published, talking about Baseline and the awesome features dashboard for the Web Platform, as well as React 19 and a new way to author custom elements.&lt;br/&gt;&lt;br/&gt;But wait, there&amp;#39;s more! We&amp;#39;ll be sending out a bonus issue in just a few days exclusively to Intuitive&#43; members. Have you signed up yet? You won&amp;#39;t want to miss it! 😅&lt;br/&gt;&lt;br/&gt;(Or just subscribe to the free newsletter. That&amp;#39;s fine too… 😊)&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://buttondown.com/thathtmlblog/archive/25-baseline-2024-at-a-glance-react-19-new-web/&#34;&gt;https://buttondown.com/thathtmlblog/archive/25-baseline-2024-at-a-glance-react-19-new-web/&lt;/a&gt;
    </content>
    <updated>2024-12-16T16:52:57Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstzpx62c9hle5g8akuzpkcltgxx04xnmcr6y29glwhj869wzt596szyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nudw3lhh</id>
    
      <title type="html">Well this is a headline for the ages. #React #WebDev ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstzpx62c9hle5g8akuzpkcltgxx04xnmcr6y29glwhj869wzt596szyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nudw3lhh" />
    <content type="html">
      Well this is a headline for the ages.&lt;br/&gt;&lt;br/&gt;#React #WebDev #WebComponents&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2024/12/oh-happy-day-react-finally-speaks-web-component/&#34;&gt;https://thathtml.blog/2024/12/oh-happy-day-react-finally-speaks-web-component/&lt;/a&gt;&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/intuitivefuturecom/media_attachments/files/113/624/167/818/271/490/original/2d1c3ec281b36935.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2024-12-09T18:00:13Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxhp5ummw4l749nze2hlccn4srqydvsz8j805e550junyn9trzeugzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu6m6a7t</id>
    
      <title type="html">Since we’re on a new server, we’ll be pulling some toots from ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxhp5ummw4l749nze2hlccn4srqydvsz8j805e550junyn9trzeugzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu6m6a7t" />
    <content type="html">
      Since we’re on a new server, we’ll be pulling some toots from the archive from time to time. Here’s one:&lt;br/&gt;---&lt;br/&gt;&lt;br/&gt;Vanilla #HTML / #CSS / #JavaScript is the &amp;#34;universal language&amp;#34; of modern networked computing. Know that, and know it deeply, and you can speak &amp;#34;internet&amp;#34; in nearly any context, in nearly any job.&lt;br/&gt;&lt;br/&gt;That&amp;#39;s the power of international standards and open protocols. They&amp;#39;ll never go out of style.
    </content>
    <updated>2024-12-06T07:45:28Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0jsjfxt23n5h6qczd73d9f0kmt8c4vn00h9nc9ua5hmhv8tduahqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu70slmm</id>
    
      <title type="html">Reactive Mastro: a tiny reactive GUI library for your existing ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0jsjfxt23n5h6qczd73d9f0kmt8c4vn00h9nc9ua5hmhv8tduahqzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nu70slmm" />
    <content type="html">
      Reactive Mastro: a tiny reactive GUI library for your existing MPA&lt;br/&gt;&lt;br/&gt;Our latest #WebDev #WebComponents writeup!&lt;br/&gt;&lt;br/&gt;Mastro is very small (2.6kB) and provides a clear path to writing custom elements which are primarily driven by server-rendered markup but need some additional interactivity after the fact. Powered by the maverick-js signals library, with an elegant syntax which works well with HTML web components:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2024/12/new-custom-element-superclass-on-the-block/&#34;&gt;https://thathtml.blog/2024/12/new-custom-element-superclass-on-the-block/&lt;/a&gt;
    </content>
    <updated>2024-12-04T17:51:02Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvvmv9c7prnlqtqejc44hukt0ka9hs2la90qs79waqfrqa7qzz62gzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nucl2rp6</id>
    
      <title type="html">Oh and guess what? Our Mastodon presence is two years old as of ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvvmv9c7prnlqtqejc44hukt0ka9hs2la90qs79waqfrqa7qzz62gzyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nucl2rp6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqwrw20yp9nf0252tldpqsrxfj8cfrar4vn3cej6nfuf6y6cs80mchg0zl5&#39;&gt;nevent1q…0zl5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Oh and guess what? Our Mastodon presence is two years old as of yesterday! Happy 2nd Anniversary to us! 🎉&lt;br/&gt;&lt;br/&gt;Thanks y&amp;#39;all for the good times. May they long continue…
    </content>
    <updated>2024-12-02T18:16:37Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqwrw20yp9nf0252tldpqsrxfj8cfrar4vn3cej6nfuf6y6cs80mczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuclfq0l</id>
    
      <title type="html">Since we’re on a new server, we’ll be pulling some toots from ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqwrw20yp9nf0252tldpqsrxfj8cfrar4vn3cej6nfuf6y6cs80mczyr4gvy936hszjz4qz0gdp96nxw5ykhgpdtkq6rtk53v497qfhx9nuclfq0l" />
    <content type="html">
      Since we’re on a new server, we’ll be pulling some toots from the archive from time to time. Here’s one:&lt;br/&gt;---&lt;br/&gt;&lt;br/&gt;The idea that #CSS should support conditionals within style rules has been around since time immemorial. #WebDev&lt;br/&gt;&lt;br/&gt;It’s looking likely that we’ll soon see the day when we can if() the night away, now that the CSSWG has come to a consensus around adding if() to an upcoming spec.&lt;br/&gt;&lt;br/&gt;When this eventually lands in browsers, behold the increase of your property values! 😜&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://thathtml.blog/2024/07/if-only-css-could-if/&#34;&gt;https://thathtml.blog/2024/07/if-only-css-could-if/&lt;/a&gt;
    </content>
    <updated>2024-12-02T18:08:39Z</updated>
  </entry>

</feed>