<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-03-22T16:40:42Z</updated>
  <generator>https://yabu.me</generator>

  <title>Nostr notes by Axel Rauschmayer</title>
  <author>
    <name>Axel Rauschmayer</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://yabu.me/npub10faqj7xvgmhhl42glvf9u5wqfhnafjnrjst6yx6k4227xugupvuqzardvy.rss" />
  <link href="https://yabu.me/npub10faqj7xvgmhhl42glvf9u5wqfhnafjnrjst6yx6k4227xugupvuqzardvy" />
  <id>https://yabu.me/npub10faqj7xvgmhhl42glvf9u5wqfhnafjnrjst6yx6k4227xugupvuqzardvy</id>
  <icon>https://cdn.fosstodon.org/accounts/avatars/108/197/637/416/268/369/original/779c85574e6acd63.jpg</icon>
  <logo>https://cdn.fosstodon.org/accounts/avatars/108/197/637/416/268/369/original/779c85574e6acd63.jpg</logo>




  <entry>
    <id>https://yabu.me/nevent1qqsrfx2cfmqeg3fp85prpsr3yqj6y79nmr89x6n9yakn5uvk7dztsuszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsanppfk</id>
    
      <title type="html">Interesting take on USA politics by someone who escaped a cult: ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrfx2cfmqeg3fp85prpsr3yqj6y79nmr89x6n9yakn5uvk7dztsuszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsanppfk" />
    <content type="html">
      Interesting take on USA politics by someone who escaped a cult: Many people seem to be waking up from a cult-like experience—which is a scary and extremely confusing. She suggests compassion instead of “told you so” to help them move further in the right direction.&lt;br/&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=_oyMf6YZTto&#34;&gt;https://www.youtube.com/watch?v=_oyMf6YZTto&lt;/a&gt;
    </content>
    <updated>2025-09-26T13:50:55Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsfej0tflvz6z0e6c44eyjz9xfr0dae2k2dp9l57yhsykhzz5rllhszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsqv8tla</id>
    
      <title type="html">There is a proposal to add optional type annotations to JS: ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsfej0tflvz6z0e6c44eyjz9xfr0dae2k2dp9l57yhsykhzz5rllhszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsqv8tla" />
    <content type="html">
      There is a proposal to add optional type annotations to JS: &lt;a href=&#34;https://github.com/tc39/proposal-type-annotations&#34;&gt;https://github.com/tc39/proposal-type-annotations&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;But I’m wondering: Wouldn’t be better if browsers supported type stripping (like Node.js etc. already do): It feels cleaner to me.&lt;br/&gt;&lt;br/&gt;JSPM already supports client-side type stripping (if a file has the filename extension .ts): &lt;a href=&#34;https://jspm.org/docs/cli/&#34;&gt;https://jspm.org/docs/cli/&lt;/a&gt;
    </content>
    <updated>2025-09-24T12:56:12Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2qm5nxvcuehc5s5j66dkzuqtrghya2k9rhyavlx9c3gfpfaw3h6czypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nspcqnlk</id>
    
      <title type="html">My “Learning Web Development” series is almost complete. I ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2qm5nxvcuehc5s5j66dkzuqtrghya2k9rhyavlx9c3gfpfaw3h6czypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nspcqnlk" />
    <content type="html">
      My “Learning Web Development” series is almost complete. I like how it has turned out:&lt;br/&gt;• I’m amazed by how much people need to know to do web dev (even with as few tools as possible).&lt;br/&gt;• I *think* I managed to teach everything you need to know to be productive. And relatively quickly, too.&lt;br/&gt;&lt;br/&gt;I haven’t yet gotten feedback from an actual non-programmer, though! I’d be very curious if they feel overwhelmed, challenged or relaxed by the material.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://2ality.com/2025/08/learning-web-dev-toc.html#table-of-contents&#34;&gt;https://2ality.com/2025/08/learning-web-dev-toc.html#table-of-contents&lt;/a&gt;
    </content>
    <updated>2025-09-23T17:17:09Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszktkqzn02qxpjslllww6uewkj9t5cch0es9g7mrr8hgg2zy7sawczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsjlthhs</id>
    
      <title type="html">Interestingly, there is no simple way to replicate the following ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszktkqzn02qxpjslllww6uewkj9t5cch0es9g7mrr8hgg2zy7sawczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsjlthhs" />
    <content type="html">
      Interestingly, there is no simple way to replicate the following HTML with Markdown (without using HTML tags):&lt;br/&gt;&lt;br/&gt;&amp;lt;blockquote&amp;gt;&lt;br/&gt;  &amp;lt;p&amp;gt;&lt;br/&gt;    For myself, I am an optimist — it does not seem to be much use being anything else.&lt;br/&gt;  &amp;lt;/p&amp;gt;&lt;br/&gt;&amp;lt;/blockquote&amp;gt;&lt;br/&gt;&amp;lt;div&amp;gt;&lt;br/&gt;— Winston Churchill&lt;br/&gt;&amp;lt;/div&amp;gt;
    </content>
    <updated>2025-09-21T14:32:30Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs09x7cwcqff474xsm429kqmvhn8kp44yjm8weuy4n2gffgyr4rn2szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsfphec8</id>
    
      <title type="html">2/ Optional service: Keep a backup somewhere that downloads from ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs09x7cwcqff474xsm429kqmvhn8kp44yjm8weuy4n2gffgyr4rn2szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsfphec8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszx2qcheaknjvnmrra3yuzxr5m3slp8dwlazasyng38d72au8awcq77v9n0&#39;&gt;nevent1q…v9n0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;2/ Optional service: Keep a backup somewhere that downloads from current server and can upload to a new server, should something happen. The latter works because post IDs don’t change.
    </content>
    <updated>2025-09-19T20:40:04Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszx2qcheaknjvnmrra3yuzxr5m3slp8dwlazasyng38d72au8awcqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsl7edr2</id>
    
      <title type="html">1/ Would this work with ActivityPub? Idea for making #Mastodon ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszx2qcheaknjvnmrra3yuzxr5m3slp8dwlazasyng38d72au8awcqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsl7edr2" />
    <content type="html">
      1/ Would this work with ActivityPub? Idea for making #Mastodon accounts more portable:&lt;br/&gt;&lt;br/&gt;Domain becomes user name: DNS entry specifies current server. Optional: Domain name also points to current server.&lt;br/&gt;&lt;br/&gt;All servers have universal URLs (and IDs) for posts: some-server.com/@some-user.com/021132...&lt;br/&gt;• Each server uses the DNS entry of some-user.com to determine the user’s current server and retrieves posts from there.
    </content>
    <updated>2025-09-19T20:39:57Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs8m7lrn0esvwv2sjy574vm06gmfkhvk650eks08fqywzyfmwd0p8szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsv9jpcw</id>
    
      <title type="html">In Apple’s Notes.app, you can now export to and import from ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs8m7lrn0esvwv2sjy574vm06gmfkhvk650eks08fqywzyfmwd0p8szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsv9jpcw" />
    <content type="html">
      In Apple’s Notes.app, you can now export to and import from Markdown.&lt;br/&gt;&lt;a href=&#34;https://www.macrumors.com/how-to/ios-import-export-markdown-apple-notes/&#34;&gt;https://www.macrumors.com/how-to/ios-import-export-markdown-apple-notes/&lt;/a&gt;
    </content>
    <updated>2025-09-19T17:02:58Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs9769y7hrq6dw49ycf7ewg0v9jgee0lkd7d6kxdys0hxgdtmae05gzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nszya6xa</id>
    
      <title type="html">In programming, syntax is: A) The specific structure of source ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs9769y7hrq6dw49ycf7ewg0v9jgee0lkd7d6kxdys0hxgdtmae05gzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nszya6xa" />
    <content type="html">
      In programming, syntax is:&lt;br/&gt;&lt;br/&gt;A) The specific structure of source code that follows certain rules&lt;br/&gt;B) The rules for that structure
    </content>
    <updated>2025-09-19T10:34:01Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspttjsxmd0anjaszxujj2k9e75dgtzjf07gqy8q7p5wzag06f9yxszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns6cmqga</id>
    
      <title type="html">It’s a minor thing but it feels like #Mastodon should remove ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspttjsxmd0anjaszxujj2k9e75dgtzjf07gqy8q7p5wzag06f9yxszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns6cmqga" />
    <content type="html">
      It’s a minor thing but it feels like #Mastodon should remove the slash at the end in the following case:&lt;br/&gt;&lt;br/&gt;https:​//example.com/&lt;br/&gt;&lt;br/&gt;Example that would look better without a trailing slash: &lt;a href=&#34;https://fosstodon.org/@rauschma/115220289238584826&#34;&gt;https://fosstodon.org/@rauschma/115220289238584826&lt;/a&gt;
    </content>
    <updated>2025-09-17T15:17:16Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqdg9x6umfjzst6gfychveg2qmm5fpzn9seddn7pwddejzwehjlxszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsazjf8e</id>
    
      <title type="html">For Europeans: This website tells you how to protest against the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqdg9x6umfjzst6gfychveg2qmm5fpzn9seddn7pwddejzwehjlxszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsazjf8e" />
    <content type="html">
      For Europeans: This website tells you how to protest against the planned Chat Control law which would have significant negative consequences for Europe.&lt;br/&gt;&lt;br/&gt;You can switch languages: &lt;a href=&#34;https://fightchatcontrol.eu/&#34;&gt;https://fightchatcontrol.eu/&lt;/a&gt;
    </content>
    <updated>2025-09-17T15:14:49Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgt4kmx68putaygqqj35aalfaqazxs8gh98uyy622wy73xrp8avlczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns9fuhfn</id>
    
      <title>Nostr event nevent1qqsgt4kmx68putaygqqj35aalfaqazxs8gh98uyy622wy73xrp8avlczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns9fuhfn</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgt4kmx68putaygqqj35aalfaqazxs8gh98uyy622wy73xrp8avlczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns9fuhfn" />
    <content type="html">
      #Markdown: What do you prefer?
    </content>
    <updated>2025-09-17T12:27:48Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs9e9pj59hs2kmfnurzlz0sejm3rt4gsf2fna3uhmd550dzczr0fcczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsv3vul2</id>
    
      <title type="html">Another npm supply chain attack. Hopefully npm will add measures ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs9e9pj59hs2kmfnurzlz0sejm3rt4gsf2fna3uhmd550dzczr0fcczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsv3vul2" />
    <content type="html">
      Another npm supply chain attack. Hopefully npm will add measures to make installing packages safe(r) again. pnpm has already added one (*).&lt;br/&gt;&lt;a href=&#34;https://socket.dev/blog/tinycolor-supply-chain-attack-affects-40-packages&#34;&gt;https://socket.dev/blog/tinycolor-supply-chain-attack-affects-40-packages&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;(*) &lt;a href=&#34;https://github.com/pnpm/pnpm/releases/tag/v10.16.0&#34;&gt;https://github.com/pnpm/pnpm/releases/tag/v10.16.0&lt;/a&gt;
    </content>
    <updated>2025-09-16T00:05:34Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstjth6855vy4qassd0qnh7fl06ffrsp22f3tdlk6my3pr5etjf7xczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nspusatl</id>
    
      <title type="html">On my Mac, `gh auth` (GitHub CLI) works really well: It logs me ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstjth6855vy4qassd0qnh7fl06ffrsp22f3tdlk6my3pr5etjf7xczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nspusatl" />
    <content type="html">
      On my Mac, `gh auth` (GitHub CLI) works really well: It logs me in globally (as if I had used ssh-add). Same on Windows?&lt;br/&gt;&lt;br/&gt;Background: I’m exploring how to explain GitHub to beginners. For myself, I use ssh-add, but for beginners gh auth seems simpler.
    </content>
    <updated>2025-09-15T09:59:40Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs8c4fc09jpyyqk5cej8auf7wu5mupwhl6rkh5cvuazgu8mtc9q0zgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsr0ahmj</id>
    
      <title type="html">I’m surprised that this functionality isn’t included in the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs8c4fc09jpyyqk5cej8auf7wu5mupwhl6rkh5cvuazgu8mtc9q0zgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsr0ahmj" />
    <content type="html">
      I’m surprised that this functionality isn’t included in the web crypto API:&lt;br/&gt;&lt;br/&gt;import { generateSalt, hash, verify } from &amp;#34;@brielov/crypto&amp;#34;;&lt;br/&gt;&lt;br/&gt;const password = &amp;#34;mySecurePassword&amp;#34;;&lt;br/&gt;const salt = generateSalt(); // Generate a secure salt&lt;br/&gt;&lt;br/&gt;// Hash the password&lt;br/&gt;const hashedPassword = await hash(password, salt);&lt;br/&gt;&lt;br/&gt;// Verify the password&lt;br/&gt;const isVerified = await verify(password, hashedPassword, salt);&lt;br/&gt;console.log(isVerified); // true or false&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://github.com/brielov/crypto&#34;&gt;https://github.com/brielov/crypto&lt;/a&gt;
    </content>
    <updated>2025-09-13T18:30:24Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqlw5jr80d37et76wklcr38zj5j2an6hk9wgw0zc2fu8dzessq8pgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsy0v4cd</id>
    
      <title type="html">Learning web development: Implementing web servers ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqlw5jr80d37et76wklcr38zj5j2an6hk9wgw0zc2fu8dzessq8pgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsy0v4cd" />
    <content type="html">
      Learning web development: Implementing web servers&lt;br/&gt;&lt;a href=&#34;https://2ality.com/2025/09/implementing-web-servers.html&#34;&gt;https://2ality.com/2025/09/implementing-web-servers.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#2ality #WebDev #JavaScript
    </content>
    <updated>2025-09-12T12:56:03Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs977n0lh0qy4jadrv66xjgexmxll6wz8xvsfcdmutxdrvyt8r595gzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns92un9n</id>
    
      <title type="html">“Quote post functionality will arrive on mastodon.online and ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs977n0lh0qy4jadrv66xjgexmxll6wz8xvsfcdmutxdrvyt8r595gzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns92un9n" />
    <content type="html">
      “Quote post functionality will arrive on mastodon.online and mastodon.social next week, and will be available in Mastodon 4.5 soon thereafter.”&lt;br/&gt;&lt;a href=&#34;https://blog.joinmastodon.org/2025/09/introducing-quote-posts/&#34;&gt;https://blog.joinmastodon.org/2025/09/introducing-quote-posts/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Another Mastodon weakness that’ll soon be fixed: &lt;a href=&#34;https://2ality.com/2024/11/mastodon-weaknesses.html#quote-posts&#34;&gt;https://2ality.com/2024/11/mastodon-weaknesses.html#quote-posts&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#Mastodon
    </content>
    <updated>2025-09-11T20:38:39Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqp8wahgzcs39lgpzqat768p4nwhqkv040zpzmye3hf0tzargtrsqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsfdy020</id>
    
      <title type="html">Good point!</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqp8wahgzcs39lgpzqat768p4nwhqkv040zpzmye3hf0tzargtrsqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsfdy020" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsymaq6q8efqhxwuvl0xn628zrgr6hkerd37hgjr4hyzpk5r7n5sdqeu3a89&#39;&gt;nevent1q…3a89&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Good point!
    </content>
    <updated>2025-09-10T08:38:01Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsy4ey5yamwmu8fu2vl2p3rdn64sp9vy7r2snr6vpkkm688r60ah8gzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nshe7mat</id>
    
      <title type="html">Preact without a build step: ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsy4ey5yamwmu8fu2vl2p3rdn64sp9vy7r2snr6vpkkm688r60ah8gzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nshe7mat" />
    <content type="html">
      Preact without a build step: &lt;a href=&#34;https://rauschma.github.io/learning-web-dev-code/projects/display-clicks-preact.html&#34;&gt;https://rauschma.github.io/learning-web-dev-code/projects/display-clicks-preact.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I have to say I really like `html` tagged templates: No new JavaScript syntax (vs. JSX) but still fairly intuitive to use.
    </content>
    <updated>2025-09-09T16:56:27Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsd9akewcga2ttakcvjuvs75qe6e7gjsd7l4geyp6wntz389ep5xuszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsty807v</id>
    
      <title type="html">Interesting new “technology”: tiny vinyl A normal vinyl ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsd9akewcga2ttakcvjuvs75qe6e7gjsd7l4geyp6wntz389ep5xuszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsty807v" />
    <content type="html">
      Interesting new “technology”: tiny vinyl&lt;br/&gt;&lt;br/&gt;A normal vinyl record, with two differences:&lt;br/&gt;• Only 4 inches (10 cm) in diameter (less than a CD at 12 cm)&lt;br/&gt;• A smaller center (which most record players should have no problem with)&lt;br/&gt;&lt;br/&gt;Two sides, 4 min of audio per side&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.tinyvinyl.com/&#34;&gt;https://www.tinyvinyl.com/&lt;/a&gt;
    </content>
    <updated>2025-09-08T12:25:36Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszmvkfle5k5xwyrzaejxc0tqwd342vw3lhyange2nqj8nx63m4pdczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsvum0aj</id>
    
      <title type="html">Learning web development: Installing npm packages and bundling ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszmvkfle5k5xwyrzaejxc0tqwd342vw3lhyange2nqj8nx63m4pdczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsvum0aj" />
    <content type="html">
      Learning web development: Installing npm packages and bundling&lt;br/&gt;&lt;a href=&#34;https://2ality.com/2025/09/npm-packages-bundling.html&#34;&gt;https://2ality.com/2025/09/npm-packages-bundling.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#2ality #WebDev #JavaScript
    </content>
    <updated>2025-09-07T11:04:29Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqswy77fj2n5zcgfskr0aku9w3myhcxmpnwtlhde3pw88phlcswzsuszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns09hkku</id>
    
      <title type="html">URL nomenclature: Does anyone know which one is correct? A) ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqswy77fj2n5zcgfskr0aku9w3myhcxmpnwtlhde3pw88phlcswzsuszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns09hkku" />
    <content type="html">
      URL nomenclature: Does anyone know which one is correct?&lt;br/&gt;&lt;br/&gt;A) https​://example.com/&lt;br/&gt;B) ../image.jpg&lt;br/&gt;&lt;br/&gt;A always seems to be called absolute URL. For B, I’m seeing:&lt;br/&gt;&lt;br/&gt;• Relative reference: &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Web/API/URL_API/Resolving_relative_references&#34;&gt;https://developer.mozilla.org/en-US/docs/Web/API/URL_API/Resolving_relative_references&lt;/a&gt;&lt;br/&gt;• Relative URL: &lt;a href=&#34;https://www.rfc-editor.org/rfc/rfc1808&#34;&gt;https://www.rfc-editor.org/rfc/rfc1808&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I’d trust the latter more but maybe it’s outdated?
    </content>
    <updated>2025-09-06T10:32:09Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsw2y3dlalty4aq78uxap08wyuwg6e2e6xww6l8pr0kvt8v40a9kvszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsqt2kcp</id>
    
      <title type="html">Could JavaScript have synchronous `await`? ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsw2y3dlalty4aq78uxap08wyuwg6e2e6xww6l8pr0kvt8v40a9kvszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsqt2kcp" />
    <content type="html">
      Could JavaScript have synchronous `await`?&lt;br/&gt;&lt;a href=&#34;https://2ality.com/2025/03/sync-await.html&#34;&gt;https://2ality.com/2025/03/sync-await.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#JavaScript #2ality
    </content>
    <updated>2025-03-28T19:53:15Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0gd9knjf07v537hqztg7v5x7zx9g7ppuf2vsnzzv00c4kfc2n8rqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nst8j2na</id>
    
      <title type="html">#TypeScript: I’m thinking about the pros and cons of classes ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0gd9knjf07v537hqztg7v5x7zx9g7ppuf2vsnzzv00c4kfc2n8rqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nst8j2na" />
    <content type="html">
      #TypeScript: I’m thinking about the pros and cons of classes vs. object types (if no inheritance is involved):&lt;br/&gt;– Pro of classes: compact definition of type, instance factory, operations and property default values in a single place&lt;br/&gt;– Pro of object types: works better with serialization/deserialization (e.g. JSON).&lt;br/&gt;&lt;br/&gt;Anything else?
    </content>
    <updated>2025-03-26T13:43:09Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2hk4gnakr59u6uf2neuevcc48sqk2e3a8dyx0u0kz6utlujuq8qgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nssx42ql</id>
    
      <title type="html">#TypeScript: Node.js has become quite good at auto-detecting what ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2hk4gnakr59u6uf2neuevcc48sqk2e3a8dyx0u0kz6utlujuq8qgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nssx42ql" />
    <content type="html">
      #TypeScript: Node.js has become quite good at auto-detecting what kind of code is passed to it via CLI options or stdin—e.g. this works (type annotation is only there to demo this feature):&lt;br/&gt;&lt;br/&gt;node -e &amp;#39;const x: string = &amp;#34;YES&amp;#34;; console.log(x)&amp;#39;&lt;br/&gt;&lt;br/&gt;Details: &lt;a href=&#34;https://nodejs.org/api/cli.html#--input-typetype&#34;&gt;https://nodejs.org/api/cli.html#--input-typetype&lt;/a&gt;
    </content>
    <updated>2025-03-22T11:01:57Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspxytx0hrempdcpn2v9kc0hzc5x5jz54k5ek2z2n63mh0lyqzn0pgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsh5cqc9</id>
    
      <title type="html">Makes sense!</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspxytx0hrempdcpn2v9kc0hzc5x5jz54k5ek2z2n63mh0lyqzn0pgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsh5cqc9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszse3lq5ddxwphtffuh5yxzhef4ucdvdtfkd5xg5qne94svqsljmq09hxy6&#39;&gt;nevent1q…hxy6&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Makes sense!
    </content>
    <updated>2025-03-19T21:43:24Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs8zzyx8gdx6eux27whxpraw8z804exx5u6tptdtps460yvaachexgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsfz0wuk</id>
    
      <title type="html">#Golang 🙄: “‘Code point’ is a bit of a mouthful, so Go ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs8zzyx8gdx6eux27whxpraw8z804exx5u6tptdtps460yvaachexgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsfz0wuk" />
    <content type="html">
      #Golang 🙄: “‘Code point’ is a bit of a mouthful, so Go introduces a shorter term for the concept: &amp;#39;rune’. The term appears in the libraries and source code, and means exactly the same as ‘code point’ […]”&lt;br/&gt;&lt;a href=&#34;https://go.dev/blog/strings&#34;&gt;https://go.dev/blog/strings&lt;/a&gt;
    </content>
    <updated>2025-03-19T19:19:29Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsp8lz26nkrldcr8ld0dq2trrgts2kapuu4ttth0nct0f9grgskgjczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsp4uxgd</id>
    
      <title type="html">I’d like to hide implementation details, so I’d do: ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsp8lz26nkrldcr8ld0dq2trrgts2kapuu4ttth0nct0f9grgskgjczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsp4uxgd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy9w0xjujarv2f7des67sdsvacdygjuez24fvm4pj8sey0xdpm0vqccs5lr&#39;&gt;nevent1q…s5lr&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I’d like to hide implementation details, so I’d do: &lt;a href=&#34;https://www.typescriptlang.org/play/?#code/JYOwLgpgTgZghgYwgAgJIgVCBbC4D2UyA3gFDLKgIAUAlAFzIBu&#43;wAJqQL6kwCuGYYPhDJMEOJHRjcBKACZqCXlCzhkAXmQAGBmgxYZYQiXLIsYZSLIUKVOiZs2lKvGADUbgNymKnADSm3NxAA&#34;&gt;https://www.typescriptlang.org/play/?#code/JYOwLgpgTgZghgYwgAgJIgVCBbC4D2UyA3gFDLKgIAUAlAFzIBu&#43;wAJqQL6kwCuGYYPhDJMEOJHRjcBKACZqCXlCzhkAXmQAGBmgxYZYQiXLIsYZSLIUKVOiZs2lKvGADUbgNymKnADSm3NxAA&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;(Looking at the code right now, I realize that I should change the interface because with only .inc():void there is no way to retrieve the current counter. But that doesn’t change the basic challenge.)
    </content>
    <updated>2025-03-17T20:34:15Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0k6upjq8qk320ffuxeukagguw0w7ll4jdxzyxynk0qydtfsq7rvgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsykhrza</id>
    
      <title type="html">Interesting. Maybe a setting in a tsconfig.json that is in range? ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0k6upjq8qk320ffuxeukagguw0w7ll4jdxzyxynk0qydtfsq7rvgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsykhrza" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvagfg9d2ylnh9u6u834dl7sjwmkgnvtv2n2ruxrndtflzuv7220qswehwc&#39;&gt;nevent1q…ehwc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Interesting. Maybe a setting in a tsconfig.json that is in range?&lt;br/&gt;&lt;br/&gt;You could try this one (leave all settings as they are but adjust &amp;#34;include&amp;#34;): &lt;a href=&#34;https://rauschma.github.io/tsconfigurator/site/&#34;&gt;https://rauschma.github.io/tsconfigurator/site/&lt;/a&gt;
    </content>
    <updated>2025-03-17T19:14:49Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0xl45200znrvx8m24s88cxyxztswkh209r0an7y3d5f3uaa0yysczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsfs9r83</id>
    
      <title type="html">Have you removed the (a)ts-expect-error? ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0xl45200znrvx8m24s88cxyxztswkh209r0an7y3d5f3uaa0yysczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsfs9r83" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9yrph0elg63jcaxgxc986rla35d8xgkh3vdrd6wvlrn2zhcqunysvewpxh&#39;&gt;nevent1q…wpxh&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Have you removed the (a)ts-expect-error?&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.typescriptlang.org/play/?#code/JYOwLgpgTgZghgYwgAgJIgVCBbC4D2UyA3gFDLKgIAUAlAFzIBu&#43;wAJqQL6kwCuGYYPhDJMEOJHRjcBKACZqAZzBwoYZAF5kABgZoMWGWEIlyyLGF5QRZChQT5&#43;kKI2WqwAGjMUqdU3bswAAtgRQA6BydoAGpogG5vZE4vCk5kOEV9aTxjKATOIA&#34;&gt;https://www.typescriptlang.org/play/?#code/JYOwLgpgTgZghgYwgAgJIgVCBbC4D2UyA3gFDLKgIAUAlAFzIBu&#43;wAJqQL6kwCuGYYPhDJMEOJHRjcBKACZqAZzBwoYZAF5kABgZoMWGWEIlyyLGF5QRZChQT5&#43;kKI2WqwAGjMUqdU3bswAAtgRQA6BydoAGpogG5vZE4vCk5kOEV9aTxjKATOIA&lt;/a&gt;
    </content>
    <updated>2025-03-17T18:19:09Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgf8v0w6464jqpk9x0rwrq6yksxsh9g7pga7sy9mhf8rwv5vey49szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsrs8crg</id>
    
      <title type="html">You’d think that would work, but alas: ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgf8v0w6464jqpk9x0rwrq6yksxsh9g7pga7sy9mhf8rwv5vey49szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsrs8crg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq47m5q5kh0gqrtm2ha3efunxejla5eqd9zanap0cmyjhhz3kwrrqdztqgk&#39;&gt;nevent1q…tqgk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;You’d think that would work, but alas: &lt;a href=&#34;https://exploringjs.com/tackling-ts/ch_typing-objects.html#:~:text=Alas%2C%20even%20with%20a%20type%20assertion%2C%20there%20is%20still%20one%20type%20error%3A&#34;&gt;https://exploringjs.com/tackling-ts/ch_typing-objects.html#:~:text=Alas%2C%20even%20with%20a%20type%20assertion%2C%20there%20is%20still%20one%20type%20error%3A&lt;/a&gt;
    </content>
    <updated>2025-03-17T17:54:33Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2zlyv9574fh03d3k4kycx8kpgtsdhc0rlt2jd4f8rv8pnetskwqgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns2plutn</id>
    
      <title type="html">#TypeScript – surprisingly tricky to fix: type Incrementor = { ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2zlyv9574fh03d3k4kycx8kpgtsdhc0rlt2jd4f8rv8pnetskwqgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns2plutn" />
    <content type="html">
      #TypeScript – surprisingly tricky to fix:&lt;br/&gt;&lt;br/&gt;type Incrementor = {&lt;br/&gt;  inc(): void,&lt;br/&gt;};&lt;br/&gt;function createIncrementor(start = 0): Incrementor {&lt;br/&gt;  return {&lt;br/&gt;    counter: start, // error&lt;br/&gt;    inc() {&lt;br/&gt;      this.counter&#43;&#43;; // error&lt;br/&gt;    },&lt;br/&gt;  };&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;Best solution (AFAICT): Assign object to a variable, return that variable (then excess properties are allowed).&lt;br/&gt;&lt;a href=&#34;https://exploringjs.com/tackling-ts/ch_typing-objects.html#allowing-excess-properties-example-incrementor&#34;&gt;https://exploringjs.com/tackling-ts/ch_typing-objects.html#allowing-excess-properties-example-incrementor&lt;/a&gt;
    </content>
    <updated>2025-03-17T16:59:48Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrewf7knzr0mtjz72neqfnuwq4trerd6hdszae4cr80qgmgsu6r4czypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsdpc7ex</id>
    
      <title type="html">I kind of like it so far. What do you prefer when it comes to ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrewf7knzr0mtjz72neqfnuwq4trerd6hdszae4cr80qgmgsu6r4czypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsdpc7ex" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrjj9f423zmkkd2jc889kka68gw429y2esdhp8wumlaqethun4yrcd338d4&#39;&gt;nevent1q…38d4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I kind of like it so far. What do you prefer when it comes to compiling to native code?
    </content>
    <updated>2025-03-16T21:43:44Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqg9hdqqmt9l5j4qm6dklckt7vcv2khhw3t8zkl2eexfxddr6ha2szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nshexk4k</id>
    
      <title type="html">I’m playing with Go (the programming language…) a little. ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqg9hdqqmt9l5j4qm6dklckt7vcv2khhw3t8zkl2eexfxddr6ha2szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nshexk4k" />
    <content type="html">
      I’m playing with Go (the programming language…) a little. Really easy to get started.
    </content>
    <updated>2025-03-16T21:16:59Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvlgj36uhpqmrc38t0sfymexq9p8sv2eagnxka2fgr5jwsf9z33kqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nscv7s9n</id>
    
      <title type="html">This symbolizes how big tech works now: I told YouTube that I’m ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvlgj36uhpqmrc38t0sfymexq9p8sv2eagnxka2fgr5jwsf9z33kqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nscv7s9n" />
    <content type="html">
      This symbolizes how big tech works now: I told YouTube that I’m not interested in shorts. But it doesn’t take no for an answer.&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/173/955/571/747/344/original/77869db4bdfbdc36.jpg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-03-16T20:19:24Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgp8mkfg2y8h8ja0t66654zm9nlcvmm3rnqv5lzchcgq2rtc4dm5czypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsguzlr2</id>
    
      <title type="html">I had the same thought: I had never checked if `type` supports ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgp8mkfg2y8h8ja0t66654zm9nlcvmm3rnqv5lzchcgq2rtc4dm5czypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsguzlr2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszzjvdjw6afaush7tn5jlg47j40rf83t7h0acr4f633wdtuv9duksyh54vl&#39;&gt;nevent1q…54vl&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I had the same thought: I had never checked if `type` supports multiple, comma-separated definitions. But indeed it doesn’t.&lt;br/&gt;&lt;br/&gt;To be fair: default exports are kind of a weird feature.
    </content>
    <updated>2025-03-15T16:32:20Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspvdmsxnh6clqsw2xnez3ykdfk343d26gpjmyme4ae8v4xr6d35mszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsu0335q</id>
    
      <title type="html">#TypeScript: Interesting small syntax inconsistency: // Works ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspvdmsxnh6clqsw2xnez3ykdfk343d26gpjmyme4ae8v4xr6d35mszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsu0335q" />
    <content type="html">
      #TypeScript: Interesting small syntax inconsistency:&lt;br/&gt;&lt;br/&gt;// Works&lt;br/&gt;export default interface Intf {}&lt;br/&gt;export {&lt;br/&gt;  type SomeType as default,&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;// Does not work:&lt;br/&gt;export default type SomeType;
    </content>
    <updated>2025-03-15T16:17:18Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsx6cs3e20emfkc0sx5jxvulafa9af8ssg2j8eysmuu3x6nj83at9szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nssfh2wv</id>
    
      <title type="html">#TypeScript is being rewritten in Go: “The native ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsx6cs3e20emfkc0sx5jxvulafa9af8ssg2j8eysmuu3x6nj83at9szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nssfh2wv" />
    <content type="html">
      #TypeScript is being rewritten in Go: “The native implementation will drastically improve editor startup, reduce most build times by 10x, and substantially reduce memory usage.”&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://devblogs.microsoft.com/typescript/typescript-native-port/&#34;&gt;https://devblogs.microsoft.com/typescript/typescript-native-port/&lt;/a&gt;
    </content>
    <updated>2025-03-11T14:56:21Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsr99entuc4ukgm87mly22v6dkh5avaxfd59p3putq2mmn5sw4hvsszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns2tx389</id>
    
      <title type="html">I take it this is about X/Twitter and not about Boston TS? 😉</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsr99entuc4ukgm87mly22v6dkh5avaxfd59p3putq2mmn5sw4hvsszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns2tx389" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp9ckg7yuz5yjld87qtfzwx0pyza68p8rt32zggpzua78tvzz8pncdqypa8&#39;&gt;nevent1q…ypa8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I take it this is about X/Twitter and not about Boston TS? 😉
    </content>
    <updated>2025-03-10T19:25:42Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsfn550rdj8qr5r3ups22w9w40wc3e7wh5q3x4ustksqm6dja29azczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsn6uxgl</id>
    
      <title type="html">Lynx is a new competitor to React Native by ByteDance: ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsfn550rdj8qr5r3ups22w9w40wc3e7wh5q3x4ustksqm6dja29azczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsn6uxgl" />
    <content type="html">
      Lynx is a new competitor to React Native by ByteDance: &lt;a href=&#34;https://lynxjs.org/&#34;&gt;https://lynxjs.org/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;• Can be used via React (but that’s optional): &lt;a href=&#34;https://lynxjs.org/react&#34;&gt;https://lynxjs.org/react&lt;/a&gt;&lt;br/&gt;• Build tools are based on Rspack: &lt;a href=&#34;https://lynxjs.org/rspeedy&#34;&gt;https://lynxjs.org/rspeedy&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;It’s a shame that it only runs in the terminal (OK, that one’s a joke).
    </content>
    <updated>2025-03-05T13:15:33Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsype3esle8t3zcr35saeujyyyurcpp8a98mecd6c9tqldj9mrv90szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nszxz9wx</id>
    
      <title type="html">It’s really difficult to pick an operating system right now: ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsype3esle8t3zcr35saeujyyyurcpp8a98mecd6c9tqldj9mrv90szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nszxz9wx" />
    <content type="html">
      It’s really difficult to pick an operating system right now:&lt;br/&gt;• macOS is continually degrading in quality: Apple are over-promoting their services and there are more and more small bugs and glitches: &lt;a href=&#34;https://mjtsai.com/blog/2025/03/04/premium-hardware-subpar-software/&#34;&gt;https://mjtsai.com/blog/2025/03/04/premium-hardware-subpar-software/&lt;/a&gt;&lt;br/&gt;• Same for Windows: ads, AI, etc.&lt;br/&gt;&lt;br/&gt;Linux still has many issues but is slowly catching up.
    </content>
    <updated>2025-03-04T20:39:37Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvq79kza8ytj775dqyq4l9vqmscz63703ezundlsexser26z7gxhqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nszz50ym</id>
    
      <title type="html">What are the most popular bundlers at the moment, apart from ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvq79kza8ytj775dqyq4l9vqmscz63703ezundlsexser26z7gxhqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nszz50ym" />
    <content type="html">
      What are the most popular bundlers at the moment, apart from Vite?&lt;br/&gt;&lt;br/&gt;My list is currently:&lt;br/&gt;* Libraries: esbuild, Rolldown, Rollup, Rspack&lt;br/&gt;* Larger: RSBuild, Parcel, Turbopack, Rsbuild&lt;br/&gt;&lt;br/&gt;I haven’t heard much of Turbopack since its introduction, though. Is that because it’s used internally by the Next.js tooling?
    </content>
    <updated>2025-02-26T16:17:08Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsq7uws5xjfs33hec36yszyawjmwvgtggt0v9r5e9xtntp89l6sgxqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsdfmt62</id>
    
      <title type="html">Why still bundle JavaScript? Given that HTTP/2 lets us download ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsq7uws5xjfs33hec36yszyawjmwvgtggt0v9r5e9xtntp89l6sgxqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsdfmt62" />
    <content type="html">
      Why still bundle JavaScript?&lt;br/&gt;&lt;br/&gt;Given that HTTP/2 lets us download multiple files per connection, the one remaining benefit is the elimination of unused code, right?
    </content>
    <updated>2025-02-26T11:52:37Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxexnd2vjfnnh66u3j94zt96sptkl0jryl2w2x03kguqe692tmx7qzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsxnnsup</id>
    
      <title type="html">I’ve never seen that before on the web. https://frame.work is ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxexnd2vjfnnh66u3j94zt96sptkl0jryl2w2x03kguqe692tmx7qzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsxnnsup" />
    <content type="html">
      I’ve never seen that before on the web. &lt;a href=&#34;https://frame.work&#34;&gt;https://frame.work&lt;/a&gt; is getting a lot of traffic after new products were introduced.&lt;br/&gt;&lt;br/&gt;This “waiting room” is a Cloudflare feature: &lt;a href=&#34;https://www.cloudflare.com/application-services/products/waiting-room/&#34;&gt;https://www.cloudflare.com/application-services/products/waiting-room/&lt;/a&gt;&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/066/362/277/600/261/original/9c3752edac24c238.jpg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-02-25T20:18:47Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsyqmuvsj885egrwvezmnehedm33ju8suy8y8l23ny5cjxr6lc700czypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsgk9tsp</id>
    
      <title type="html">Node.js wish: Parse the hashbang on all platforms and use its ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsyqmuvsj885egrwvezmnehedm33ju8suy8y8l23ny5cjxr6lc700czypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsgk9tsp" />
    <content type="html">
      Node.js wish: Parse the hashbang on all platforms and use its options. Example:&lt;br/&gt;&lt;br/&gt;#!/usr/bin/env -S node --disable-warning=ExperimentalWarning
    </content>
    <updated>2025-02-25T16:08:53Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspt87tg7qd79t0kpkn2k83y5j0uumt39af50v886dpdvjum8p7g4szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nskyeedj</id>
    
      <title type="html">#TypeScript: Baffled where the `never` comes from. Is that a TS ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspt87tg7qd79t0kpkn2k83y5j0uumt39af50v886dpdvjum8p7g4szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nskyeedj" />
    <content type="html">
      #TypeScript: Baffled where the `never` comes from. Is that a TS bug?&lt;br/&gt;&lt;br/&gt;type SimpleEqual2&amp;lt;X, Y&amp;gt; =&lt;br/&gt;  X extends Y&lt;br/&gt;    ? (Y extends X ? [&amp;#39;trueY&amp;#39;, X, Y] : [&amp;#39;falseY&amp;#39;, X, Y])&lt;br/&gt;    : [&amp;#39;falseX&amp;#39;, X, Y]&lt;br/&gt;;&lt;br/&gt;type R = SimpleEqual2&amp;lt;&amp;#39;a&amp;#39;|&amp;#39;b&amp;#39;, &amp;#39;b&amp;#39;|&amp;#39;c&amp;#39;&amp;gt;;&lt;br/&gt;  // [&amp;#34;falseX&amp;#34;, &amp;#34;a&amp;#34;, &amp;#34;b&amp;#34; | &amp;#34;c&amp;#34;] | [&amp;#34;trueY&amp;#34;, &amp;#34;b&amp;#34;, &amp;#34;b&amp;#34;] | [&amp;#34;falseY&amp;#34;, never, &amp;#34;c&amp;#34;]&lt;br/&gt;&lt;br/&gt;Full exploration: &lt;a href=&#34;https://www.typescriptlang.org/play/?#code/C4TwDgpgBAKgrmANhAzgDQDxoDRQJoB8UAvFGlBAB7AQB2AJivlAPxQDaA5MAE5wRpOuHPgC6UAFwdOAMwCGiFAKFlceUQG4AUKEixypeElSZOczgB9OAIxU3LnAMacC2qFAD0HjgCJ5igR9cHzkgqB9rHygLcMcfcRj2H15&#43;NDCI9Mjo2PitHXBoI2QUPCw1IlI8Cmo6RjJWaRSIPBURdUlpfyUW4TVNfL0YKsMEYtKM4KyYnzjXLXcvXya8TNWE3y7m1eC40TzdaABlAEsAW2MAUQBHOAUAJjL8Cvn6qhoGJjwX9zYACiq3rUmOQ2Fxlq0&#43;h0uJseqoxABKb5Q2QKJSCXpiLTaA5QABKJCgJ3OyGut0QDzMDlsuHsVmccwW3iSmzSwVCkyi0122SSy224Ui62ZqK2uFoEAAbhAeDtckA&#34;&gt;https://www.typescriptlang.org/play/?#code/C4TwDgpgBAKgrmANhAzgDQDxoDRQJoB8UAvFGlBAB7AQB2AJivlAPxQDaA5MAE5wRpOuHPgC6UAFwdOAMwCGiFAKFlceUQG4AUKEixypeElSZOczgB9OAIxU3LnAMacC2qFAD0HjgCJ5igR9cHzkgqB9rHygLcMcfcRj2H15&#43;NDCI9Mjo2PitHXBoI2QUPCw1IlI8Cmo6RjJWaRSIPBURdUlpfyUW4TVNfL0YKsMEYtKM4KyYnzjXLXcvXya8TNWE3y7m1eC40TzdaABlAEsAW2MAUQBHOAUAJjL8Cvn6qhoGJjwX9zYACiq3rUmOQ2Fxlq0&#43;h0uJseqoxABKb5Q2QKJSCXpiLTaA5QABKJCgJ3OyGut0QDzMDlsuHsVmccwW3iSmzSwVCkyi0122SSy224Ui62ZqK2uFoEAAbhAeDtckA&lt;/a&gt;
    </content>
    <updated>2025-02-21T22:18:16Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrf9hucygpux2ukzjep9c4n6wx6d3xk34hk50dzmq47h7st7nvyrgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns2qpaxa</id>
    
      <title type="html">Symbols in TypeScript ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrf9hucygpux2ukzjep9c4n6wx6d3xk34hk50dzmq47h7st7nvyrgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns2qpaxa" />
    <content type="html">
      Symbols in TypeScript&lt;br/&gt;&lt;a href=&#34;https://2ality.com/2025/02/symbols-in-typescript.html&#34;&gt;https://2ality.com/2025/02/symbols-in-typescript.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#TypeScript #2ality
    </content>
    <updated>2025-02-17T12:36:25Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsw8h6rx05eppnk6w4wn4xcg9s5ggpg2v3kskh0ce8q80rwcg0mg7qzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns5ad6wc</id>
    
      <title type="html">#TypeScript: Is it possible to create an object that is ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsw8h6rx05eppnk6w4wn4xcg9s5ggpg2v3kskh0ce8q80rwcg0mg7qzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns5ad6wc" />
    <content type="html">
      #TypeScript: Is it possible to create an object that is assignable to the following type (without using `as`)?&lt;br/&gt;&lt;br/&gt;type Obj = {&lt;br/&gt;  readonly sym: unique symbol,&lt;br/&gt;};&lt;br/&gt;&lt;br/&gt;const SYM: unique symbol = Symbol(&amp;#39;SYM&amp;#39;);&lt;br/&gt;const obj: Obj = {&lt;br/&gt;  sym: SYM,&lt;br/&gt;    // Type &amp;#39;typeof SYM&amp;#39; is not assignable to type &amp;#39;typeof sym&amp;#39;.&lt;br/&gt;};
    </content>
    <updated>2025-02-16T18:39:13Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspvvn93ds4s6k2max7p9rdx9kqxes5qzs5q4d37m5e36lmazd93uszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns3ca3lr</id>
    
      <title type="html">Argument in favor of single-quote string literals: It’s easier ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspvvn93ds4s6k2max7p9rdx9kqxes5qzs5q4d37m5e36lmazd93uszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns3ca3lr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9jvjrznezhdp996kh250zkztw6xm34earsg5mevflaptkkpw5hwsg3973k&#39;&gt;nevent1q…973k&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Argument in favor of single-quote string literals: It’s easier to quote HTML—where double quotes are a clear standard.&lt;br/&gt;&lt;br/&gt;I got used to single quotes there and now use them elsewhere too.
    </content>
    <updated>2025-02-16T17:02:29Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs9jvjrznezhdp996kh250zkztw6xm34earsg5mevflaptkkpw5hwszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsdkjfv7</id>
    
      <title>Nostr event nevent1qqs9jvjrznezhdp996kh250zkztw6xm34earsg5mevflaptkkpw5hwszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsdkjfv7</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs9jvjrznezhdp996kh250zkztw6xm34earsg5mevflaptkkpw5hwszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsdkjfv7" />
    <content type="html">
      #TypeScript—Check all that apply:
    </content>
    <updated>2025-02-16T14:11:35Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgcy5y034ycgusjj50g2df2yru8ctxhwsckmahzx35k7y0gh9cqfgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsnywe7k</id>
    
      <title type="html">It’s not always possible to go that route, but I prefer ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgcy5y034ycgusjj50g2df2yru8ctxhwsckmahzx35k7y0gh9cqfgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsnywe7k" />
    <content type="html">
      It’s not always possible to go that route, but I prefer repeating directory names—e.g.:&lt;br/&gt;&lt;br/&gt;utils/utils.js&lt;br/&gt;resources/resources.md&lt;br/&gt;&lt;br/&gt;Over a generic “main file” name:&lt;br/&gt;&lt;br/&gt;utils/index.js&lt;br/&gt;resources/index.md&lt;br/&gt;&lt;br/&gt;Exceptions:&lt;br/&gt;&lt;br/&gt;* index.html in HTML&lt;br/&gt;* README.md on GitHub
    </content>
    <updated>2025-02-14T11:50:47Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrfkrv442sfj69gnjfx7q0eu9l0z0ztffkdvqwu238m3s8n59enmczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns5qp8qp</id>
    
      <title type="html">TypeDoc: testing code examples in doc comments ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrfkrv442sfj69gnjfx7q0eu9l0z0ztffkdvqwu238m3s8n59enmczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns5qp8qp" />
    <content type="html">
      TypeDoc: testing code examples in doc comments&lt;br/&gt;&lt;a href=&#34;https://2ality.com/2025/02/testing-typedoc-examples.html&#34;&gt;https://2ality.com/2025/02/testing-typedoc-examples.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#TypeScript #2ality
    </content>
    <updated>2025-02-09T22:58:05Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgj9fk6tz80fznfrthpwqnx5z8qw2zn9jaylxjm8vhswx5rj2a7ugzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns2d3d46</id>
    
      <title type="html">I was wondering about that! Type stripping could lead to packages ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgj9fk6tz80fznfrthpwqnx5z8qw2zn9jaylxjm8vhswx5rj2a7ugzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns2d3d46" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9fzry2kaq7ysx5clfd2gveltj5cxl7wjg857kwnqdq244sl49r8c6lc3qd&#39;&gt;nevent1q…c3qd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I was wondering about that! Type stripping could lead to packages such as htm (*) becoming more popular.&lt;br/&gt;&lt;br/&gt;(*) &lt;a href=&#34;https://www.npmjs.com/package/htm&#34;&gt;https://www.npmjs.com/package/htm&lt;/a&gt;
    </content>
    <updated>2025-02-04T14:50:33Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspfv5v9ml5gr4p0g4rswumfa4xaf3dy3ch4k7f9w7rlyahsnhuv8szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns8e078j</id>
    
      <title>Nostr event nevent1qqspfv5v9ml5gr4p0g4rswumfa4xaf3dy3ch4k7f9w7rlyahsnhuv8szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns8e078j</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspfv5v9ml5gr4p0g4rswumfa4xaf3dy3ch4k7f9w7rlyahsnhuv8szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns8e078j" />
    <content type="html">
      How do you access global values such as encodeURI?
    </content>
    <updated>2025-02-04T14:43:56Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0f0a2lqdc44z3zgtxuelt9ltdphap5rw7gazm0huqqe7xxflnrvszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsp7gkks</id>
    
      <title type="html">#TypeScript: Now that I know about type stripping (*), I wish tsc ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0f0a2lqdc44z3zgtxuelt9ltdphap5rw7gazm0huqqe7xxflnrvszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsp7gkks" />
    <content type="html">
      #TypeScript: Now that I know about type stripping (*), I wish tsc supported it.&lt;br/&gt;Benefit: In npm packages, we could do without JS source maps.&lt;br/&gt;(*) &lt;a href=&#34;https://2ality.com/2025/01/nodejs-strip-type.html#type-stripping-and-source-maps&#34;&gt;https://2ality.com/2025/01/nodejs-strip-type.html#type-stripping-and-source-maps&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;===== BEFORE =====&lt;br/&gt;src/&lt;br/&gt;  util.ts&lt;br/&gt;dist/src/&lt;br/&gt;  util.js&lt;br/&gt;  util.js.map&lt;br/&gt;  util.d.ts&lt;br/&gt;  util.d.ts.map # enables definition-jumping to util.ts&lt;br/&gt;&lt;br/&gt;===== AFTER =====&lt;br/&gt;dist/src/&lt;br/&gt;  util.js&lt;br/&gt;  util.d.ts&lt;br/&gt;  util.d.ts.map # points to util.js(?)
    </content>
    <updated>2025-02-01T17:03:55Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2hdqnfls85pn5gfp3m26denkxe2cmqzmgskyu6ezm26tw39srp9gzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsddh67n</id>
    
      <title type="html">#Markdown: I often find myself inserting separators before H2 ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2hdqnfls85pn5gfp3m26denkxe2cmqzmgskyu6ezm26tw39srp9gzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsddh67n" />
    <content type="html">
      #Markdown: I often find myself inserting separators before H2 headings. I feel that’s something editors could handle—e.g. by drawing horizontal lines above lower-level headings.&lt;br/&gt;&lt;br/&gt;&amp;lt;!--##########--&amp;gt;&lt;br/&gt;## Title of a section
    </content>
    <updated>2025-01-31T14:28:49Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstfz9rszannc3rwjn8v8t0n3a7urwf23gdcc7y776scc47eak86mczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns8f6nlj</id>
    
      <title type="html">#JavaScript (h/t @npub1s4w…gdf2): If you don’t know what ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstfz9rszannc3rwjn8v8t0n3a7urwf23gdcc7y776scc47eak86mczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns8f6nlj" />
    <content type="html">
      #JavaScript (h/t &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1s4wy8w5ftgll49hq7ydnx8967vp807xm7gczvz6fsxl66cmwz2usckgdf2&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Ashley Claymore 🌈&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1s4w…gdf2&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;):&lt;br/&gt;&lt;br/&gt;If you don’t know what `value` is then this statement is problematic:&lt;br/&gt;console.log(`Unexpected value: ${value}`);&lt;br/&gt;&lt;br/&gt;Why? `value` might be a symbol: &lt;a href=&#34;https://exploringjs.com/js/book/ch_symbols.html#converting-symbols&#34;&gt;https://exploringjs.com/js/book/ch_symbols.html#converting-symbols&lt;/a&gt;&lt;br/&gt;Thus:&lt;br/&gt;&lt;br/&gt;console.log(`Unexpected value: ${String(value)}`);
    </content>
    <updated>2025-01-31T13:19:12Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxsrhcnywsj5067kdzp6m6mt87avpjmvuwc2qax9kuu3xtmm57ufgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nska05q4</id>
    
      <title type="html">Interesting #Mastodon detail: If you reply to a post and don’t ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxsrhcnywsj5067kdzp6m6mt87avpjmvuwc2qax9kuu3xtmm57ufgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nska05q4" />
    <content type="html">
      Interesting #Mastodon detail: If you reply to a post and don’t mention any account names then the author of that post is not notified.
    </content>
    <updated>2025-01-30T18:59:16Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstqv6vqed0tlw0vz8jtxfae2cm0zrxrtxuw8usd9w57umclcr7k7czypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nserzd5s</id>
    
      <title type="html">My impression: We are moving from top-down changes to bottom-up ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstqv6vqed0tlw0vz8jtxfae2cm0zrxrtxuw8usd9w57umclcr7k7czypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nserzd5s" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy5rxk0nex9ngal2fth80m9eex03e7xwswnukre50pre7cxy5zt7qfrve3r&#39;&gt;nevent1q…ve3r&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;My impression: We are moving from top-down changes to bottom-up changes in society. I’m seeing lots of positive grassroots initiatives, lots of goodness at the local level, but the tops of the hierarchies are still often problematic.&lt;br/&gt;&lt;br/&gt;I’m not saying that’s a done deal, but there are things to be hopeful about.
    </content>
    <updated>2025-01-30T12:59:15Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsfkk2tv86khs8yycedgyflrr2p8ehx8uphfacc0qsyjmeje4fj63gzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nseahlzs</id>
    
      <title type="html">I wouldn’t use a CDN myself either, but the setup is compelling ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsfkk2tv86khs8yycedgyflrr2p8ehx8uphfacc0qsyjmeje4fj63gzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nseahlzs" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdgjjpf4v0q498ndekh2esgf9mquq8qgj8nj70j2gal4wuksgghqscxcct2&#39;&gt;nevent1q…cct2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I wouldn’t use a CDN myself either, but the setup is compelling in its minimalism.
    </content>
    <updated>2025-01-28T18:30:59Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0ew8tama660tzsrg2hs529j5sl3lgceaz5eqpwl3v0d2cc8xrvtszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns2xzvx8</id>
    
      <title type="html">For large projects, Vite seems to have become pretty much the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0ew8tama660tzsrg2hs529j5sl3lgceaz5eqpwl3v0d2cc8xrvtszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns2xzvx8" />
    <content type="html">
      For large projects, Vite seems to have become pretty much the standard(?)&lt;br/&gt;&lt;br/&gt;What would you use for small projects?
    </content>
    <updated>2025-01-28T17:37:44Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqk37n7nudy70ruxrthytm52hj6aknc86tg4f65s3vez7ua6fjwmszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nssucyur</id>
    
      <title type="html">#TypeScript’s mapped types: Due to their syntax, I assumed they ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqk37n7nudy70ruxrthytm52hj6aknc86tg4f65s3vez7ua6fjwmszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nssucyur" />
    <content type="html">
      #TypeScript’s mapped types: Due to their syntax, I assumed they only work for objects, but they work just as well for tuples:&lt;br/&gt;&lt;br/&gt;type Wrap&amp;lt;T&amp;gt; = {&lt;br/&gt;  [Key in keyof T]: Promise&amp;lt;T[Key]&amp;gt;&lt;br/&gt;};&lt;br/&gt;type _ = Wrap&amp;lt;[&amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;]&amp;gt;;&lt;br/&gt;  // [Promise&amp;lt;&amp;#34;a&amp;#34;&amp;gt;, Promise&amp;lt;&amp;#34;b&amp;#34;&amp;gt;]
    </content>
    <updated>2025-01-25T13:01:28Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqzf0f43fjn44vdxxmtlw8x76nsu5s0sw27gqar5g582ectx3qvsgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsfma6c3</id>
    
      <title type="html">// #TypeScript syntax: tuple (not array). Are there more? const ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqzf0f43fjn44vdxxmtlw8x76nsu5s0sw27gqar5g582ectx3qvsgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsfma6c3" />
    <content type="html">
      // #TypeScript syntax: tuple (not array). Are there more?&lt;br/&gt;&lt;br/&gt;const tuple1 = [&amp;#39;a&amp;#39;, 1];&lt;br/&gt;  // (string | number)[]&lt;br/&gt;&lt;br/&gt;  // Non-empty tuple&lt;br/&gt;const tuple2 = [&amp;#39;a&amp;#39;, 1] satisfies [unknown, ...unknown[]];&lt;br/&gt;  // [string, number]&lt;br/&gt;&lt;br/&gt;  // Any tuple&lt;br/&gt;const tuple3 = [&amp;#39;a&amp;#39;, 1] satisfies [] | unknown[];&lt;br/&gt;  // [string, number]
    </content>
    <updated>2025-01-23T12:10:31Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszc53vjhtycuy6vhrsc3x3prejn6l3y6dmgd864snt6rkrks0um8szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns3lta06</id>
    
      <title type="html">Interesting, wasn’t aware! Handbook even says: “The new ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszc53vjhtycuy6vhrsc3x3prejn6l3y6dmgd864snt6rkrks0um8szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns3lta06" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9re5e2thzda3pdp7pk7ne9wn2uh8p94ct9y5ey873mkt74ef9j7g6szta3&#39;&gt;nevent1q…zta3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Interesting, wasn’t aware!&lt;br/&gt;&lt;br/&gt;Handbook even says: “The new satisfies operator lets us validate that the type of an expression matches some type, without changing the resulting type of that expression.”&lt;br/&gt;&lt;br/&gt;But:&lt;br/&gt;&lt;br/&gt;type NonEmptyTuple = [unknown, ...unknown[]];&lt;br/&gt;const tuple = [1, 2, 3] satisfies NonEmptyTuple; // changes type
    </content>
    <updated>2025-01-23T08:56:02Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvkvtk2c8m3cx3d9ek6ma92nssnwrte7p9ndq0x0hugg99kvhqqwqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsjctdpn</id>
    
      <title type="html">I don’t think it helps because it never affects the type.</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvkvtk2c8m3cx3d9ek6ma92nssnwrte7p9ndq0x0hugg99kvhqqwqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsjctdpn" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0caf2tdyf5aehy2y5deacczxxecxlu0ahgrwlfq8dv89rgje69vsyu7ryn&#39;&gt;nevent1q…7ryn&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I don’t think it helps because it never affects the type.
    </content>
    <updated>2025-01-22T15:13:12Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstqhpqquxrzx2jlsaarq3aalt8qy80ralg04wta4p60l9shpxl7vqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsdn3h26</id>
    
      <title type="html">#TypeScript: I don’t think TColor being Color can be avoided(?) ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstqhpqquxrzx2jlsaarq3aalt8qy80ralg04wta4p60l9shpxl7vqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsdn3h26" />
    <content type="html">
      #TypeScript: I don’t think TColor being Color can be avoided(?)&lt;br/&gt;&lt;br/&gt;class Color {&lt;br/&gt;  static red = new Color();&lt;br/&gt;  static green = new Color();&lt;br/&gt;  static blue = new Color();&lt;br/&gt;}&lt;br/&gt;type TColor = typeof Color.red | typeof Color.green | typeof Color.red;&lt;br/&gt;&lt;br/&gt;Even adding a private slot to make Color nominal doesn’t change anything.
    </content>
    <updated>2025-01-22T10:41:52Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs9mnclxffadmr29gvj8xzk9rsy3qqlvp6xmt828l365wqgv8zwykszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsywqvdk</id>
    
      <title type="html">#TypeScript: Does anyone know why and how to fix it? const Red = ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs9mnclxffadmr29gvj8xzk9rsy3qqlvp6xmt828l365wqgv8zwykszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsywqvdk" />
    <content type="html">
      #TypeScript: Does anyone know why and how to fix it?&lt;br/&gt;&lt;br/&gt;const Red = Symbol(&amp;#39;Red&amp;#39;);&lt;br/&gt;const Green = Symbol(&amp;#39;Green&amp;#39;);&lt;br/&gt;const arr1 = [&lt;br/&gt;  [Red, &amp;#39;RED&amp;#39;],&lt;br/&gt;  [Green, &amp;#39;GREEN&amp;#39;],&lt;br/&gt;] as const;&lt;br/&gt;new Map(arr1); // error&lt;br/&gt;&lt;br/&gt;const arr2 = [&lt;br/&gt;  [0, &amp;#39;RED&amp;#39;],&lt;br/&gt;  [1, &amp;#39;GREEN&amp;#39;],&lt;br/&gt;] as const;&lt;br/&gt;new Map(arr2); // OK&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.typescriptlang.org/play/?target=2#code/MYewdgzgLgBASgUwCYwLwwMoE8C2AjEAGwAoByRJUgSgG4AoUSWAcQCcEEw1NcCTS2HMNXqNoMAIatWARm4BtOjBjyKAGhjkAogBFSAXTVKVgzhoFwtWgHIGj&#43;yRBhio9MAgDuMALISADsRSsrQwAPShMAjSIKx0DODiQQBMCsbyAAzmlnqGaTLmzJY2dnQOEk4ubp4&#43;-oHSSSHhMADyANJAA&#34;&gt;https://www.typescriptlang.org/play/?target=2#code/MYewdgzgLgBASgUwCYwLwwMoE8C2AjEAGwAoByRJUgSgG4AoUSWAcQCcEEw1NcCTS2HMNXqNoMAIatWARm4BtOjBjyKAGhjkAogBFSAXTVKVgzhoFwtWgHIGj&#43;yRBhio9MAgDuMALISADsRSsrQwAPShMAjSIKx0DODiQQBMCsbyAAzmlnqGaTLmzJY2dnQOEk4ubp4&#43;-oHSSSHhMADyANJAA&lt;/a&gt;
    </content>
    <updated>2025-01-17T08:56:45Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxpepgf8npkq33mn4ejlmk8qa32yw54r948arpu2c9h0jyvj3zteqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns7upny2</id>
    
      <title type="html">#TypeScript: How confident do you feel about your tsconfig.json? ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxpepgf8npkq33mn4ejlmk8qa32yw54r948arpu2c9h0jyvj3zteqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns7upny2" />
    <content type="html">
      #TypeScript: How confident do you feel about your tsconfig.json?&lt;br/&gt;&lt;br/&gt;For me the answer was always: “not very”. So I wrote a blog post to change that: &lt;a href=&#34;https://2ality.com/2025/01/tsconfig-json.html&#34;&gt;https://2ality.com/2025/01/tsconfig-json.html&lt;/a&gt;
    </content>
    <updated>2025-01-16T14:00:17Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsfetta06etk86gtxveff4llkdy03258srstaqcwad4p2mlsnp6ekczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns79ftj6</id>
    
      <title type="html">I know that that term is tricky. That’s why I used quotes the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsfetta06etk86gtxveff4llkdy03258srstaqcwad4p2mlsnp6ekczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns79ftj6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsznllzwwmmvhc9j6ud2u8w08xj0mj4mn5stfd47fvkwumprnlyl6q409ruv&#39;&gt;nevent1q…9ruv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I know that that term is tricky. That’s why I used quotes the first time I mentioned it.&lt;br/&gt;&lt;br/&gt;Is it not clear from the context what I mean?
    </content>
    <updated>2024-12-01T17:40:48Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgmek27pmdfmlm0xrvh86ew03m0txtqrfgd0rzkk33rxc5k3pgnqgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns2rv6n2</id>
    
      <title type="html">I often read that Mastodon is too complicated for “normal” ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgmek27pmdfmlm0xrvh86ew03m0txtqrfgd0rzkk33rxc5k3pgnqgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns2rv6n2" />
    <content type="html">
      I often read that Mastodon is too complicated for “normal” people. I’m curious: How tech savvy do you consider yourself to be?&lt;br/&gt;&lt;br/&gt;I’d especially love to hear from #1 people.&lt;br/&gt;&lt;br/&gt;My list of upcoming Mastodon improvements: &lt;a href=&#34;https://2ality.com/2024/11/mastodon-weaknesses.html&#34;&gt;https://2ality.com/2024/11/mastodon-weaknesses.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;:Mastodon: Boosts appreciated, to get as varied a sample as possible!
    </content>
    <updated>2024-12-01T17:15:34Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsdtyt3exffquzhxnr3hvrl2usc48aftd0c5we984cauz005nq6p0szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns23vs8w</id>
    
      <title type="html">#Markdown: Joplin interprets text line breaks as Markdown line ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsdtyt3exffquzhxnr3hvrl2usc48aftd0c5we984cauz005nq6p0szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9ns23vs8w" />
    <content type="html">
      #Markdown: Joplin interprets text line breaks as Markdown line breaks and I really like that now—especially for notes:&lt;br/&gt;&lt;br/&gt;Sometimes, I’m lazy and jot down items: one item with 1&#43; words per line. Thankfully, Joplin does not turn those lines into a single paragraph.
    </content>
    <updated>2024-11-30T18:21:49Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqa59vmdphjwjtck6zzde9cpjlpr2szz0rwnnjptssudw6hwr4s8czypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsfgle83</id>
    
      <title type="html">True. Especially since there is a difference between prototype ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqa59vmdphjwjtck6zzde9cpjlpr2szz0rwnnjptssudw6hwr4s8czypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsfgle83" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgalwfypt3jx4wtgc4qf8w3ek0h477dct0zmh7hdycsnpy2y7p5yslq8fgm&#39;&gt;nevent1q…8fgm&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;True. Especially since there is a difference between prototype and instance and since `static` exists.
    </content>
    <updated>2024-11-28T23:24:45Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstvvhsjwan5k7qexj2nphsfggd3c40ydxxtfwchzdkj96t2a3ysnszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsmg4tr6</id>
    
      <title type="html">#JavaScript syntax: 😬 class C { [x] = &amp;#39;abc&amp;#39; } new C() ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstvvhsjwan5k7qexj2nphsfggd3c40ydxxtfwchzdkj96t2a3ysnszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsmg4tr6" />
    <content type="html">
      #JavaScript syntax: 😬&lt;br/&gt;&lt;br/&gt;class C { [x] = &amp;#39;abc&amp;#39; }&lt;br/&gt;&lt;br/&gt;new C() creates an instance property whose key is the value stored in the variable `x` (i.e., `x` must exist in a surrounding scope).
    </content>
    <updated>2024-11-28T22:00:26Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsz7hka6vdf4huswtefyc4qyzlsptfzvqf7u94z9ck9g9d5v99s43qzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsp04sxx</id>
    
      <title type="html">True! As an aside, That made learning foreign languages much more ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsz7hka6vdf4huswtefyc4qyzlsptfzvqf7u94z9ck9g9d5v99s43qzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsp04sxx" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfgd0q63dp4cttgdla68fq9jqx2rqcpg70a3v7c4dtauz33fdf39s85akv7&#39;&gt;nevent1q…akv7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;True! As an aside, That made learning foreign languages much more challenging. Additionally, you can’t really have dictionaries with scrolls.
    </content>
    <updated>2024-11-28T16:07:57Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstf7jx8c6n5wrfgl5fhafgy43e4jfzumrqpc28e3wlxevnjxlqv8gzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nss90khp</id>
    
      <title type="html">I relatively recent development is that Prettier made ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstf7jx8c6n5wrfgl5fhafgy43e4jfzumrqpc28e3wlxevnjxlqv8gzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nss90khp" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspsuekkum0pkzm5xfghlmwejskay0m5wyxp5mwaldzmn9a84uhalq9tx57l&#39;&gt;nevent1q…x57l&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I relatively recent development is that Prettier made no-semicolon styles less problematic.
    </content>
    <updated>2024-11-28T16:06:03Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsdmzh0dw3dkvwtfjpappk9hk36z4s5z2k7dd248a5yh73672uveqczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nstg6gju</id>
    
      <title type="html">#JavaScript without semicolons is old-school, not new-school: ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsdmzh0dw3dkvwtfjpappk9hk36z4s5z2k7dd248a5yh73672uveqczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nstg6gju" />
    <content type="html">
      #JavaScript without semicolons is old-school, not new-school: 😀&lt;br/&gt;&lt;br/&gt;“During antiquity, most scribes in the West wrote in scriptio continua, i.e. without punctuation delimiting word boundaries.”&lt;br/&gt;&lt;br/&gt;“After 200 BC, Greek scribes adopted the théseis system invented by Aristophanes of Byzantium, where a single dot called a punctus was placed at one of several heights to denote rhetorical divisions in speech”&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Punctuation&#34;&gt;https://en.wikipedia.org/wiki/Punctuation&lt;/a&gt;
    </content>
    <updated>2024-11-28T15:55:49Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2ftvsmzty6qkfd7fhmpr9gk4rmftc9les99ld3g9dx83cxnhphvczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nskfh9ma</id>
    
      <title type="html">Teaching frontend development with minimal tooling: – I love ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2ftvsmzty6qkfd7fhmpr9gk4rmftc9les99ld3g9dx83cxnhphvczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nskfh9ma" />
    <content type="html">
      Teaching frontend development with minimal tooling:&lt;br/&gt;– I love the idea of using no tools at all.&lt;br/&gt;– But: While you can develop without a build tool, you still want to bundle for deployment: Deploying all of node_modules seems undesirable.&lt;br/&gt;– I’m leaning towards esbuild because it’s fast (not much overhead during development) and simple (not that much to learn).
    </content>
    <updated>2024-11-25T17:04:53Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsdzncs7cz5j2ynk2tl33e8d49g7w4exf3tx09fnj2cxgjjlmetqmczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nssau9a2</id>
    
      <title type="html">Teaching people some of the basics of frontend &amp;amp; backend ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsdzncs7cz5j2ynk2tl33e8d49g7w4exf3tx09fnj2cxgjjlmetqmczypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nssau9a2" />
    <content type="html">
      Teaching people some of the basics of frontend &amp;amp; backend (incl. databases):&lt;br/&gt;– What service would you use?&lt;br/&gt;– Important: It should be virtually guaranteed to still exist in a few years. That precludes many startups that I, personally, find very interesting and would use for my own projects.&lt;br/&gt;– It must have a free tier that permits small experiments.
    </content>
    <updated>2024-11-25T17:00:36Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2yq3zfql4uyxj24slt96le3z2kqjaxjh0l6ecxy5c8sph6f6g25szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsspj98p</id>
    
      <title type="html">My impression: It depends on who sets the agenda: people who are ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2yq3zfql4uyxj24slt96le3z2kqjaxjh0l6ecxy5c8sph6f6g25szypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsspj98p" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8f7q4z4mm0s7tdvuugce6anywpu048y0ezjp0xjtq05ra0ucch8qzhjduh&#39;&gt;nevent1q…jduh&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;My impression: It depends on who sets the agenda: people who are motivated by profit (MBAs, investors, etc.) or people who are motivated by creating great products. Co-ops tend to be much different from companies owned by investors.&lt;br/&gt;&lt;br/&gt;The book “Reinventing Organizations” also shows what is possible w.r.t. making companies not evil. This is a good video about it: &lt;a href=&#34;https://www.youtube.com/watch?v=gcS04BI2sbk&#34;&gt;https://www.youtube.com/watch?v=gcS04BI2sbk&lt;/a&gt;
    </content>
    <updated>2024-11-23T15:50:45Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqswlcel46catsjdrxjtkdxvp68exv9gjnvl6nasufyp2v08lz4rrqqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsjjrr44</id>
    
      <title type="html">Apple’s trajectory makes me sad: I used to root for the company ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqswlcel46catsjdrxjtkdxvp68exv9gjnvl6nasufyp2v08lz4rrqqzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsjjrr44" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs25zx2x3va9vect6qfmjwlpadmxaz7quqkrfeehzq5qdezfqj98hsrw4fr9&#39;&gt;nevent1q…4fr9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Apple’s trajectory makes me sad: I used to root for the company because they are doing a lot of things right: tech as something that has to be useful, focus on accessibility, etc.&lt;br/&gt;&lt;br/&gt;But it’s become clear how cut-throat, greedy and anti-user they are. Their devices could be much more repairable (incl. fewer design changes over the years) and be supported much longer.&lt;br/&gt;&lt;br/&gt;And I’m not anti-corporate. Companies are not evil per se. Linux has its own set of issues!
    </content>
    <updated>2024-11-23T14:55:57Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs25zx2x3va9vect6qfmjwlpadmxaz7quqkrfeehzq5qdezfqj98hszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsmae38y</id>
    
      <title type="html">If iPadOS were as open as macOS, iPads would rival Macs with ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs25zx2x3va9vect6qfmjwlpadmxaz7quqkrfeehzq5qdezfqj98hszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsmae38y" />
    <content type="html">
      If iPadOS were as open as macOS, iPads would rival Macs with regard to versatility. Right now, I can’t use an iPad because it doesn’t have:&lt;br/&gt;– Homebrew&lt;br/&gt;– Terminal&lt;br/&gt;– Visual Studio Code&lt;br/&gt;&lt;br/&gt;File and window management could also be improved but that’s much less important.&lt;br/&gt;&lt;br/&gt;It would be great to have Mac-like power with the option of touch input.&lt;br/&gt;&lt;br/&gt;But I’m not holding my breath. It currently seems more likely that I’ll eventually switch completely over to Linux.
    </content>
    <updated>2024-11-23T14:46:26Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxees0unz22p5wmr3emvdxqsywltnjrmvev9xepwm5g0yjpw295hgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsa0kkua</id>
    
      <title type="html">Mastodon’s weaknesses and how to fix them ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxees0unz22p5wmr3emvdxqsywltnjrmvev9xepwm5g0yjpw295hgzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsa0kkua" />
    <content type="html">
      Mastodon’s weaknesses and how to fix them&lt;br/&gt;&lt;a href=&#34;https://2ality.com/2024/11/mastodon-weaknesses.html&#34;&gt;https://2ality.com/2024/11/mastodon-weaknesses.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#2ality #Mastodon
    </content>
    <updated>2024-11-20T10:50:22Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrwf3znmgdy4ycschjp7ln0xx8nq54hfxryky4ch8s5dknyhdcnsszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nszkzvwt</id>
    
      <title type="html">“Bluesky and enshittification” by @npub1fdr…lvhs Good, ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrwf3znmgdy4ycschjp7ln0xx8nq54hfxryky4ch8s5dknyhdcnsszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nszkzvwt" />
    <content type="html">
      “Bluesky and enshittification” by &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;&lt;br/&gt;Good, measured arguments against Bluesky&lt;br/&gt;&lt;a href=&#34;https://pluralistic.net/2024/11/02/ulysses-pact/&#34;&gt;https://pluralistic.net/2024/11/02/ulysses-pact/&lt;/a&gt;
    </content>
    <updated>2024-11-02T17:52:11Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs98j4l43z8m8tuxc4cy8nzpga7kyyg85c97juh2hutqr7nf3e04tszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nswwvr3r</id>
    
      <title type="html">I’m watching an interesting new sci-fi series where farm ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs98j4l43z8m8tuxc4cy8nzpga7kyyg85c97juh2hutqr7nf3e04tszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nswwvr3r" />
    <content type="html">
      I’m watching an interesting new sci-fi series where farm animals have evolved, developed speech and taken over the world (presumably after killing all humans). The protagonist is a piglet called Peppa.
    </content>
    <updated>2024-09-10T18:59:47Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsw26j72wdpcccx2mf3a7ma9ty30gxnynex639mefal8094w5fk7agzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsq67p2h</id>
    
      <title type="html">1/ I like both React and web components and it always makes me ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsw26j72wdpcccx2mf3a7ma9ty30gxnynex639mefal8094w5fk7agzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsq67p2h" />
    <content type="html">
      1/ I like both React and web components and it always makes me sad when the web components community simplistically bashes React (the reverse happens too, but much less frequently, IINM):&lt;br/&gt;– Be specific. Constructive and concrete criticism is always useful.&lt;br/&gt;– Ideas of React influenced current approaches—e.g.: Lit’s tagged templates remind me of JSX. As does how the data flow is managed (roughly—there are probably differences that I’m not aware of).
    </content>
    <updated>2024-08-31T11:00:15Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0eknc7mp9lmnpu5nf4e5h8gutzmwmyfanvktgew0tvaheulwpxaszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsgrdlny</id>
    
      <title type="html">2/ – I agree with saying no to (unnecessary) complexity: I have ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0eknc7mp9lmnpu5nf4e5h8gutzmwmyfanvktgew0tvaheulwpxaszypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsgrdlny" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgfkgmarfqs7je5u3fcrlv9da8qpkz7ttcjcptnvgfv5qw4qzpw9qs4n05e&#39;&gt;nevent1q…n05e&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;2/&lt;br/&gt;– I agree with saying no to (unnecessary) complexity: I have always tried to use as few technologies as possible and prefer lightweight technologies.&lt;br/&gt;– Key innovation of frameworks for me is simplified data flow—which most frameworks now support, even very lightweight ones. For anything beyond simple apps, I wouldn’t want to go back to jQuery and manual state management.&lt;br/&gt;– I’m not sure that bringing PHP or Ruby (via Rails) into the mix makes things simpler (unless you don’t like JS).
    </content>
    <updated>2024-08-30T13:23:56Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgfkgmarfqs7je5u3fcrlv9da8qpkz7ttcjcptnvgfv5qw4qzpw9qzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsz9l7q9</id>
    
      <title type="html">1/ I don’t think “say no to frameworks” properly summarizes ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgfkgmarfqs7je5u3fcrlv9da8qpkz7ttcjcptnvgfv5qw4qzpw9qzypa85ztce3rw7l74fra3yhj3cpx704x2vw2p0gsm264ftcm3rs9nsz9l7q9" />
    <content type="html">
      1/ I don’t think “say no to frameworks” properly summarizes the very different opinions in this article: &lt;a href=&#34;https://thenewstack.io/developers-rail-against-javascript-merchants-of-complexity/&#34;&gt;https://thenewstack.io/developers-rail-against-javascript-merchants-of-complexity/&lt;/a&gt;
    </content>
    <updated>2024-08-30T13:23:51Z</updated>
  </entry>

</feed>