<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-07-29T19:31:22Z</updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by Nolan Lawson</title>
  <author>
    <name>Nolan Lawson</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub1yewefjyn7gypzfgme0makq9ps6zws829hmnprl333e686ywx64dsasxuft.rss" />
  <link href="https://nostr.ae/npub1yewefjyn7gypzfgme0makq9ps6zws829hmnprl333e686ywx64dsasxuft" />
  <id>https://nostr.ae/npub1yewefjyn7gypzfgme0makq9ps6zws829hmnprl333e686ywx64dsasxuft</id>
  <icon>https://assets.toot.cafe/accounts/avatars/000/000/001/original/c5f0e4d909eb5b14.png</icon>
  <logo>https://assets.toot.cafe/accounts/avatars/000/000/001/original/c5f0e4d909eb5b14.png</logo>




  <entry>
    <id>https://nostr.ae/nevent1qqswnntzd6ayvps6q647yrmclzk5q3afgv58ukmae3arv6f0wvfr2uszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kc63sx8</id>
    
      <title type="html">Oh man I almost forgot about: - elementtiming - ARIA semantics ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswnntzd6ayvps6q647yrmclzk5q3afgv58ukmae3arv6f0wvfr2uszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kc63sx8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsreqynmpnp3jzeyj650fq00lt8lzatxncmmgjn0ahecfcyf0pdtfc4s9ukj&#39;&gt;nevent1q…9ukj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Oh man I almost forgot about:&lt;br/&gt;&lt;br/&gt;- elementtiming&lt;br/&gt;- ARIA semantics where the parent-child DOM relationship matters (e.g. list / list items)&lt;br/&gt;- scoped custom element registries&lt;br/&gt;&lt;br/&gt;I&amp;#39;m having flashbacks to all these battles. Really hard to say I miss them.
    </content>
    <updated>2026-05-02T04:30:01Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsreqynmpnp3jzeyj650fq00lt8lzatxncmmgjn0ahecfcyf0pdtfczyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kqjr0d9</id>
    
      <title type="html">I *really* look forward to using shadow DOM in, like, ~3-5 years ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsreqynmpnp3jzeyj650fq00lt8lzatxncmmgjn0ahecfcyf0pdtfczyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kqjr0d9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs82ay9crlc4sqraw4uax3wcn302a4jfggadu4k4nfj4r8exre39zsl9zdt4&#39;&gt;nevent1q…zdt4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I *really* look forward to using shadow DOM in, like, ~3-5 years after all this stuff has been ironed out. In the meantime, its advocates are doing true heroics to harmonize it with the rest of the web platform. But it&amp;#39;s really a slog, and it&amp;#39;s hard for me to remember fondly all the effort I put into getting basic stuff to work across shadow boundaries
    </content>
    <updated>2026-05-02T04:13:43Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs82ay9crlc4sqraw4uax3wcn302a4jfggadu4k4nfj4r8exre39zszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kyrku4s</id>
    
      <title type="html">I don&amp;#39;t want to dismiss the hard work that people are doing ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs82ay9crlc4sqraw4uax3wcn302a4jfggadu4k4nfj4r8exre39zszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kyrku4s" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf0ltpcmhwpf48k44sv6ddjwd0yeee0jgvwjf7gt489pxnznp5kpq5hf6k7&#39;&gt;nevent1q…f6k7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t want to dismiss the hard work that people are doing to make the web platform more cohesive. And of course competing interests and priorities will always make the web &amp;#34;lumpy&amp;#34;: &lt;a href=&#34;https://paul.kinlan.me/the-lumpy-web/&#34;&gt;https://paul.kinlan.me/the-lumpy-web/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;But still, as a web developer, it&amp;#39;s exhausting. This site doesn&amp;#39;t even cover @font-face, ARIA IDref, submit buttons in forms, focus libraries, browser extensions, styling… the list goes on and on. When you work with shadow DOM, you&amp;#39;re opting into pain.
    </content>
    <updated>2026-05-02T04:10:45Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsf0ltpcmhwpf48k44sv6ddjwd0yeee0jgvwjf7gt489pxnznp5kpqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kpjgu67</id>
    
      <title type="html">Just discovered this excellent resource about which CSS features ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsf0ltpcmhwpf48k44sv6ddjwd0yeee0jgvwjf7gt489pxnznp5kpqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kpjgu67" />
    <content type="html">
      Just discovered this excellent resource about which CSS features work well in shadow DOM and which don&amp;#39;t: &lt;a href=&#34;https://shadow-dom-css.adobe.com/&#34;&gt;https://shadow-dom-css.adobe.com/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Honestly this is the part I miss least about working with web components. It broke so many parts of the web platform, and plenty of new web APIs seem to be just plowing ahead and hoping &amp;#34;somebody will figure out this shadow DOM stuff later&amp;#34;
    </content>
    <updated>2026-05-02T03:54:42Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw9t64hrcgek9vd5xwgp2z86s7r8u3mknxp0zqzc6sqjr67p694ngzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24khjm9le</id>
    
      <title type="html">New post: &amp;#34;We mourn our craft&amp;#34; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw9t64hrcgek9vd5xwgp2z86s7r8u3mknxp0zqzc6sqjr67p694ngzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24khjm9le" />
    <content type="html">
      New post: &amp;#34;We mourn our craft&amp;#34; &lt;a href=&#34;https://nolanlawson.com/2026/02/07/we-mourn-our-craft/&#34;&gt;https://nolanlawson.com/2026/02/07/we-mourn-our-craft/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;No comment on this one.
    </content>
    <updated>2026-02-07T16:53:07Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfahxa7mgu58zktlfl9gaxq8xuzjcnrs52jdrttfwllxdzkqkzuyqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kc5wxle</id>
    
      <title type="html">I&amp;#39;m honestly sorry if you felt offended, but yes I was trying ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfahxa7mgu58zktlfl9gaxq8xuzjcnrs52jdrttfwllxdzkqkzuyqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kc5wxle" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs277x8w04q5fu9vm2axjclelhh2mpkx7r2j7cefmmft648anmaymc3m9m7c&#39;&gt;nevent1q…9m7c&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I&amp;#39;m honestly sorry if you felt offended, but yes I was trying to be a bit provocative. Believe me, it pains me a bit too – I&amp;#39;ve seen the Hayao Miyazaki video and I strongly identified with him and against the boors who take his work without understanding the artistry that went into it. But with coding at least, I suppose I&amp;#39;ve placed my bet on where I think things will end up, regardless of which side I identify with more. I guess that was my point.
    </content>
    <updated>2026-01-24T23:47:24Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfesyqas9v40rhtr5kamxxdt7ywq5xzu3f636304g86759k0wch5czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kdr789x</id>
    
      <title type="html">New post: &amp;#34;AI tribalism&amp;#34; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfesyqas9v40rhtr5kamxxdt7ywq5xzu3f636304g86759k0wch5czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kdr789x" />
    <content type="html">
      New post: &amp;#34;AI tribalism&amp;#34; &lt;a href=&#34;https://nolanlawson.com/2026/01/24/ai-tribalism/&#34;&gt;https://nolanlawson.com/2026/01/24/ai-tribalism/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;It must be 2026, because I&amp;#39;m still writing slightly-spicy AI takes. 😅
    </content>
    <updated>2026-01-24T21:31:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqqf8v4zm0cu4sw3tlp88g8mypfjnf4nq0m6zjqjg3dhxy2f7dpsgzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k7rzpst</id>
    
      <title type="html">How I&amp;#39;m currently coping: - Not believing the most outrageous ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqqf8v4zm0cu4sw3tlp88g8mypfjnf4nq0m6zjqjg3dhxy2f7dpsgzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k7rzpst" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgfg4wdu0ghuu0322nckjwnpqwzw9davff3308ldymx4r45c4m8eg0exct9&#39;&gt;nevent1q…xct9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;How I&amp;#39;m currently coping:&lt;br/&gt;&lt;br/&gt;- Not believing the most outrageous hype, because a lot of the early experiments are still laughably bad&lt;br/&gt;- But not dismissing it out-of-hand either because I can see the vision&lt;br/&gt;- Doing non-AI open-source coding on the weekends to try to keep my skills sharp&lt;br/&gt;- Trying to figure out which high-level skills are also worth cultivating (taste, architecture, systems thinking, etc.)
    </content>
    <updated>2026-01-18T19:35:51Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgfg4wdu0ghuu0322nckjwnpqwzw9davff3308ldymx4r45c4m8egzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24km4zf0t</id>
    
      <title type="html">I&amp;#39;ve run a very poor man&amp;#39;s version of this myself, where ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgfg4wdu0ghuu0322nckjwnpqwzw9davff3308ldymx4r45c4m8egzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24km4zf0t" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfyjek0am99xhmwfqz0hp7vzgrh3wvzmu48jlm4h4fvp4pkw8jwugnkn843&#39;&gt;nevent1q…n843&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve run a very poor man&amp;#39;s version of this myself, where Claude writes the code, Cursor reviews it, and then Claude writes the bugfixes. It&amp;#39;s horribly inefficient! But the most inefficient part is the wet squishy human in the middle. Automating that part is not complicated.&lt;br/&gt;&lt;br/&gt;And even if it&amp;#39;s still slow and token-inefficient, and even if the cost of tokens goes up, it&amp;#39;s probably less than a dev&amp;#39;s salary. So yeah I&amp;#39;m scared.
    </content>
    <updated>2026-01-18T19:33:16Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfyjek0am99xhmwfqz0hp7vzgrh3wvzmu48jlm4h4fvp4pkw8jwugzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kj5plac</id>
    
      <title type="html">If you picture someone trying to automate an entire software ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfyjek0am99xhmwfqz0hp7vzgrh3wvzmu48jlm4h4fvp4pkw8jwugzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kj5plac" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9ugh66z046lam0r9fctgjlgx742qfkxu45mvg0yt22cznzm25j9c5ja02z&#39;&gt;nevent1q…a02z&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;If you picture someone trying to automate an entire software company, you&amp;#39;re not far off. If Steve Yegge had chosen less dystopian names and something more like &amp;#34;PM,&amp;#34; &amp;#34;IC,&amp;#34; &amp;#34;director,&amp;#34; etc then it would look a lot more familiar.&lt;br/&gt;&lt;br/&gt;Does it actually work? Unclear. Could it get better? Maybe! All I know is I&amp;#39;m scared. If you understand how the individual puzzle pieces work then it&amp;#39;s not rocket science to put them together.
    </content>
    <updated>2026-01-18T19:26:10Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9ugh66z046lam0r9fctgjlgx742qfkxu45mvg0yt22cznzm25j9czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k5t3szs</id>
    
      <title type="html">RE: https://hachyderm.io/@mitsuhiko/115915668396176076 I wrote a ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9ugh66z046lam0r9fctgjlgx742qfkxu45mvg0yt22cznzm25j9czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k5t3szs" />
    <content type="html">
      RE: &lt;a href=&#34;https://hachyderm.io/@mitsuhiko/115915668396176076&#34;&gt;https://hachyderm.io/@mitsuhiko/115915668396176076&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I wrote a longer reply on Lobsters, but I think understanding the thinking behind things like Ralph loops and Gas Town helps make some sense of this madness: &lt;a href=&#34;https://lobste.rs/s/0pxvyd/agent_psychosis_are_we_going_insane#c_agw4oe&#34;&gt;https://lobste.rs/s/0pxvyd/agent_psychosis_are_we_going_insane#c_agw4oe&lt;/a&gt;
    </content>
    <updated>2026-01-18T19:21:36Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs02y3f4yfrzqah25zr6p5u52kvldut0wccn2ux6m9hlu9kxf2m26szyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kwrwkty</id>
    
      <title type="html">Yep looks like a WordPress bug; sadly I&amp;#39;m on WordPress.com so ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs02y3f4yfrzqah25zr6p5u52kvldut0wccn2ux6m9hlu9kxf2m26szyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kwrwkty" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsd3v0w84s7afcslggrm0klw87t6sp8d9krwzyz80qzqp77j0vjkgg83zz2y&#39;&gt;nevent1q…zz2y&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Yep looks like a WordPress bug; sadly I&amp;#39;m on WordPress.com so can&amp;#39;t fix it. 🙄
    </content>
    <updated>2025-12-15T15:49:52Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfs5mhmmtdkx3vqf90jm02pxgdk2ym6uywj2zccmf4hj0a3jc6ahszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kr0vpnz</id>
    
      <title type="html">New post: &amp;#34;The &amp;lt;time&amp;gt; element should actually do ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfs5mhmmtdkx3vqf90jm02pxgdk2ym6uywj2zccmf4hj0a3jc6ahszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kr0vpnz" />
    <content type="html">
      New post: &amp;#34;The &amp;lt;time&amp;gt; element should actually do something&amp;#34; &lt;a href=&#34;https://nolanlawson.com/2025/12/14/the-time-element-should-actually-do-something/&#34;&gt;https://nolanlawson.com/2025/12/14/the-time-element-should-actually-do-something/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;A modest proposal for a forgotten HTML element.
    </content>
    <updated>2025-12-14T20:47:42Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0pkssg6mmrp5j4wgyj9gt2c7rpq5p7cg76qht2wytrv6z7mrk8gqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24ke9yuz4</id>
    
      <title type="html">FWIW I avidly followed your links and really appreciated the ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0pkssg6mmrp5j4wgyj9gt2c7rpq5p7cg76qht2wytrv6z7mrk8gqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24ke9yuz4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrd8uas6xkmssvk5wgdtju0cm92zm0m6peykagnw472p8mstqvahc78xa72&#39;&gt;nevent1q…xa72&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;FWIW I avidly followed your links and really appreciated the curation. But I understand why you wouldn&amp;#39;t do it anymore.&lt;br/&gt;&lt;br/&gt;The quality of tech writing on the internet does seem to have gone down lately but I feel like replies have always been kinda bad. E.g. I noticed at some point that the same people seem to comment on every HN post, so some people just love replying apparently.
    </content>
    <updated>2025-12-13T16:09:54Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsq6vjgxk5yg3ck9unnc8020yhrvzve6t6nz0hmdpyn9d3u7zj25vszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kam4a3j</id>
    
      <title type="html">&amp;#34;The top-line takeaway is chilling: sites that are explicitly ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsq6vjgxk5yg3ck9unnc8020yhrvzve6t6nz0hmdpyn9d3u7zj25vszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kam4a3j" />
    <content type="html">
      &amp;#34;The top-line takeaway is chilling: sites that are explicitly designed as SPAs, and which have intentionally opted in to metrics measurement around soft-navigations are seeing one (1) soft-navigation for every full page load on average.&amp;#34;&lt;br/&gt;&lt;br/&gt;Amazing research and analysis as always from &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1pf4zt8xadv25njtqjx4qztc9227ufgm0ykz7lllqt8htydferhwqw9pgxq&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Alex Russell&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1pf4…pgxq&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;a href=&#34;https://infrequently.org/2025/11/performance-inequality-gap-2026/&#34;&gt;https://infrequently.org/2025/11/performance-inequality-gap-2026/&lt;/a&gt;
    </content>
    <updated>2025-11-27T16:54:42Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdnn0ggwvyefw00lfdsvpw3wea6pjuylqm9j2grwqvxl88llgw8mqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24knl3s4y</id>
    
      <title type="html">New blog post: &amp;#34;The fate of &amp;#39;small&amp;#39; open source&amp;#34; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdnn0ggwvyefw00lfdsvpw3wea6pjuylqm9j2grwqvxl88llgw8mqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24knl3s4y" />
    <content type="html">
      New blog post: &amp;#34;The fate of &amp;#39;small&amp;#39; open source&amp;#34; &lt;a href=&#34;https://nolanlawson.com/2025/11/16/the-fate-of-small-open-source/&#34;&gt;https://nolanlawson.com/2025/11/16/the-fate-of-small-open-source/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Some meandering thoughts on writing open source when LLMs can do a lot of the same thing. I don&amp;#39;t have all the answers, but I&amp;#39;m trying to ask the right questions anyway.
    </content>
    <updated>2025-11-16T19:13:16Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxcasvzfuxjafj2qcmaugvy2nlswnqyekrsq4erxyp9wxspze9y5czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k4qp6pv</id>
    
      <title type="html">&amp;#34;Death of the Browser&amp;#34; by @npub1cf0…evxz ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxcasvzfuxjafj2qcmaugvy2nlswnqyekrsq4erxyp9wxspze9y5czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k4qp6pv" />
    <content type="html">
      &amp;#34;Death of the Browser&amp;#34; by &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1cf0fvyh80zc8crxtqf2ncvzvn7e2pr7x94984a0ztun5a7f9sguqxxevxz&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Rachel Lee Nabors&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1cf0…evxz&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;a href=&#34;https://youtu.be/1bLX1INicBM&#34;&gt;https://youtu.be/1bLX1INicBM&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Excellent and slightly upsetting talk; gave me a lot to think on. It definitely feels like something big is changing in the browsers/web space, and I&amp;#39;m a bit afraid of where it takes us but trying to be optimistic.
    </content>
    <updated>2025-11-09T23:41:14Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs886gwgqqfr5hvyqyf95uw4vvhmz5s70hc5duawwyt7yanv6rcm2qzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kt98uu2</id>
    
      <title type="html">&amp;#34;I Built the Same App 10 Times: Evaluating Frameworks for ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs886gwgqqfr5hvyqyf95uw4vvhmz5s70hc5duawwyt7yanv6rcm2qzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kt98uu2" />
    <content type="html">
      &amp;#34;I Built the Same App 10 Times: Evaluating Frameworks for Mobile Performance&amp;#34; by Loren Stewart &lt;a href=&#34;https://www.lorenstew.art/blog/10-kanban-boards&#34;&gt;https://www.lorenstew.art/blog/10-kanban-boards&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;One of the best web perf analyses I&amp;#39;ve read in a long while. Can&amp;#39;t say the results are surprising, but it&amp;#39;s great to see it all laid out.
    </content>
    <updated>2025-10-31T05:08:06Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9g04eqqypc34desvds2m6mvyu08etc2emd073x46654amsek9hrszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kfdexhu</id>
    
      <title type="html">I&amp;#39;m always so relieved when I press the back button on a ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9g04eqqypc34desvds2m6mvyu08etc2emd073x46654amsek9hrszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kfdexhu" />
    <content type="html">
      I&amp;#39;m always so relieved when I press the back button on a website and it actually shows me the content I was just looking at, as opposed to slowly and jankily reloading the page, then auto-scrolling to the wrong spot.&lt;br/&gt;&lt;br/&gt;Still waiting for webdevs to notice that the latter is a dead giveaway that your site is an SPA.
    </content>
    <updated>2025-09-06T15:35:55Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswetnwvthxh72sev25ckc2cgvzlghmf9ug8hu4xu6tfz83ru39cagzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k0pkjad</id>
    
      <title type="html">Coming from the browser world to Node.js, it amazes me how ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswetnwvthxh72sev25ckc2cgvzlghmf9ug8hu4xu6tfz83ru39cagzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k0pkjad" />
    <content type="html">
      Coming from the browser world to Node.js, it amazes me how primitive the tooling is for performance analysis. In the browser, you can click one button in DevTools and see every thread (including Workers), IndexedDB, networking, and user timing all laid out in one timeline. Whereas in Node, you get one thread, and good luck figuring out what&amp;#39;s going on with your database or filesystem calls. Feels like a lost opportunity, given that Node can talk to the same DevTools APIs.
    </content>
    <updated>2025-08-26T13:16:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs02jsr9rnf07ar98asg3c2fsyrzm0wm0z8l4y6ncvhszdhl5kna4czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k3r6tz8</id>
    
      <title type="html">&amp;#34;The time is right for a DOM templating API&amp;#34; by ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs02jsr9rnf07ar98asg3c2fsyrzm0wm0z8l4y6ncvhszdhl5kna4czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k3r6tz8" />
    <content type="html">
      &amp;#34;The time is right for a DOM templating API&amp;#34; by &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1rm03grxfckpznkmvy7cwhkqsh74qa3cgxd5hlc6s079le2xhs4xqzw7psc&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Justin Fagnani&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1rm0…7psc&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;a href=&#34;https://justinfagnani.com/2025/06/26/the-time-is-right-for-a-dom-templating-api/&#34;&gt;https://justinfagnani.com/2025/06/26/the-time-is-right-for-a-dom-templating-api/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I agree. The major frameworks (outside React anyway) have converged on surprisingly similar ideas. It&amp;#39;s a good time to just put JavaScript frameworks into the browser.
    </content>
    <updated>2025-06-26T14:59:45Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqspax5392a4ejrdyrj0vp6p2mkys4ywzj264q4sdf9szc7yl8pmtxszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kuszz67</id>
    
      <title type="html">&amp;#34;The Copilot Delusion&amp;#34; by Jj ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqspax5392a4ejrdyrj0vp6p2mkys4ywzj264q4sdf9szc7yl8pmtxszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kuszz67" />
    <content type="html">
      &amp;#34;The Copilot Delusion&amp;#34; by Jj &lt;a href=&#34;https://deplet.ing/the-copilot-delusion/&#34;&gt;https://deplet.ing/the-copilot-delusion/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&amp;#34;You’re not working with a copilot. You’re playing Russian roulette with a loaded dependency graph.&amp;#34;&lt;br/&gt;&lt;br/&gt;Infinitely quotable. I wish I could write like this.
    </content>
    <updated>2025-05-23T00:54:31Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvty9zqdawny4vvkwac9rhhazdk024ww423u3qwwfg58z8feffgvqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kxws6fk</id>
    
      <title type="html">Every time I look at the new CSS APIs coming down the pike, I get ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvty9zqdawny4vvkwac9rhhazdk024ww423u3qwwfg58z8feffgvqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kxws6fk" />
    <content type="html">
      Every time I look at the new CSS APIs coming down the pike, I get excited about all the dumb code I can delete.&lt;br/&gt;&lt;br/&gt;Today&amp;#39;s unreasonable excitement comes from `field-sizing`, which aims to solve the problem of auto-expanding/auto-shrinking &amp;lt;textarea&amp;gt;s. Can&amp;#39;t come soon enough! &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Web/CSS/field-sizing&#34;&gt;https://developer.mozilla.org/en-US/docs/Web/CSS/field-sizing&lt;/a&gt;
    </content>
    <updated>2025-05-10T00:21:46Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8cqcz4q6gh8vgzhja8mcedjdm67re0ydct23kdxe49jzfrs79y5gzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kav2cpz</id>
    
      <title type="html">This is a great example of why the web rocks. Safari and Chrome ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8cqcz4q6gh8vgzhja8mcedjdm67re0ydct23kdxe49jzfrs79y5gzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kav2cpz" />
    <content type="html">
      This is a great example of why the web rocks. Safari and Chrome disagreed on the spec, so we ended up with a third, better spec. This wouldn&amp;#39;t happen if one company controlled everything: &lt;a href=&#34;https://webkit.org/blog/16587/item-flow-part-1-a-new-unified-concept-for-layout/&#34;&gt;https://webkit.org/blog/16587/item-flow-part-1-a-new-unified-concept-for-layout/&lt;/a&gt;
    </content>
    <updated>2025-03-29T15:31:12Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst04ez6hdrcz9nq8pac785gzxsyj706zzk4qy4wwq8as0rslaa3nqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24ka2eqvn</id>
    
      <title type="html">Even with web performance, I saw a thread recently of someone ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst04ez6hdrcz9nq8pac785gzxsyj706zzk4qy4wwq8as0rslaa3nqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24ka2eqvn" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyh6944vn7486k3s3gmkcpsnnpww9wzrvwef9r549zs9gr9t58cmqe8jyju&#39;&gt;nevent1q…jyju&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Even with web performance, I saw a thread recently of someone working on an AI agent to analyze perf traces and provide recommendations. It&amp;#39;s deeply scary tbh
    </content>
    <updated>2025-03-14T15:20:33Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs96tta9hs54kjlrzkwtz0prmc7r6vv6pwwe3dy2nmfk3tzyfjdlkqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k30whrn</id>
    
      <title type="html">The challenge for me personally is that I feel like abstaining ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs96tta9hs54kjlrzkwtz0prmc7r6vv6pwwe3dy2nmfk3tzyfjdlkqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k30whrn" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf5n9jszaw70gs0ywcv8pa5pe2w503vyxc6rjhz032v2etwu4l5ksxct492&#39;&gt;nevent1q…t492&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The challenge for me personally is that I feel like abstaining from LLMs is not necessarily going to stop this tidal wave from happening anyway. For the past couple years I&amp;#39;ve been one of the few people in my org (loudly) decrying LLMs and refusing to use them in my work, and yet I still look outside and see the tsunami approaching.
    </content>
    <updated>2025-03-14T14:48:15Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsf5n9jszaw70gs0ywcv8pa5pe2w503vyxc6rjhz032v2etwu4l5kszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kn8jdc7</id>
    
      <title type="html">This post from @npub1fdr…lvhs captures some of the dread ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsf5n9jszaw70gs0ywcv8pa5pe2w503vyxc6rjhz032v2etwu4l5kszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kn8jdc7" />
    <content type="html">
      This post from &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1fdrpydz4n2dpgpy5xhsa6rjg8ytggn82mt0addw6sf93272nhhnqsjlvhs&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Cory Doctorow&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1fdr…lvhs&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; captures some of the dread dredged up by my recent thread on using LLMs for coding: &lt;a href=&#34;https://pluralistic.net/2025/03/13/electronic-whipping/&#34;&gt;https://pluralistic.net/2025/03/13/electronic-whipping/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;#34;Code reviewer&amp;#34; is a much less fulfilling job than &amp;#34;programmer.&amp;#34; Code reviewers are also easier to replace than programmers. A code reviewer is a reverse-centaur, a servant to the machine. Every time you hear &amp;#34;AI-assisted programmer,&amp;#34; you should substitute &amp;#34;programmer-assisted AI.&amp;#34;
    </content>
    <updated>2025-03-14T14:44:45Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqzkwgw9drag64kp7wq4dz7els2m2ce6keld6atdy9zrwsgucqe2qzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kfkxdyy</id>
    
      <title type="html">These are good points, thank you. Maybe that&amp;#39;s the heart of ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqzkwgw9drag64kp7wq4dz7els2m2ce6keld6atdy9zrwsgucqe2qzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kfkxdyy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz8xgu5mqzq7k4dwfxw6hxl2gfvvpx8mfsq7zg30g8z8u00fhx0rq793gth&#39;&gt;nevent1q…3gth&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;These are good points, thank you. Maybe that&amp;#39;s the heart of my inner conflict: these tools &amp;#34;work&amp;#34; (for some definition of &amp;#34;work&amp;#34;) but they are inherently dehumanizing and insulting. They make a mockery of my ~20 years of hard-won expertise.&lt;br/&gt;&lt;br/&gt;Ezra Klein in his podcast once said that the core &amp;#34;message&amp;#34; of GenAI (in the McLuhan sense) is: &amp;#34;You are derivative.&amp;#34; I totally agree with that.
    </content>
    <updated>2025-03-09T14:16:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs082advcvzysz3y0cellr6y9zm85qz77uearcv2kjns4lewvnrxgqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kwwttp0</id>
    
      <title type="html">I&amp;#39;m familiar with all the arguments against GenAI, and ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs082advcvzysz3y0cellr6y9zm85qz77uearcv2kjns4lewvnrxgqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kwwttp0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxp9sz3y55q8cc4ywf68edughz4dql7cd67ev2suk7lx0n92p5v3cj6q4my&#39;&gt;nevent1q…q4my&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I&amp;#39;m familiar with all the arguments against GenAI, and I&amp;#39;m a big fan of authors like &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1hr7087sk4yxl25nmx9c42p0zgk5kyfyvar5xeklezs23hjuenr7qr3jxyc&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Baldur Bjarnason&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1hr7…jxyc&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; whose excellent book, The Intelligence Illusion, I&amp;#39;ve read twice. It&amp;#39;s highly recommended. &lt;a href=&#34;https://illusion.baldurbjarnason.com/&#34;&gt;https://illusion.baldurbjarnason.com/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I have a degree in computational linguistics, and that&amp;#39;s partly why I was so skeptical of these tools for so long. I still am! But more and more I felt like the world was moving on without me. To this day I feel deeply conflicted.
    </content>
    <updated>2025-03-08T23:29:14Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxp9sz3y55q8cc4ywf68edughz4dql7cd67ev2suk7lx0n92p5v3czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kdp86r2</id>
    
      <title type="html">Of course, this is a choice: I *could* choose not to use LLMs. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxp9sz3y55q8cc4ywf68edughz4dql7cd67ev2suk7lx0n92p5v3czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kdp86r2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqc2crrnyd4d42a3gd74gm2gq7f0hcz97lvn6f007veac09fjynpcfqqd52&#39;&gt;nevent1q…qd52&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Of course, this is a choice: I *could* choose not to use LLMs. When I ride my bike, I don&amp;#39;t bemoan the fact that a car could do it faster – the goal is exercise.&lt;br/&gt;&lt;br/&gt;But nobody&amp;#39;s paying me to ride my bike. If I were a delivery driver, it&amp;#39;d be pretty unprofessional to show up an hour late with a cold pizza just because I like biking.&lt;br/&gt;&lt;br/&gt;With LLMs, it almost feels like malpractice *not* to use them at this point. I can&amp;#39;t justify taking ~3x longer to ship a feature just because I don&amp;#39;t enjoy using them.
    </content>
    <updated>2025-03-08T23:22:59Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqc2crrnyd4d42a3gd74gm2gq7f0hcz97lvn6f007veac09fjynpczyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k2rtprj</id>
    
      <title type="html">The other issue of course is that I&amp;#39;m not learning as much ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqc2crrnyd4d42a3gd74gm2gq7f0hcz97lvn6f007veac09fjynpczyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k2rtprj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8dc0e6jnd0dyc4lwcaurdtgfpyzf2ucs5rjc3zw6z9ga96zk809qg9pzhs&#39;&gt;nevent1q…pzhs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The other issue of course is that I&amp;#39;m not learning as much when I use LLMs. Even if it&amp;#39;s an iterative, back-and-forth process, the tool is doing ~80% of the thinking for me.&lt;br/&gt;&lt;br/&gt;It feels like I either need to spend more time learning outside of coding, or just accept at some level that I&amp;#39;m &amp;#34;cashing in my chips&amp;#34; and relying on ~20 years of actual coding experience.&lt;br/&gt;&lt;br/&gt;Either way, I feel less excited by these tools than defeated. They&amp;#39;re incredible magic wands, but I kind of liked doing my own sorcery?
    </content>
    <updated>2025-03-08T23:20:17Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8dc0e6jnd0dyc4lwcaurdtgfpyzf2ucs5rjc3zw6z9ga96zk809qzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kzh244q</id>
    
      <title type="html">I held out for a long time, but I finally started using LLMs in ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8dc0e6jnd0dyc4lwcaurdtgfpyzf2ucs5rjc3zw6z9ga96zk809qzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kzh244q" />
    <content type="html">
      I held out for a long time, but I finally started using LLMs in my regular coding work. I couldn&amp;#39;t deny the utility of tools like Claude any longer, when it can do in 2 minutes what would take me an hour.&lt;br/&gt;&lt;br/&gt;There are problems: hallucinations, verbosity, bad/unperformant/inaccessible code. I have to correct it a lot. That&amp;#39;s OK.&lt;br/&gt;&lt;br/&gt;The main problem I find is that it&amp;#39;s sucked a lot of the fun out of coding for me. It&amp;#39;s like I&amp;#39;ve been pushed into a management role when I just wanted to stay a coder.
    </content>
    <updated>2025-03-08T23:19:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2ye2a0xr28e2ncrrkrv75hu240gfg7ktls2gd3n2cgqvnn4vhvwqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k3yt80r</id>
    
      <title type="html">My response to a lot of issues these days on emoji-picker-element ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2ye2a0xr28e2ncrrkrv75hu240gfg7ktls2gd3n2cgqvnn4vhvwqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k3yt80r" />
    <content type="html">
      My response to a lot of issues these days on emoji-picker-element is &amp;#34;please use patch-package&amp;#34;: &lt;a href=&#34;https://www.npmjs.com/package/patch-package&#34;&gt;https://www.npmjs.com/package/patch-package&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;When given the choice between 1) add 50 different configuration options to satisfy 50 niche use cases, or 2) have 50 people apply patches to their own codebase, I&amp;#39;m strongly in favor of the latter.
    </content>
    <updated>2025-03-08T18:13:39Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrauxfe7q4mjhyyaqta7dcusz5fwcw3ls66ahajyytlng32mjl0nczyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24km7zghj</id>
    
      <title type="html">&amp;#34;Offlinin&amp;#39; Aint Easy&amp;#34; by @npub1t0w…zgs2 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrauxfe7q4mjhyyaqta7dcusz5fwcw3ls66ahajyytlng32mjl0nczyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24km7zghj" />
    <content type="html">
      &amp;#34;Offlinin&amp;#39; Aint Easy&amp;#34; by &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1t0w0wnjvtlje6dw94tl2yl7psq3heghsq2xfxvccv9dy35f7ps4qktzgs2&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Chris Coyier&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1t0w…zgs2&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;a href=&#34;https://blog.codepen.io/2025/02/03/chris-corner-offlinin-aint-easy/&#34;&gt;https://blog.codepen.io/2025/02/03/chris-corner-offlinin-aint-easy/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Just to further illustrate how complicated Service Workers can be, the linked minimal examples are missing nav preloads, which means it can actually make your site _slower_ for non-cached requests: &lt;a href=&#34;https://web.dev/blog/navigation-preload&#34;&gt;https://web.dev/blog/navigation-preload&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Service Workers are great, but I think they&amp;#39;re still too low-level a lot of the time. Would be great to have a higher-level, more ergonomic API.
    </content>
    <updated>2025-02-03T20:35:14Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2k8887h3ypvyvr8p4lnw7n2gxcz5v89s7dc4ykhfnlf2kkgn4l9czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kd06rc3</id>
    
      <title type="html">#LineageOS is pretty incredible. I have an 8-year-old OnePlus 5T ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2k8887h3ypvyvr8p4lnw7n2gxcz5v89s7dc4ykhfnlf2kkgn4l9czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kd06rc3" />
    <content type="html">
      #LineageOS is pretty incredible. I have an 8-year-old OnePlus 5T rocking the latest version of Android thanks to LineageOS 22.1. The battery still lasts more than a day, and the phone only cost me $500 (in 2017 dollars). Pretty great value for money.
    </content>
    <updated>2025-01-14T16:22:46Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0eh06w3r9rc06z3qufh90rglxuh27tyuwl0psk0pve9gwykhrmzgzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k27t3yq</id>
    
      <title type="html">This is about selector performance. Selectors have a cost during ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0eh06w3r9rc06z3qufh90rglxuh27tyuwl0psk0pve9gwykhrmzgzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k27t3yq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswleyqdkpqzlcs5vc0n5svsj60wxgrnnlx45y6asg4fgl3kpxqljclyvxrz&#39;&gt;nevent1q…vxrz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;This is about selector performance. Selectors have a cost during style calculation, and browsers have tons of optimizations for simple class selectors (and Tailwind doesn&amp;#39;t even use descendant selectors AIUI): &lt;a href=&#34;https://nolanlawson.com/2023/01/17/my-talk-on-css-runtime-performance/&#34;&gt;https://nolanlawson.com/2023/01/17/my-talk-on-css-runtime-performance/&lt;/a&gt;
    </content>
    <updated>2024-12-28T17:18:52Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9yessxum00uc328s3xa63jzg4shjrqpt693dvyee53xephyt9nqszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kfsf2yx</id>
    
      <title type="html">I&amp;#39;m surprised that more Tailwind advocates don&amp;#39;t promote ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9yessxum00uc328s3xa63jzg4shjrqpt693dvyee53xephyt9nqszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kfsf2yx" />
    <content type="html">
      I&amp;#39;m surprised that more Tailwind advocates don&amp;#39;t promote it for its improvements to Style Calculation performance. Since it&amp;#39;s all just straight CSS classes, you&amp;#39;d expect style recalc costs to be close to zero.&lt;br/&gt;&lt;br/&gt;I took a glance at 3 sites in the Tailwind showcase (&lt;a href=&#34;https://tailwindcss.com/showcase&#34;&gt;https://tailwindcss.com/showcase&lt;/a&gt;). 1 had very low style recalc costs relative to layout costs. The other 2 had higher costs, but they were clearly coming from non-Tailwind CSS (via &amp;#34;Selector Stats&amp;#34; in DevTools).
    </content>
    <updated>2024-12-28T03:09:01Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsf9amxgh8pe7dr33cgsuq82w7ly7k4y2enlsrq84vn2695r9wv0mszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k7te8tg</id>
    
      <title type="html">New blog post: &amp;#34;Avoiding unnecessary cleanup work in ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsf9amxgh8pe7dr33cgsuq82w7ly7k4y2enlsrq84vn2695r9wv0mszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k7te8tg" />
    <content type="html">
      New blog post: &amp;#34;Avoiding unnecessary cleanup work in disconnectedCallback&amp;#34; &lt;a href=&#34;https://nolanlawson.com/2024/12/01/avoiding-unnecessary-cleanup-work-in-disconnectedcallback/&#34;&gt;https://nolanlawson.com/2024/12/01/avoiding-unnecessary-cleanup-work-in-disconnectedcallback/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;A quick #webcomponents tip, for some subtle timing issues with `disconnectedCallback`.
    </content>
    <updated>2024-12-01T18:47:58Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsph3hsmmluyfhx5pdgrzmklgme3kjer2mum867spxnqzlgezkn99szyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24ksxe853</id>
    
      <title type="html">&amp;#34;Sharing Styles with Declarative Shadow DOM&amp;#34; by Kurt ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsph3hsmmluyfhx5pdgrzmklgme3kjer2mum867spxnqzlgezkn99szyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24ksxe853" />
    <content type="html">
      &amp;#34;Sharing Styles with Declarative Shadow DOM&amp;#34; by Kurt Catti-Schmidt &lt;a href=&#34;https://youtu.be/acTFdPTTe-Y&#34;&gt;https://youtu.be/acTFdPTTe-Y&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Great breakdown of the problem and very creative solution. I&amp;#39;ve been watching this space for a while, and this is the first proposal that I don&amp;#39;t have any problems with. Excited to see where this goes!
    </content>
    <updated>2024-11-03T17:41:02Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswf7xwnhuew9hqmzhsjpy3nxfq6qr0cnsd6srfem4z3vxpa970s3czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kvnhnnw</id>
    
      <title type="html">&amp;#34;We&amp;#39;re forking Flutter. This is why.&amp;#34; by Matt Carroll ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswf7xwnhuew9hqmzhsjpy3nxfq6qr0cnsd6srfem4z3vxpa970s3czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kvnhnnw" />
    <content type="html">
      &amp;#34;We&amp;#39;re forking Flutter. This is why.&amp;#34; by Matt Carroll &lt;a href=&#34;https://flutterfoundation.dev/blog/posts/we-are-forking-flutter-this-is-why/&#34;&gt;https://flutterfoundation.dev/blog/posts/we-are-forking-flutter-this-is-why/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This is fascinating. I&amp;#39;ll be interested to see if this turns out like Node-&amp;gt;io.js (projects eventually merge), Hudson-&amp;gt;Jenkins (everyone moves to the fork), or something else.
    </content>
    <updated>2024-10-29T02:18:55Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8yl4n92zm68lv4p8c9308cw3d50jmr43699jn4nle052v0vehpqgzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kgqwjhn</id>
    
      <title type="html">New post: &amp;#39;Why I’m skeptical of rewriting JavaScript tools ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8yl4n92zm68lv4p8c9308cw3d50jmr43699jn4nle052v0vehpqgzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kgqwjhn" />
    <content type="html">
      New post: &amp;#39;Why I’m skeptical of rewriting JavaScript tools in &amp;#34;faster&amp;#34; languages&amp;#39; &lt;a href=&#34;https://nolanlawson.com/2024/10/20/why-im-skeptical-of-rewriting-javascript-tools-in-faster-languages/&#34;&gt;https://nolanlawson.com/2024/10/20/why-im-skeptical-of-rewriting-javascript-tools-in-faster-languages/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Some thoughts that sprang from a recent Mastodon thread: &lt;a href=&#34;https://toot.cafe/@nolan/113340900722953634&#34;&gt;https://toot.cafe/@nolan/113340900722953634&lt;/a&gt;
    </content>
    <updated>2024-10-20T21:20:29Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswsdxvcp43934qxxl54a3hd85mj0qm4awtcd4e94eeg6nvj34jw2gzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k8j2cqr</id>
    
      <title type="html">Every time I mess around with sysadmin stuff, I&amp;#39;m always ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswsdxvcp43934qxxl54a3hd85mj0qm4awtcd4e94eeg6nvj34jw2gzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k8j2cqr" />
    <content type="html">
      Every time I mess around with sysadmin stuff, I&amp;#39;m always flummoxed by dumb things like &amp;#34;what is the difference between /usr/bin and /usr/local/bin, what the heck is an LD_LIBRARY_PATH, should I use sudo for this build tool or not,&amp;#34; etc.). I guess this is how backend devs feel when they have to tweak a Webpack config.
    </content>
    <updated>2024-10-20T17:17:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0xzpu6hae02hw33jcxgtudl4sfr2jlafqs6lupc7rg8ffzz7mjjqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kn7pmvm</id>
    
      <title type="html">Another amusing thing to me: if the Chrome team had never ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0xzpu6hae02hw33jcxgtudl4sfr2jlafqs6lupc7rg8ffzz7mjjqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kn7pmvm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrny5kknmfz7ur5r9ex63x4mjlh565n30pydnrklgmagv4uqqpcls29fjqq&#39;&gt;nevent1q…fjqq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Another amusing thing to me: if the Chrome team had never documented these improvements (Back-Forward Cache, Paint Holding, etc.), I think these would have been &amp;#34;discovered&amp;#34; naturally by web developers, probably a lot later. Many of these things already existed in non-Chrome browsers and weren&amp;#39;t widely known; Chrome just broadcasted it when they did the work (good on them!). Same goes for things like the JavaScript bytecode cache. &lt;a href=&#34;https://v8.dev/blog/code-caching-for-devs&#34;&gt;https://v8.dev/blog/code-caching-for-devs&lt;/a&gt;
    </content>
    <updated>2024-10-20T16:10:22Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrny5kknmfz7ur5r9ex63x4mjlh565n30pydnrklgmagv4uqqpclszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k2jzg0l</id>
    
      <title type="html">Accompanying article: https://htmx.org/essays/you-cant/ Besides ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrny5kknmfz7ur5r9ex63x4mjlh565n30pydnrklgmagv4uqqpclszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k2jzg0l" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyxl43zrr7mrcdvpdfa7lz6tw37xz7qyq80lwp568s2jxqdl6xdwssqj878&#39;&gt;nevent1q…j878&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Accompanying article: &lt;a href=&#34;https://htmx.org/essays/you-cant/&#34;&gt;https://htmx.org/essays/you-cant/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Besides the Back-Forward Cache, one thing I wish the article mentioned is that you&amp;#39;re really writing a lot less code with MPAs. Or at least, you&amp;#39;re sending a lot less code to the client. There are so many fiddly bits you have to get right with SPA navigations (although the new Navigation API helps), and you just don&amp;#39;t need those if you do a full navigation.&lt;br/&gt;&lt;br/&gt;SPAs still have their place, but the underlying browser tech has really changed!
    </content>
    <updated>2024-10-20T16:08:15Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyxl43zrr7mrcdvpdfa7lz6tw37xz7qyq80lwp568s2jxqdl6xdwszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kmas6eu</id>
    
      <title type="html">&amp;#34;Breaking free from SPA dominance with Anthony Alaribe&amp;#34; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyxl43zrr7mrcdvpdfa7lz6tw37xz7qyq80lwp568s2jxqdl6xdwszyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kmas6eu" />
    <content type="html">
      &amp;#34;Breaking free from SPA dominance with Anthony Alaribe&amp;#34; &lt;a href=&#34;https://podrocket.logrocket.com/breaking-free-from-spa-dominance-anthony-alaribe&#34;&gt;https://podrocket.logrocket.com/breaking-free-from-spa-dominance-anthony-alaribe&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Great interview. Between Service Worker, Speculation Rules, View Transitions, Paint Holding, and the Back-Forward cache, there are just less and less reasons to write an SPA these days.
    </content>
    <updated>2024-10-20T16:05:22Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvs6sze8hp8pm5hsxk8vdchhrqwxw2z8zhtty8qjxw0xyqadwqssqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kts4ml9</id>
    
      <title type="html">&amp;#34;The IPv6 Transition&amp;#34; by Geoff Huston ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvs6sze8hp8pm5hsxk8vdchhrqwxw2z8zhtty8qjxw0xyqadwqssqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kts4ml9" />
    <content type="html">
      &amp;#34;The IPv6 Transition&amp;#34; by Geoff Huston &lt;a href=&#34;https://www.potaroo.net/ispcol/2024-10/ipv6-transition.html&#34;&gt;https://www.potaroo.net/ispcol/2024-10/ipv6-transition.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&amp;#34;I suspect that the dual stack world we’re in is a world we will be stuck in for quite some time. There seems to be no appetite to resolve this situation by completing the transition any time soon, and absolutely no desire to back out and revert to a IPv4-only network.&amp;#34;
    </content>
    <updated>2024-10-20T05:41:17Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8nxzerh8sq427s7xgp9qwm6nyct9zxm6s5elkmzwn7zansa07w5qzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kquygqt</id>
    
      <title type="html">&amp;#34;An Introduction to Shared Compression Dictionaries&amp;#34; by ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8nxzerh8sq427s7xgp9qwm6nyct9zxm6s5elkmzwn7zansa07w5qzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kquygqt" />
    <content type="html">
      &amp;#34;An Introduction to Shared Compression Dictionaries&amp;#34; by Anna Monus &lt;a href=&#34;https://www.debugbear.com/blog/shared-compression-dictionaries&#34;&gt;https://www.debugbear.com/blog/shared-compression-dictionaries&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Really feels like a once-in-a-generation kind of performance improvement. Hard to think of anything else of the same magnitude in recent memory.
    </content>
    <updated>2024-10-15T02:45:25Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs00rmhykev58dqktxgmrmhvjq085hxxjl0mvkjk28mnsyzw4wpj5czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24klaea9f</id>
    
      <title type="html">New post: &amp;#34;The greatness and limitations of the ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs00rmhykev58dqktxgmrmhvjq085hxxjl0mvkjk28mnsyzw4wpj5czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24klaea9f" />
    <content type="html">
      New post: &amp;#34;The greatness and limitations of the js-framework-benchmark&amp;#34; &lt;a href=&#34;https://nolanlawson.com/2024/10/13/the-greatness-and-limitations-of-the-js-framework-benchmark/&#34;&gt;https://nolanlawson.com/2024/10/13/the-greatness-and-limitations-of-the-js-framework-benchmark/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;In which I discuss some of the lesser-known secrets of this benchmark, which is frequently cited when comparing JavaScript frameworks.
    </content>
    <updated>2024-10-13T19:33:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2gcw3thq7fgl30g53czhzvaycdcuesepz5rlxxh0f7r7xcy8qc3qzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kq5w2gm</id>
    
      <title type="html">I don&amp;#39;t understand how anyone can think that the current Node ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2gcw3thq7fgl30g53czhzvaycdcuesepz5rlxxh0f7r7xcy8qc3qzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kq5w2gm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2lwqpw67v933q03xuwhntfnxy09c39sc2504gfc2klqrewfw9uqqx3k6t8&#39;&gt;nevent1q…k6t8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t understand how anyone can think that the current Node dependency roller coaster is remotely normal. If you have any reasonable number of dependencies (TypeScript, Rollup, ESLint, etc), you are broken at least every other week.&lt;br/&gt;&lt;br/&gt;These tools are supposed to make us more productive? I think? So why am I spending a bunch of time reading some inscrutable error message and hunting for some glib comment buried in a CHANGELOG.md?&lt;br/&gt;&lt;br/&gt;Lockfiles are the only thing keeping the whole house of cards up.
    </content>
    <updated>2024-10-11T01:39:41Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2lwqpw67v933q03xuwhntfnxy09c39sc2504gfc2klqrewfw9uqqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kzxxnlm</id>
    
      <title type="html">Updating my Node dependencies after 2 months: &amp;#34;Ah, let&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2lwqpw67v933q03xuwhntfnxy09c39sc2504gfc2klqrewfw9uqqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kzxxnlm" />
    <content type="html">
      Updating my Node dependencies after 2 months: &amp;#34;Ah, let&amp;#39;s see what fresh horrors await&amp;#34;
    </content>
    <updated>2024-10-11T01:31:19Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszk3fkhtgljfplydts0l8qlugfhaa4ue729ecvwmz44hdh8k9rfvczyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k02hqdc</id>
    
      <title type="html">BTW I never understood the whole Liskov substitution thing until ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszk3fkhtgljfplydts0l8qlugfhaa4ue729ecvwmz44hdh8k9rfvczyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k02hqdc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsg5w4052fhkjqg2xz3jvgvtd85u9y65h4fnla55lsnfnvskjmnetq22nth2&#39;&gt;nevent1q…nth2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;BTW I never understood the whole Liskov substitution thing until this post. It&amp;#39;s not just a problem for built-ins, but also web component libraries that allow subclassing. Any change to the superclass is effectively a breaking change unless the subclass automatically gets the new behavior somehow (e.g. super.connectedCallback).
    </content>
    <updated>2024-10-09T17:20:43Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsg5w4052fhkjqg2xz3jvgvtd85u9y65h4fnla55lsnfnvskjmnetqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kj56dta</id>
    
      <title type="html">Fantastic post. My only minor quibble is that I do think the ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsg5w4052fhkjqg2xz3jvgvtd85u9y65h4fnla55lsnfnvskjmnetqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kj56dta" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq959hw0ukyal8scmwmlgutc3870ddszz2uuukrh7gyscpeapqctsjvaexr&#39;&gt;nevent1q…aexr&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Fantastic post. My only minor quibble is that I do think the React team has kept innovating – concurrent rendering and RSCs come to mind. Although I&amp;#39;m not convinced the first is a great idea (&lt;a href=&#34;https://nolanlawson.com/2022/10/22/style-performance-and-concurrent-rendering/&#34;&gt;https://nolanlawson.com/2022/10/22/style-performance-and-concurrent-rendering/&lt;/a&gt;) and the second seems to be heavily dividing the React community, I have to give them credit for having the guts to try new stuff even though they&amp;#39;re the clear market leader.
    </content>
    <updated>2024-10-09T17:10:55Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstqrccg372k2w03mq08vtveew50587rtd00tkk32da7tfcwf5934czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k95j7pd</id>
    
      <title type="html">That&amp;#39;s fair, but I&amp;#39;m not reading this as &amp;#34;let&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstqrccg372k2w03mq08vtveew50587rtd00tkk32da7tfcwf5934czyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k95j7pd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2lsdmqucw52lgcnj0pg7a689w4ffy6wsau9ns39qf2fsuw4zh5vctyawqm&#39;&gt;nevent1q…awqm&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That&amp;#39;s fair, but I&amp;#39;m not reading this as &amp;#34;let&amp;#39;s stop evolving JS,&amp;#34; I&amp;#39;m reading it as &amp;#34;let&amp;#39;s raise the bar for evolving JS in ways that tooling can already handle&amp;#34;
    </content>
    <updated>2024-10-07T07:33:21Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8vatcnv5dm03epv0yj4nlrm4z9yvavh28x9kfdf93jmqnuytn6dqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kyejayf</id>
    
      <title type="html">Honestly I don&amp;#39;t hate this. I sympathize with JS engine ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8vatcnv5dm03epv0yj4nlrm4z9yvavh28x9kfdf93jmqnuytn6dqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kyejayf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgmygty40r0995558km5dx8fq9ne8tlh2kxg3euu7yclhltspx8rgmhwc53&#39;&gt;nevent1q…wc53&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Honestly I don&amp;#39;t hate this. I sympathize with JS engine authors trying to balance security/perf with ergonomics. Given the CVE count and dumb perf bugs like &amp;#34;var is faster than const/let&amp;#34;, it seems like a losing battle.&lt;br/&gt;&lt;br/&gt;JS is already quite good, and it would be sad IMO if it became like Perl where there are 20 ways to do everything. And of course if perf/security suffer. JS0/JSSugar seem totally reasonable to me.
    </content>
    <updated>2024-10-07T07:18:18Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswf67y9ur2y42jpmz9fuu5sl3wj3m0hu0820fzuefk6r87uepnp2szyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k9pfy6r</id>
    
      <title type="html">&amp;#34;I wasted a day on CSS selector performance to make a website ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswf67y9ur2y42jpmz9fuu5sl3wj3m0hu0820fzuefk6r87uepnp2szyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k9pfy6r" />
    <content type="html">
      &amp;#34;I wasted a day on CSS selector performance to make a website load 2ms faster&amp;#34; by [@trys](&lt;a href=&#34;https://mastodon.social/@trys&#34;&gt;https://mastodon.social/@trys&lt;/a&gt; ) &lt;a href=&#34;https://www.trysmudford.com/blog/i-spent-a-day-making-the-website-go-2ms-faster/&#34;&gt;https://www.trysmudford.com/blog/i-spent-a-day-making-the-website-go-2ms-faster/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This is one of the unfortunate things about the DevTools&amp;#39; &amp;#34;selector stats.&amp;#34; It can really mislead you if you don&amp;#39;t notice the text &amp;#34;(slow)&amp;#34; which _really_ means slow.
    </content>
    <updated>2024-10-02T03:33:31Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8vk7jakp993semszt5uu0eja25yauayuv65d6rlwdgkfsqudh77gzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24krwjkrw</id>
    
      <title type="html">New blog post: &amp;#34;Web components are okay&amp;#34; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8vk7jakp993semszt5uu0eja25yauayuv65d6rlwdgkfsqudh77gzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24krwjkrw" />
    <content type="html">
      New blog post: &amp;#34;Web components are okay&amp;#34; &lt;a href=&#34;https://nolanlawson.com/2024/09/28/web-components-are-okay/&#34;&gt;https://nolanlawson.com/2024/09/28/web-components-are-okay/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Lord help me, I&amp;#39;ve entered the web components discourse. Trying to be a peacemaker though!
    </content>
    <updated>2024-09-28T23:30:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyhnz5lrkhss6k0rmhavz6k8wrvc84p9vdzj4awy0hy832al4djpqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24keygmc9</id>
    
      <title type="html">&amp;#34;Thoughts on Debugging&amp;#34; by Dave DeGraw ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyhnz5lrkhss6k0rmhavz6k8wrvc84p9vdzj4awy0hy832al4djpqzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24keygmc9" />
    <content type="html">
      &amp;#34;Thoughts on Debugging&amp;#34; by Dave DeGraw &lt;a href=&#34;https://catskull.net/thoughts-on-debugging.html&#34;&gt;https://catskull.net/thoughts-on-debugging.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I identify with this a lot. I actually enjoy debugging a lot of the time.
    </content>
    <updated>2024-09-24T06:52:51Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgrqzs8mr9444ytnx5nyry3568qnue808yplnxe8xpj0fpfmtdz8gzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k265auc</id>
    
      <title type="html">Totally randomly, I opened a PR on Tachometer to add support for ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgrqzs8mr9444ytnx5nyry3568qnue808yplnxe8xpj0fpfmtdz8gzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24k265auc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvyvk72mlkyed3678acng2zmj6udqcr76gvlqrz79yt4399dndh3suru2z5&#39;&gt;nevent1q…u2z5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Totally randomly, I opened a PR on Tachometer to add support for cross-origin isolation… need to check on why it wasn&amp;#39;t merged: &lt;a href=&#34;https://github.com/google/tachometer/pull/234&#34;&gt;https://github.com/google/tachometer/pull/234&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;For the Firefox error, I managed to fix it on Ubuntu by pointing to the snap binary: &lt;a href=&#34;https://gist.github.com/nolanlawson/c9d42d0a49130ae6922718608c921efb&#34;&gt;https://gist.github.com/nolanlawson/c9d42d0a49130ae6922718608c921efb&lt;/a&gt;
    </content>
    <updated>2024-09-09T05:35:29Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsduwfaujkh6rp4n8n927ptapzq9rt3w78n8apuqtvde7jz0w5n53qzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kaludhr</id>
    
      <title type="html">The goal of Dependabot seems to be to remind me that my Node ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsduwfaujkh6rp4n8n927ptapzq9rt3w78n8apuqtvde7jz0w5n53qzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24kaludhr" />
    <content type="html">
      The goal of Dependabot seems to be to remind me that my Node projects from ~2 years ago are utterly unmaintainable
    </content>
    <updated>2024-09-01T16:35:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0lgxu72zg4seexdj3qx70zp22r6pdkl8a9rk8tgsknt9rldh7y3gzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24ke7m3j6</id>
    
      <title type="html">New blog post: &amp;#34;Reliable JavaScript benchmarking with ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0lgxu72zg4seexdj3qx70zp22r6pdkl8a9rk8tgsknt9rldh7y3gzyqn9m9xgj0eqsyf9r09l0kcq5xrgf6qagklwvy07xx88glg3cm24ke7m3j6" />
    <content type="html">
      New blog post: &amp;#34;Reliable JavaScript benchmarking with Tachometer&amp;#34; &lt;a href=&#34;https://nolanlawson.com/2024/08/05/reliable-javascript-benchmarking-with-tachometer/&#34;&gt;https://nolanlawson.com/2024/08/05/reliable-javascript-benchmarking-with-tachometer/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve been using Tachometer for a long time, but it occurred to me I never wrote about it. So here&amp;#39;s why I like this tool for JavaScript benchmarks!
    </content>
    <updated>2024-08-05T14:42:05Z</updated>
  </entry>

</feed>