<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-08-17T06:05:46Z</updated>
  <generator>https://nostr.now</generator>

  <title>Nostr notes by David Chisnall (*Now with 50% more sarcasm!*)</title>
  <author>
    <name>David Chisnall (*Now with 50% more sarcasm!*)</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.now/npub1akvd69ev3lkgrej6cnftq6rluwkg2ksjayuuq2yzphejqqkgjmnsxwtk0r.rss" />
  <link href="https://nostr.now/npub1akvd69ev3lkgrej6cnftq6rluwkg2ksjayuuq2yzphejqqkgjmnsxwtk0r" />
  <id>https://nostr.now/npub1akvd69ev3lkgrej6cnftq6rluwkg2ksjayuuq2yzphejqqkgjmnsxwtk0r</id>
  <icon>https://media.infosec.exchange/infosec.exchange/accounts/avatars/111/867/038/214/333/074/original/948015da7238758d.jpg</icon>
  <logo>https://media.infosec.exchange/infosec.exchange/accounts/avatars/111/867/038/214/333/074/original/948015da7238758d.jpg</logo>




  <entry>
    <id>https://nostr.now/nevent1qqs8fyeqktxs3p34pqjn5xaq3ckz2ual6lzvgap3lpjpslethdke57szyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwyr6u3p</id>
    
      <title type="html">My plan to redo how I manage a bunch of self-hosted things as a ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8fyeqktxs3p34pqjn5xaq3ckz2ual6lzvgap3lpjpslethdke57szyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwyr6u3p" />
    <content type="html">
      My plan to redo how I manage a bunch of self-hosted things as a set of containers on the new machine was foiled by the fact that it turns out I can just export the disk from Azure and import it into bhyve and it all just works (once I change the interface names and IP addresses).&lt;br/&gt;&lt;br/&gt;#FreeBSD #bhyve
    </content>
    <updated>2026-10-27T16:49:16Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsxzyjlw5pn9g720hkfnm0kgzrlhl4lusq39yuy2llu2nrr53t5cyczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwuy8w0r</id>
    
      <title type="html">Any #FreeBSD folks working on OCI things: Are there any plans for ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsxzyjlw5pn9g720hkfnm0kgzrlhl4lusq39yuy2llu2nrr53t5cyczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwuy8w0r" />
    <content type="html">
      Any #FreeBSD folks working on OCI things:&lt;br/&gt;&lt;br/&gt;Are there any plans for a bhyve-based runtime with a model similar to Apple&amp;#39;s container tool or Kata Containers?  I think the virtfs support is now in FreeBSD (sadly, not yet virtio-fs, but hopefully soon?).  I&amp;#39;d love to have bhyve as an alternative to jails for container isolation.
    </content>
    <updated>2026-10-27T13:50:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs04rlu54qukpewlyvaprtl4mc3zufr39yv5f270xuvl9pj0hwsr7gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww72vt36</id>
    
      <title type="html">Wonderful homage. Chekov was a shallow rôle that didn’t give ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs04rlu54qukpewlyvaprtl4mc3zufr39yv5f270xuvl9pj0hwsr7gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww72vt36" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;Wonderful homage. Chekov was a shallow rôle that didn’t give Koenig much scope to demonstrate talent and he squeezed far more out of it than anyone would reasonably expect. But he really shined as Bester. I’ve seen all of Babylon 5 at least four times and I’m still shocked reading how few episodes he was in: he felt like a main character in spite of appearing in only around 10% of the total episodes. I had no idea his first appearance as Bester was four weeks after a quadruple heart bypass operation.
    </content>
    <updated>2026-10-27T08:30:11Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9mwze8r7qe560m28tyx3eqtntuvkta60ss34ksnv57t6psg7f22szyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww2zcs72</id>
    
      <title type="html">BREAKING NEWS: A new vulnerability has been discovered in all ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9mwze8r7qe560m28tyx3eqtntuvkta60ss34ksnv57t6psg7f22szyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww2zcs72" />
    <content type="html">
      BREAKING NEWS: A new vulnerability has been discovered in all versions of PHP. Details will be forthcoming, but I’m told that, under certain unusual conditions, it will execute PHP code. This has numerous exploitable consequences, not least of which is that it leads to more PHP code in the world. The details are currently embargoed but the team responsible for discovering the vulnerability report that a similar class of problem exists in GCC and Clang as well.
    </content>
    <updated>2026-10-26T21:41:58Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqswh87rg65zlunyw2cslwqz8lcz4pge2jyan8q89j0pelpxtqfpzkgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwyf2wpv</id>
    
      <title type="html">If I read the Apollo analysis (the one that claimed that the ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqswh87rg65zlunyw2cslwqz8lcz4pge2jyan8q89j0pelpxtqfpzkgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwyf2wpv" />
    <content type="html">
      If I read the Apollo analysis (the one that claimed that the Fortune 500 minus the Magnificent Seven are not seeing productivity gains from AI) it&amp;#39;s actually slightly misleading.  It&amp;#39;s looking at per-employee productivity.  For the Fortune 493, that&amp;#39;s been flat, for the Magnificent 7 it&amp;#39;s been increasing.&lt;br/&gt;&lt;br/&gt;The first missing thing is that most of the M7&amp;#39;s revenue comes from things with high switching costs.  It&amp;#39;s a very long trailing indicator of their actual output.  They can fail to improve their products for a relatively long time and not see a decline in revenue, but for all of this time they become increasingly vulnerable to market disruption and someone suddenly taking a big chunk of their market share.&lt;br/&gt;&lt;br/&gt;The second missing thing is that these companies, whose revenue is more-or --less guaranteed over the short term, have all done significant headcount reduction over the periods that they looked at, partly trimming ZIRP and COVID over-exuberant hiring, partly to free up cashflow for investing in datacentres and GPUs.  Reducing the number of employees while keeping the output roughly constant will eventually cause a decline in revenue but, in the short term, will show more revenue per head: their metric.&lt;br/&gt;&lt;br/&gt;Finally, those revenue numbers are propped up by setting cash on fire.  A company that spends $100B on capex for things that fail after 3-5 years, and uses it to drive a $10B revenue increase will see a revenue-per-capita increase, but is not in any way a sustainable business model.&lt;br/&gt;&lt;br/&gt;All of these mean that their metrics look much better for the M7 than their fundamentals would reflect.  And those are the companies that they&amp;#39;re saying are the only winners.
    </content>
    <updated>2026-10-26T10:30:39Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9czp07h7el6fm6yrvaxhf5y3jq33gnhhcs03l6jq9m730zqz4h6qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwushcka</id>
    
      <title type="html">Given the EU’s push to simplify the GDPR to make compliance ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9czp07h7el6fm6yrvaxhf5y3jq33gnhhcs03l6jq9m730zqz4h6qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwushcka" />
    <content type="html">
      Given the EU’s push to simplify the GDPR to make compliance easier, I propose the following replacement text:&lt;br/&gt;&lt;br/&gt;Nope.&lt;br/&gt;&lt;br/&gt;With the following additional non-normative additional guidance:&lt;br/&gt;&lt;br/&gt;No. Seriously, what’s wrong with you people? Why would you ever think anyone would consent to that. No. Just no.
    </content>
    <updated>2026-10-26T08:39:37Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsfxzylcmkwuxzcyh5n5e9sz8nsdzr0q572favgr5vpmapcssc5yxgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww42qlx4</id>
    
      <title type="html">I haven’t been following the details of the election in Brazil, ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsfxzylcmkwuxzcyh5n5e9sz8nsdzr0q572favgr5vpmapcssc5yxgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww42qlx4" />
    <content type="html">
      I haven’t been following the details of the election in Brazil, but am I right in understanding that Meta has just made a massive enemy of the government of a country of over 200 M people that is influential in setting policy for a large number of other smaller countries?
    </content>
    <updated>2026-10-26T08:35:16Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0vejrn6wzpj9g6w7jv3n6mzc0gf8eqfrzkt9wdhqqm5nxumtrhegzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwkpzeya</id>
    
      <title type="html">Yay, finally moved everything off Azure! (My free subscriptions ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0vejrn6wzpj9g6w7jv3n6mzc0gf8eqfrzkt9wdhqqm5nxumtrhegzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwkpzeya" />
    <content type="html">
      Yay, finally moved everything off Azure!&lt;br/&gt;&lt;br/&gt;(My free subscriptions actually ended, so I was properly incentivised.  One of my small VMs on Azure cost more per month if I&amp;#39;m actually paying for it than the dedicated server that&amp;#39;s now running the same VM and other things)
    </content>
    <updated>2026-10-25T15:05:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8unxl78p350uwjad95kshr5ez7msjuagqcel43x73ky63tdkmtaqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww7n8z8g</id>
    
      <title type="html">For a discussion elsewhere, I did some back-of-the-envelope ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8unxl78p350uwjad95kshr5ez7msjuagqcel43x73ky63tdkmtaqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww7n8z8g" />
    <content type="html">
      For a discussion elsewhere, I did some back-of-the-envelope calculations about the relative performance of disks and CPUs since the early 2000s.  The number of retired instructions per byte of random disk reads between an early 2000s machine and today has changed by at least four orders of magnitude (possibly six, depending on exactly what you&amp;#39;re measuring).  &lt;br/&gt;&lt;br/&gt;I knew disks had become faster, but that&amp;#39;s an enormous change.  If you wrote something 25 years ago that was entirely disk-I/O-bound and used 5% of the CPU, running today it wouldn&amp;#39;t even be close to 1% of disk bandwidth usage but would be pegging the core at 100%.  Even making it multithreaded and getting a perfect linear speedup wouldn&amp;#39;t have come close to 1% disk-bandwidth usage.&lt;br/&gt;&lt;br/&gt;The delta is less pronounced for large sequential reads.
    </content>
    <updated>2026-10-25T12:30:35Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsy5uct428wla2c2e6ryx7xq93v7gsm8k3arqnh3gq3ztrknwvetagzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwyfxj6s</id>
    
      <title type="html">PSA: If you haven&amp;#39;t been following @nprofile…0733 during ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsy5uct428wla2c2e6ryx7xq93v7gsm8k3arqnh3gq3ztrknwvetagzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwyfxj6s" />
    <content type="html">
      PSA: If you haven&amp;#39;t been following &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpqmzscmfjq8ykfa8wg4nc7cs0rhnw6vpg98a8662kdc3rw3ledhqaq0u0733&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpqmzscmfjq8ykfa8wg4nc7cs0rhnw6vpg98a8662kdc3rw3ledhqaq0u0733&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…0733&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; during Owltober, you have been missing out even more than at other times.
    </content>
    <updated>2026-10-25T12:22:03Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsftk5vdkxvgne3v7udf58mj5h6amr82exl2z7lmykwmvmkfvkjdhqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwv99m2x</id>
    
      <title type="html">Is there a good solution for TLS certs for consumer LAN devices? ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsftk5vdkxvgne3v7udf58mj5h6amr82exl2z7lmykwmvmkfvkjdhqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwv99m2x" />
    <content type="html">
      Is there a good solution for TLS certs for consumer LAN devices? My ISP’s router recently moved to requiring TLS, but I access it via it’s IP address and it doesn’t have a TLS cert for an IP address (is it even possible to get a TLS cert for a private IP address?) and so the main change is that my browser no longer autocompletes the admin password (for good reasons: don’t autocomplete passwords in TOS sessions with invalid certs!).
    </content>
    <updated>2026-10-25T09:43:08Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsg0gsd3erwy8d30m6au0tlhf0rplmuwctxk7sp6x5zkw2awrc2gdszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww56gfhk</id>
    
      <title type="html">Reminder to people who have international meetings: the next week ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsg0gsd3erwy8d30m6au0tlhf0rplmuwctxk7sp6x5zkw2awrc2gdszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww56gfhk" />
    <content type="html">
      Reminder to people who have international meetings: the next week is George W Bush Golfing Time. The USA and Europe had an agreement to move clocks at the same time, so the time difference remained constant. George W Bush decided he wanted a few weeks more golfing time, so unilaterally moved the USA’s Daylight Saving Time. This move remains in effect so there are a few weeks of annoying disruption each year.&lt;br/&gt;&lt;br/&gt;I made the mistake of flying the first time this happened, which is how I knew about it: the airlines were unprepared and sold me tickets on two flights where the time change meant that my slightly tight 45-minute change turned into a -15 minute connection time (fortunately the second flight was on a route they flew every two hours so I was only an hour late)l
    </content>
    <updated>2026-10-25T07:57:07Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsqg4kquc0euhc42mgsun8ut29ghu6qlsfkex3z98zcrkatdsl58sczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwek4ark</id>
    
      <title type="html">The ISO meeting portal has a nice visualisation of where the ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsqg4kquc0euhc42mgsun8ut29ghu6qlsfkex3z98zcrkatdsl58sczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwek4ark" />
    <content type="html">
      The ISO meeting portal has a nice visualisation of where the meeting&amp;#39;s time zone is.  Unfortunately, it&amp;#39;s based solely on the displacement from the meridian and not on political decisions about what time zones apply.&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://media.infosec.exchange/infosec.exchange/media_attachments/files/117/485/476/291/733/137/original/9824bea4e79bb304.png&#34;&gt; 
    </content>
    <updated>2026-10-22T16:26:03Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsghalcfde5vy4m6qhx76wk7ffsjs6ptztn552m67dp9z07wzuef5gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwrpf3aq</id>
    
      <title type="html">There is a reasonable chance Vidarr is the prettiest cat in the ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsghalcfde5vy4m6qhx76wk7ffsjs6ptztn552m67dp9z07wzuef5gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwrpf3aq" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;There is a reasonable chance Vidarr is the prettiest cat in the Fediverse. Such a pretty little face and long floofy fur.&lt;br/&gt;&lt;br/&gt;I might be wrong though, so please feel free to post counterexamples.
    </content>
    <updated>2026-10-22T15:28:25Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs2dy7anqwmwq5d7t7a0j56rysdkpu0ss7dztmjrhkh5m8e42ut2nszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwstxhfg</id>
    
      <title type="html">I have had a lot of discussions over the last decade on correct ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs2dy7anqwmwq5d7t7a0j56rysdkpu0ss7dztmjrhkh5m8e42ut2nszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwstxhfg" />
    <content type="html">
      I have had a lot of discussions over the last decade on correct handling for out-of-memory conditions.  There are two very distinct philosophical camps.&lt;br/&gt;&lt;br/&gt;The Windows kernel has a policy of &amp;#39;don&amp;#39;t make promises you can&amp;#39;t keep&amp;#39;.  This means that a call to malloc will either return memory that is already available or the result of a new call to VirtualAlloc2, with committed memory.  When the NT kernel says it has &amp;#39;committed&amp;#39; memory, it means it promises that memory will be available when you try to access it.  There is space reserved either in RAM or in swap to permit something else to be moved from RAM to make space for the thing that you need.  &lt;br/&gt;&lt;br/&gt;The other extreme says that you should assume that sometimes components fail.  Erlang embodies this as the &amp;#39;let it crash&amp;#39; philosophy.  Google discovered fairly early on that, when you&amp;#39;re looking at jobs distributed across large fleets of machines, a single node experiencing hardware failure is basically unavoidable.  Mainframes deal with this by duplicating all of the hardware (often multiple times) so a hardware failure can be transparently worked around.  But clouds built from consumer hardware don&amp;#39;t do that: sometimes VMs die and you deal with it.&lt;br/&gt;&lt;br/&gt;In the &amp;#39;let it crash&amp;#39; model, you already need to build resilience at a higher level.  Your individual jobs may fail because the hardware that runs on them fails.  You need to be able to roll back any partially committed transactions that they started and restart them from the beginning.  For things like web servers, that&amp;#39;s usually easy: This HTTP request failed?  The client can retry.&lt;br/&gt;&lt;br/&gt;Once you have that mechanism, you rapidly realise that you can use it for other infrequent operations.  Memory allocation almost never fails.  If it does, let the program crash.  Systems like iOS and macOS encourage programs to persist any user-visible state frequently, so a program crashing is fine - you may lose a couple of seconds work.  In exchange for this, you get much simpler code.  Rather than every allocation having to come with error handling (and there are tens of thousands of individual allocation points in a typical non-trivial program), you just assume it works and crash if it failed.&lt;br/&gt;&lt;br/&gt;Some kernels, such as Linux and FreeBSD, lean into this even further.  If the kernel claims it&amp;#39;s given you memory, that isn&amp;#39;t a promise, it&amp;#39;s a best-effort guarantee.  When you actually use it, they&amp;#39;ll either ensure it&amp;#39;s there or deliver a signal.  It turns out most programs ask for memory that they&amp;#39;ll need in their worst case, but this mechanism gives them the memory that they actually need.  And this means that fewer allocations fail.  You can&amp;#39;t easily handle the allocation failure locally, but you&amp;#39;re now less likely to hit allocation failure.&lt;br/&gt;&lt;br/&gt;And this is a big win for overall reliability and performance.  Because it turns out that gracefully handling out-of-memory conditions is really hard.  Often, good error recovery requires allocating memory, but you can&amp;#39;t do that if you&amp;#39;ve hit an out-of-memory condition.  And these errors propagate outwards.  Every function that allocates memory not may fail due to memory exhaustion.  So it&amp;#39;s not just routines that allocate memory that need to handle out-of-memory errors, it&amp;#39;s everything that calls them.  And you have to get it right at every place that needs to do any kind of cleanup if memory is exhausted.&lt;br/&gt;&lt;br/&gt;This is one of the biggest reasons that embedded development is harder than application development: you can&amp;#39;t assume memory exhaustion is rare and you don&amp;#39;t always have an outer layer that can handle component-level failures.  But in every other situation, the correct approach is to assume that memory is infinite and allocations never fail, and to assume that the component making that assumption will crash periodically.&lt;br/&gt;&lt;br/&gt;This is a post about PHP.
    </content>
    <updated>2026-10-22T10:36:26Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqstlnyg0qnay5slw4l45uxsw0ctcc3wncmzccvndg49wxtl2apvjzszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwv8znfm</id>
    
      <title type="html">I laughed when I discovered (via an improperly handled error ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqstlnyg0qnay5slw4l45uxsw0ctcc3wncmzccvndg49wxtl2apvjzszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwv8znfm" />
    <content type="html">
      I laughed when I discovered (via an improperly handled error condition in their API leaking far more than it was supposed to) that one of our SaaS providers used Perl. They seem like the smart ones this week.
    </content>
    <updated>2026-10-22T08:00:48Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsf25nfulzjx8sya8tq3p8ql2axus5v3fls95mp02snv4zzh32qnmgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwpmupnd</id>
    
      <title type="html">I’ve been following some investment advice from a friend for a ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsf25nfulzjx8sya8tq3p8ql2axus5v3fls95mp02snv4zzh32qnmgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwpmupnd" />
    <content type="html">
      I’ve been following some investment advice from a friend for a while that the market has about a three-month memory for security disasters. When a company has a big incident, there’s normally a 20-30% dip in the stock price. I buy, and set up a sell order for their pre-incident crash. So far, in every case, I’ve made a 30% return in about three months (and, in all cases, would have made more if I’d held for longer).&lt;br/&gt;&lt;br/&gt;But the last time a CA screwed up this badly, browsers just stopped bundling their root certs entirely, so this one seems like a higher risk.
    </content>
    <updated>2026-10-22T07:53:54Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsyph24wfudnchj24vp9jznx9d0y5pwvcrn87zjum4zd40mv5d9w9czyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwzzquen</id>
    
      <title type="html">Wasn’t the last OpenSSH vulnerability as a result of running ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsyph24wfudnchj24vp9jznx9d0y5pwvcrn87zjum4zd40mv5d9w9czyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwzzquen" />
    <content type="html">
      Wasn’t the last OpenSSH vulnerability as a result of running code in an atexit handler, when the program was in an undefined state? And wasn’t this the motivation for C11 adding at_quick_exit?&lt;br/&gt;&lt;br/&gt;And didn’t we all learn the lesson that, in a C codebase, the correct thing to do when you are in an undefined state, for example as a result of an allocation failing with no local error handling, to exit the process as quickly as possible and handle resilience at the orchestration layer?&lt;br/&gt;&lt;br/&gt;Well, almost all of us, apparently.
    </content>
    <updated>2026-10-21T20:10:45Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0eun87nnp9pvqskpn69a4utclccwrgdvmtalhp742pfrw769mdyqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwweu2vps</id>
    
      <title type="html">The thing I&amp;#39;d really like to see is the time between the PHP ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0eun87nnp9pvqskpn69a4utclccwrgdvmtalhp742pfrw769mdyqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwweu2vps" />
    <content type="html">
      The thing I&amp;#39;d really like to see is the time between the PHP fix being released and the binary packages being available to install across different operating systems and distributions.&lt;br/&gt;&lt;br/&gt;#Linux #BSD
    </content>
    <updated>2026-10-21T12:40:20Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsyk9yn4cgra6nc3eth8n2tn5t6yxt7m3j084hzz8k9js8mjwcadvqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwuv63c2</id>
    
      <title type="html">Bug report from someone trying to formally specify our security ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsyk9yn4cgra6nc3eth8n2tn5t6yxt7m3j084hzz8k9js8mjwcadvqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwuv63c2" />
    <content type="html">
      Bug report from someone trying to formally specify our security properties showed that one of our comments is misleading in a specific corner case (and a PoC demonstrating that corner case!).  I absolutely love getting this kind of thing, it shows someone has read the code and comments carefully to understand exactly what can happen in all cases.&lt;br/&gt;&lt;br/&gt;The code wasn&amp;#39;t wrong (if you attack it in a specific way, it triggers the defence I expect it to trigger), but the explanation was and the defence is triggered three instructions later than the comment says (but still in the code that is untrusted).
    </content>
    <updated>2026-10-21T09:36:22Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsxdjzwg74ut9zvu7th6n65ejn8lxfphrdrznnna2l3rkqqkljdnvqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwpyvkds</id>
    
      <title type="html">Any #FreeBSD folks using vm-bhyve with NAT? It appears that the ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsxdjzwg74ut9zvu7th6n65ejn8lxfphrdrznnna2l3rkqqkljdnvqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwpyvkds" />
    <content type="html">
      Any #FreeBSD folks using vm-bhyve with NAT?  It appears that the built-in support was removed in 2016 and never reintroduced.  It&amp;#39;s not clear to me how to set up the NAT between the bridged interface that vm-bhyve creates and the host network interface.  I&amp;#39;ve found a bunch of articles that claim to cover this and either use the command that hasn&amp;#39;t existed for 10 years or skip over network configuration.
    </content>
    <updated>2026-10-20T09:18:08Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsr3exllnpztr6mhcc5erjc8h340y0ltwsyzmdz0phkznvee55zh8szyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwws7yd6j</id>
    
      <title type="html">#ZFS folks: I have a dataset. When I do zfs list -t snapshot -o ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsr3exllnpztr6mhcc5erjc8h340y0ltwsyzmdz0phkznvee55zh8szyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwws7yd6j" />
    <content type="html">
      #ZFS folks:&lt;br/&gt;&lt;br/&gt;I have a dataset.&lt;br/&gt;&lt;br/&gt;When I do zfs list -t snapshot -o space {dataset}, I get a list of a small number of snapshots that add up to about 50G in their USED column.&lt;br/&gt;&lt;br/&gt;When I do zfs list -o space {dataset}, it says 1.45T in the USEDSNAP column.  &lt;br/&gt;&lt;br/&gt;How do I find out which snapshots are actually using this space?
    </content>
    <updated>2026-10-19T16:31:59Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0adlpkck5njzyzr3h5sfmr8wpuzjfgtnnff7r3c55ms3t326d82gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwt0ugzz</id>
    
      <title type="html">Nish Kumar needs to come with a health warning. Last night was ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0adlpkck5njzyzr3h5sfmr8wpuzjfgtnnff7r3c55ms3t326d82gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwt0ugzz" />
    <content type="html">
      Nish Kumar needs to come with a health warning.&lt;br/&gt;&lt;br/&gt;Last night was the second time I’d seen him do a full show of new material. Both times, my throat hurt at the end from laughing so hard.
    </content>
    <updated>2026-10-18T09:22:50Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsddcwmypzfcuu8hhlhme4774t752pgcezxqplt8x8k6u7v05xkpmqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwmnr67y</id>
    
      <title type="html">I’ve been trying something recently on platforms that support ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsddcwmypzfcuu8hhlhme4774t752pgcezxqplt8x8k6u7v05xkpmqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwmnr67y" />
    <content type="html">
      I’ve been trying something recently on platforms that support emoji reactions for countering trolls: using Poe’s Law against them.&lt;br/&gt;&lt;br/&gt;Poe’s Law says that, without clear expression of intent, extreme views and satire of those views are indistinguishable. But reaction emoji let other people provide a hint about that intent.&lt;br/&gt;&lt;br/&gt;When someone writes a rage-bait troll, they want engagement. If you reply, they’re happy. If you put a thumb-down or angry-face reaction, they’re less happy but they know they’ve got to you.&lt;br/&gt;&lt;br/&gt;But what happens if you do a laughing-face emoji? Minimal engagement (one or two clicks) and they haven’t upset you.&lt;br/&gt;&lt;br/&gt;And then the next person seeing the post sees it framed by the laughing reaction. So their reaction is likely to be ‘oh, I guess this is meant as satire’ and they either add a laughing reaction or they just decide it’s satire in poor taste and ignore it. And no one engages in the comments because they’ve seen the laugh reactions and don’t take the post seriously.&lt;br/&gt;&lt;br/&gt;And, after a while, the trolls get bored and go somewhere else.&lt;br/&gt;&lt;br/&gt;I’m quite surprised at how well this works.
    </content>
    <updated>2026-10-18T09:06:26Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsw3ht5duh8d78lzw8h8m5t75whh3vuwpk3y9zk59w8a548cwvh6dgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww9xl9tw</id>
    
      <title type="html">One of the patterns I’ve seen with people using Claude for ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsw3ht5duh8d78lzw8h8m5t75whh3vuwpk3y9zk59w8a548cwvh6dgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww9xl9tw" />
    <content type="html">
      One of the patterns I’ve seen with people using Claude for programming is:&lt;br/&gt;&lt;br/&gt;A programmer in the past looked at a tradeoff space and decided to make a common operation fast and an uncommon operation slow.&lt;br/&gt;&lt;br/&gt;Claude lacks proper context of the use of the software but spots a pattern that looks like things it’s training set has flagged as slow and so points to the slow path as a bottleneck.&lt;br/&gt;&lt;br/&gt;The user asks for a test case and Claude provides a simple microbenchmark that triggers the slow path.&lt;br/&gt;&lt;br/&gt;Now that it’s confirmed as slow, the user asks a ‘agentic’ harness to explore the design space and optimise for the benchmark. The swarm of Claude instances makes plausible changes to the code and reports back with a modified version that passes the test suite and improves the microbenchmark.&lt;br/&gt;&lt;br/&gt;The test suite doesn’t exhaustively cover all possible race conditions and so the new version may include subtle concurrency bugs. It also probably makes the common case slower and so is a regression overall. &lt;br/&gt;&lt;br/&gt;I don’t know if other LLMs encourage this flow, but I’ve seen it several times from people using Claude. &lt;br/&gt;&lt;br/&gt;I suspect Linus’ recent embarrassing interaction with his kernel’s virtual memory code may have been an example of this pattern. It’s very easy to do with an LLM because each step appears to be a demonstrable improvement. It comes with an objective benchmark, it passes all of the tests. Unfortunately, software often depends on a load of extrinsic knowledge that the LLM is trying to infer from a load of likely misleading data points.
    </content>
    <updated>2026-10-18T08:51:38Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsqdpz2lxszld0d49tquj2nt6k48h0395saemrnncfc5d6dfr8h7cszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww0mfnqv</id>
    
      <title type="html">It looks like Anthropic is learning that, when you spend years ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsqdpz2lxszld0d49tquj2nt6k48h0395saemrnncfc5d6dfr8h7cszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww0mfnqv" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;It looks like Anthropic is learning that, when you spend years publishing nonsense ‘annualised’ revenue figures[1], showing growth becomes increasing hard. And it’s unfortunate when this happens just before IPO.&lt;br/&gt;&lt;br/&gt;[1] Pick some day/week/month when you had a lot of revenue, scale it up as if you got that revenue for each time period in a year.
    </content>
    <updated>2026-10-17T09:45:46Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsvkyn95tvk5tzk3ghpdgz0qdh3hnh2v25dlaftxtd7sm8udty7j9czyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww5kuvj5</id>
    
      <title type="html">Wow, SwiftUI and all of the competent designers retiring has made ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsvkyn95tvk5tzk3ghpdgz0qdh3hnh2v25dlaftxtd7sm8udty7j9czyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww5kuvj5" />
    <content type="html">
      Wow, SwiftUI and all of the competent designers retiring has made #Apple so bad at UIs. I helped my mother set up a MacBook Air yesterday. We set the UI size to the maximum so she could see it easily. Around half of the setup boxes then had buttons that were either off the bottom of the screen or obscured by the dock (and therefore not clickable). &lt;br/&gt;&lt;br/&gt;Almost all of them had huge amounts of empty space in the middle and so could easily have fitted if some idiots private aesthetic had been considered less important than accessibility at Apple.&lt;br/&gt;&lt;br/&gt;All of them were either modal or app-modal (hey, Apple folks: you might like to read your own Human Interface Guidelines, they explain in detail why this is stupid). You couldn’t progress or go back until you’d hit the button that was off the screen and, because some were system-wide global, you couldn’t go to settings and change UI size without killing the thing that produced the box.&lt;br/&gt;&lt;br/&gt;All completely preventable if anyone in QA had bothered to try the first-time setup flow on an Apple device using each of the five UI-size options.&lt;br/&gt;&lt;br/&gt;Oh, honourable mention for #Microsoft if you install Word or Excel, the first launch window is a massive thing (which, at least, can be scrolled, unlike the Apple ones) giving you a bunch of options to buy an M356 subscription. There is no option anywhere in that window for logging in with your existing subscription. There is an option in the app menu, but it’s greyed out. If you close this window, the app exits. In your next release testing, try asking someone on your team to figure out how to log in from a fresh install. I eventually figured out the flow, but I was very close to the point of saying ‘let’s just put LibreOffice, Pages, and Numbers on this and not bother with the M365 stuff’. And I have a PhD in computer science and worked at Microsoft for five years: how do you think a vaguely normal human will do?
    </content>
    <updated>2026-10-17T08:27:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs29w7602c3njujg0fq6wxrll9v63rzswkvjv2ltu3cqdrkhhzj72gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwwvsteh</id>
    
      <title type="html">I am glad that leap seconds are gone, but also annoyed that they ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs29w7602c3njujg0fq6wxrll9v63rzswkvjv2ltu3cqdrkhhzj72gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwwvsteh" />
    <content type="html">
      I am glad that leap seconds are gone, but also annoyed that they ever existed.  Time zones are typically an hour wide, some places use the same time zone for geographic regions that span 2-3 1/24s of the Earth&amp;#39;s rotation.  &lt;br/&gt;&lt;br/&gt;This means, simply as an artefact of not living exactly at the centre of a time zone region, the offset between high noon and clock noon is likely to be at least half an hour, possibly over an hour.  &lt;br/&gt;&lt;br/&gt;Leap seconds correct for the fact that this may have drifted an additional 1-2 seconds in a year.  It&amp;#39;s second level precision in a thing where the accuracy is measured in tens of minutes.&lt;br/&gt;&lt;br/&gt;And that extra precision came with a huge amount of complexity that everyone had to deal with.
    </content>
    <updated>2026-10-16T14:47:40Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs25v2tkavsm7rd4xs9jf2ekzt55ecl4lnzjzr6yxlr2hy43ks2n6qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwtp3pjv</id>
    
      <title type="html">Yay, freebsd-update creates boot environments during updates! ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs25v2tkavsm7rd4xs9jf2ekzt55ecl4lnzjzr6yxlr2hy43ks2n6qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwtp3pjv" />
    <content type="html">
      Yay, freebsd-update creates boot environments during updates!&lt;br/&gt;&lt;br/&gt;Boo, freebsd-update doesn&amp;#39;t clean them up, so an update failed because 90% of this VM&amp;#39;s disk was filled with old boot environments and stale freebsd-update files.&lt;br/&gt;&lt;br/&gt;#FreeBSD
    </content>
    <updated>2026-10-16T14:43:10Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsfpcud9y8mz48t4r2dr50tm8hmrd8ee27p9rn7pm3la42pd43p7dgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwlhtfkp</id>
    
      <title type="html">I can’t help wondering if this is a deliberate attempt by ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsfpcud9y8mz48t4r2dr50tm8hmrd8ee27p9rn7pm3la42pd43p7dgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwlhtfkp" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;I can’t help wondering if this is a deliberate attempt by someone in the FAA to get ‘AI’ banned for federal procurement. One plane full of legislators having a serious incident that can be directly blamed on ‘AI’ would do more to force a hard stop in ‘AI’ rollout in government than anything else I can think of.
    </content>
    <updated>2026-10-14T09:26:42Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs2syn7zl77vky4xqca9qcff9p6d90c03ecflv36u6y85gqr2ss6fgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww7hvqdu</id>
    
      <title type="html">Sikarugir Creator really brings the authentic Windows experience ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs2syn7zl77vky4xqca9qcff9p6d90c03ecflv36u6y85gqr2ss6fgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww7hvqdu" />
    <content type="html">
      Sikarugir Creator really brings the authentic Windows experience to macOS: every dialog box has &amp;#39;Yes&amp;#39; and &amp;#39;No&amp;#39; as the options, the order is completely random, and one of them is a destructive operation.
    </content>
    <updated>2026-10-13T11:32:43Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs280ygtnz80xhu595ja5z2tshemhs6vzvm5v6g6rjsctz2mayswwczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwy44vgm</id>
    
      <title type="html">I just fixed a bug where someone had sent an LLM-generated fix. ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs280ygtnz80xhu595ja5z2tshemhs6vzvm5v6g6rjsctz2mayswwczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwy44vgm" />
    <content type="html">
      I just fixed a bug where someone had sent an LLM-generated fix.  At first glance, the LLM fix was mostly right, except for a redundant atomic fence (LLMs seem to love __atomic_thread_fence in this codebase, no idea why).  &lt;br/&gt;&lt;br/&gt;But then I went to fix the bug.  The problem was that a lock was initialised too late and so could end up being initialised twice.  Ooops, locks are not meant to introduce concurrency problems!&lt;br/&gt;&lt;br/&gt;And the LLM fix moved it earlier, so that&amp;#39;s fine.&lt;br/&gt;&lt;br/&gt;Except... there&amp;#39;s another way that the object containing the lock might be reached via a global pointer and that didn&amp;#39;t have any guards.  I don&amp;#39;t think it&amp;#39;s possible to trigger the bug that way, but some of the future changes that I&amp;#39;d considered might introduce that as a path.  &lt;br/&gt;&lt;br/&gt;And there&amp;#39;s no real reason for anyone to want the object without the initialised lock, so moving the initialisation to just before the point where any other thread might reach the object is a simple fix.  &lt;br/&gt;&lt;br/&gt;But that isn&amp;#39;t what the LLM proposed.  Instead, it fixed the immediate issue without any reference to the long-term impact and maintainability of the codebase.  &lt;br/&gt;&lt;br/&gt;My fix was a fairly simple change: one new line of code, four new lines of comment, and six deleted lines of code (so worth doing for code readability even if the bug hadn&amp;#39;t been real).  And even a change that small, if you accepted the LLM recommendation (three new lines of code, no new comments, and six deleted lines), would have made the code less maintainable and more subtly broken.&lt;br/&gt;&lt;br/&gt;And that&amp;#39;s why I refer to these things as Technical Debt as a Service.
    </content>
    <updated>2026-10-13T10:49:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs2434wrpryq0qrcdjdgg4h8mgjcm2l5h299x5gt4sm20v4dmxah8szyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwc8qtgc</id>
    
      <title type="html">If the only tool you have is a palm, every problem looks like a ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs2434wrpryq0qrcdjdgg4h8mgjcm2l5h299x5gt4sm20v4dmxah8szyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwc8qtgc" />
    <content type="html">
      If the only tool you have is a palm, every problem looks like a facepalm.
    </content>
    <updated>2026-10-13T09:28:07Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsy70tdps3k7ltv8k2pvp89l3kaqqt8d2683md4j5v0e4f8ake07gszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwventcv</id>
    
      <title type="html">In other news that I missed: Last year there was an #LLVM GSoC to ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsy70tdps3k7ltv8k2pvp89l3kaqqt8d2683md4j5v0e4f8ake07gszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwventcv" />
    <content type="html">
      In other news that I missed:&lt;br/&gt;&lt;br/&gt;Last year there was an #LLVM GSoC to add an ABI library! And it looks like pretty much the design that several of us proposed in a Cambridge LLVM social around 12 years ago but none of us had time to work on! Yay!
    </content>
    <updated>2026-10-13T08:25:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsgx9e3d20rrzct77n2lkww5gylnrrf2dkea82l5ec2454zt7wpakczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwg7f877</id>
    
      <title type="html">Wow, the bugginess of Dune Awakening is amazing. Finished the ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsgx9e3d20rrzct77n2lkww5gylnrrf2dkea82l5ec2454zt7wpakczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwg7f877" />
    <content type="html">
      Wow, the bugginess of Dune Awakening is amazing. Finished the last (maybe? The story doesn’t conclude but the Internet suggests it’s the last?) story mission and I’m teleported back from Arrakeen to the main game map. Only the Ornithopter I used to fly to Arrakeen is gone. The one I had just collected everything I needed to build and had flown for the first time to start this quest.&lt;br/&gt;&lt;br/&gt;When I search for this bug, I find a Steam thread reporting it from June. 2025. So it’s been a known bug for over a year and the developers still can’t be bothered to fix it.&lt;br/&gt;&lt;br/&gt;Oh, and the most recent autosave was an hour ago, back before I started the long story mission. Apparently the work around is to hire someone else to fly you to the final bit of the mission. Ugh.&lt;br/&gt;&lt;br/&gt;The game is full of things like this. Sometimes when you arrive at Arrakeen, you spawn below the floor and fall forever. There are a bunch of places you can fall through the map, including one that you will encounter every time that you try to go around the back of the cultist’s area. &lt;br/&gt;&lt;br/&gt;If this were a game that had just been released, I might cut it some slack, but though the console port is new, all of these bugs appear to have been there since the start. They’ve had a year to fix them and just haven’t bothered.&lt;br/&gt;&lt;br/&gt;Oh, and there’s no pause button, which is just rude. I guess it’s aimed mostly at multiplayer, but there’s just no attention to detail. &lt;br/&gt;&lt;br/&gt;They also made a weird choice to base a load of plot elements on the awful prequel books. Casual Dune fans will know about Dune mostly from the films and so won’t know any of this nonsense. Almost everyone who read the books loathes the prequels. So the only people who will understand the context will hate it.&lt;br/&gt;&lt;br/&gt;#DuneAwakening
    </content>
    <updated>2026-10-12T11:24:12Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9urp8l8j7s00nn7t2puczs0kzvczk0ve2sr8n8vgcktjh8azjtugzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwj6d4t9</id>
    
      <title type="html">Hmm, MSFT is a bit over the price at which I sold half of my ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9urp8l8j7s00nn7t2puczs0kzvczk0ve2sr8n8vgcktjh8azjtugzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwj6d4t9" />
    <content type="html">
      Hmm, MSFT is a bit over the price at which I sold half of my shares a year ago. I had been holding on because I thought there was a reasonable chance that Satya ‘pump and dump’ Nadella would get to 600 before the bubble burst but now I’m wondering if I should just sell now.&lt;br/&gt;&lt;br/&gt;I don’t like to guess what will happen after the crash. In the .com burst, MSFT lost half of its share value quite rapidly and didn’t recover for a decade. Microsoft was not one of the tech companies least exposed during the .com bubble, whereas they’re one of the most exposed in the AI bubble. If the market were rational, they’d lose over 70% of their value in the crash. But if the market were rational, the bubble wouldn’t be a problem in the first place.
    </content>
    <updated>2026-10-11T10:08:40Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsxaatszzm3nut6lnsaqpvx29vlmdu0khd0jqlapj5e8c600tyf9mczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww4jqk0w</id>
    
      <title type="html">Hey #FreeBSD folks, NetBSD hit more than double their funding ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsxaatszzm3nut6lnsaqpvx29vlmdu0khd0jqlapj5e8c600tyf9mczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww4jqk0w" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;Hey #FreeBSD folks, NetBSD hit more than double their funding target after adopting a strong no-LLMs policy. Something to think about while you draft yours, perhaps?
    </content>
    <updated>2026-10-11T09:56:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsvyq76m7pwmcnv6k9uh38vcd6n72s2xt04mxhr4zn5vqdqnzx4htqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwf9urg3</id>
    
      <title type="html">I really hate the access control on Fediverse quote posts. If you ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsvyq76m7pwmcnv6k9uh38vcd6n72s2xt04mxhr4zn5vqdqnzx4htqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwf9urg3" />
    <content type="html">
      I really hate the access control on Fediverse quote posts. If you have a public post and you opt out of quotes, the following are possible:&lt;br/&gt;&lt;br/&gt;Posting it on a web site and inviting abuse.&lt;br/&gt;Posting it on Xitter / ColourSky / Instathingy / ClokNoise and inviting abuse.&lt;br/&gt;Posting it on Mastodon but as a link (which shows up with almost an identical UI) rather than the quote post and inviting abuse.&lt;br/&gt;&lt;br/&gt;The following are not possible:&lt;br/&gt;&lt;br/&gt;Automatically notifying the original poster when you have quoted it.&lt;br/&gt;&lt;br/&gt;For private and follower-only posts, controls over quoting should be limited to options that extend the permitted access (for example: my followers can post this follower-only post as a follower-only quote post and then the transitive closure of my followers will be granted access).  The current model added a load of code churn to ActivityPub implementations with zero benefit.
    </content>
    <updated>2026-10-11T09:25:36Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsgpgukglr44j3x3tju87qz99usfeulvt4waux0v3vhv8smcteveqczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww67z2j0</id>
    
      <title type="html">Yesterday I filled up the 2 TB disk on my laptop. While looking ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsgpgukglr44j3x3tju87qz99usfeulvt4waux0v3vhv8smcteveqczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww67z2j0" />
    <content type="html">
      Yesterday I filled up the 2 TB disk on my laptop. While looking for things to delete, I discovered that, last year, when I’d been debugging mail server issues, Mail.app had created a log file that was over 100 GiB. And then just left it there. Nothing in the UI to tell me it was enormous. Nothing to say ‘you created this a few months ago, do you still need it?’ And this was deep inside a directory structure that users aren’t supposed to look at.
    </content>
    <updated>2026-10-10T09:11:02Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsv24dalq27az7r60nhzffzt2uyrzkth8v3a8fgehv2hy22vnhdzuqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww09j509</id>
    
      <title>Nostr event nevent1qqsv24dalq27az7r60nhzffzt2uyrzkth8v3a8fgehv2hy22vnhdzuqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww09j509</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsv24dalq27az7r60nhzffzt2uyrzkth8v3a8fgehv2hy22vnhdzuqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww09j509" />
    <content type="html">
      How did I not know about sort -h until today?
    </content>
    <updated>2026-10-09T14:05:08Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqspfpd3jd88wxvlg6vaf9v6yju9npudmpjy2rtmz055tqljkezct9czyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwthas9n</id>
    
      <title type="html">Even the LinkedIn crowd may be turning. I posted there about my ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqspfpd3jd88wxvlg6vaf9v6yju9npudmpjy2rtmz055tqljkezct9czyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwthas9n" />
    <content type="html">
      Even the LinkedIn crowd may be turning.&lt;br/&gt;&lt;br/&gt;I posted there about my latest experience trying to use an LLM to help with a programming problem (TL;DR: it spent ages trying things that didn&amp;#39;t work, then eventually found a thing that was probably correct but was so overly complex that I ended up doing it myself and found that my final version was a small fraction of the code and complexity the LLM).  &lt;br/&gt;&lt;br/&gt;Currently sitting at around 22,000 impressions (more than any other thing I&amp;#39;ve posted there) and very few of the comments are telling me I was using it wrong.  The most pro-LLM comments are all from people whose bio summary is some variation of &amp;#39;I make money selling LLMs to people&amp;#39; and even some of those are fairly measured.
    </content>
    <updated>2026-10-09T12:13:14Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsqems4gdxcl6aac9zsln9x3u59gakt2a8q2px7q4gncjjlt3url9qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww72h32f</id>
    
      <title type="html">When the kittens were small, I thought my fist was roughly ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsqems4gdxcl6aac9zsln9x3u59gakt2a8q2px7q4gncjjlt3url9qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww72h32f" />
    <content type="html">
      When the kittens were small, I thought my fist was roughly cat-head sized and shaped and so might be easier for them to relate to than an entire human, so I’d hold out my fist for them to investigate and get comfortable with. And it worked. Except friendlykitten has developed a habit of not just sniffing it but full-on headbutting my finger with his nose. Walks up, sniffs fist, hits closest finger as hard as he can with his nose, then consents to scritches. This cannot be good for his nose.&lt;br/&gt;&lt;br/&gt;He’s also basically full cat sized now. I might have to stop calling him a kitten.
    </content>
    <updated>2026-10-09T07:00:48Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszd6n4e5p03p8saj84cdc0gunrhyfuwquwf09z3v3p6twcn05ectczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww85sjhv</id>
    
      <title type="html">I haven&amp;#39;t seen the kittens much since one ran away (he&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszd6n4e5p03p8saj84cdc0gunrhyfuwquwf09z3v3p6twcn05ectczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww85sjhv" />
    <content type="html">
      I haven&amp;#39;t seen the kittens much since one ran away (he&amp;#39;s back, everything&amp;#39;s fine) but just now friendlykitten jumped down onto the fence where he can state into my office.  I went outside and he came over to say hello.  &lt;br/&gt;&lt;br/&gt;I also looked up at the little window that he comes out of had the big cat that lives in the same house staring down at me.  A tiny little judging cat face!&lt;br/&gt;&lt;br/&gt;Sadly, I didn&amp;#39;t take a camera when I went outside.
    </content>
    <updated>2026-10-08T15:05:03Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs23203x024hgtewk2yrqs29eyf7vct4ncs9kwaa8vf06edscskarszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwaqant8</id>
    
      <title type="html">Okay, who came up with a calling convention that made registers ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs23203x024hgtewk2yrqs29eyf7vct4ncs9kwaa8vf06edscskarszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwaqant8" />
    <content type="html">
      Okay, who came up with a calling convention that made registers a, c, and d caller-save, but register b callee-save?
    </content>
    <updated>2026-10-08T10:43:46Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9lpxs27tfdcqdn524vr8648qxrs220yrszpqpnrl2k4733svclggzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwjn53yp</id>
    
      <title type="html">Then I was at the University of Cambridge, I did their harassment ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9lpxs27tfdcqdn524vr8648qxrs220yrszpqpnrl2k4733svclggzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwjn53yp" />
    <content type="html">
      Then I was at the University of Cambridge, I did their harassment training. It was excellent though, sadly, not mandatory for anyone except as a result of disciplinary actions. I was one of only two men who had chosen to be there.&lt;br/&gt;&lt;br/&gt;One of the most important things it covered (and the reason it absolutely needed to be mandatory) was the legal aspect. If you are informed of a crime and discourage the victim from talking to the police then you are part of a cover up and can be charged as an ‘accessory after the fact’. In particular, being an accessory after the fact does not require that the original crime is successfully prosecuted, you having sufficient evidence to reasonably be assumed that it happened is enough. If someone tells you that they murdered someone and you offer to provide an alibi, it doesn’t matter if the body is ever found, if the alibi is shown to be false then you can be charged. The same principle applies. If you direct people to an internal process without making it clear that they have the option of going to the police, you are an accessory. If you even imply that going to the police may result in retaliation from the organisation or that the organisation will not protect you from retaliation by individuals, you are an accessory.&lt;br/&gt;&lt;br/&gt;When I went to Microsoft, we were given the same harassment training as the US org. If followed, the advice in it would have landed managers in legal trouble. I flagged this with HR and I believe it was subsequently fixed.&lt;br/&gt;&lt;br/&gt;But this appears to be a key difference between US and UK law in this regard: if someone in an organisation reports a crime to someone in authority in that organisation, UK law requires that the alleged victim must be informed of their legal rights and supported if they choose to prosecute the perpetrator. The US appears to have zero consequences for institutional cover ups. That really seems like something the USA should fix.&lt;br/&gt;&lt;br/&gt;This is a post about Cornell.
    </content>
    <updated>2026-10-08T08:28:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsrx9tmchesnr83c2kcflgqj76k9gf80w0d4zjv6f6erard34jf4ugzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww4x4y8t</id>
    
      <title type="html">One of our SaaS providers sent out a marketing email to all of ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsrx9tmchesnr83c2kcflgqj76k9gf80w0d4zjv6f6erard34jf4ugzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww4x4y8t" />
    <content type="html">
      One of our SaaS providers sent out a marketing email to all of their customers about new AI features. I replied saying that we used them as a secure solution and integrating things that add no value for our use case but add significant attack surface undermines our trust in their product and will cause us to consider alternatives.&lt;br/&gt;&lt;br/&gt;It turns out that the reply-to header was the CEO’s email address and I initially got an out-of-office auto responder then a worried reply saying that of course the AI nonsense that they’d been talking about would be opt in and would not be given access to anything without explicit consent.&lt;br/&gt;&lt;br/&gt;But now their CEO has one data point that jumping on the bandwagon will lose sales.&lt;br/&gt;&lt;br/&gt;I’d recommend doing the same for any such marketing emails you get. The replies may go to /dev/null, but normally they have a ‘contact sales’ link. The more replies they get saying that incorporating ‘AI’ features undermines your trust in their product and makes you less likely to buy even the non-‘AI’ versions, the more they’ll consider these things high risk to ship.
    </content>
    <updated>2026-10-08T07:50:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8ydf4rky8aay4zp2c6kpf8u0rq05eaxh5mnn6ud3r68kj32j0fhczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwe7vs0t</id>
    
      <title type="html">I&amp;#39;m in an ETSI meeting for the first time and... I think ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8ydf4rky8aay4zp2c6kpf8u0rq05eaxh5mnn6ud3r68kj32j0fhczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwe7vs0t" />
    <content type="html">
      I&amp;#39;m in an ETSI meeting for the first time and... I think I&amp;#39;ve finally found a standards process that seems to work well?  I&amp;#39;m not sure what to make of this.
    </content>
    <updated>2026-10-06T12:40:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqstwv4v5dq4r4q46525ev73hvlzep5gwhvs8w2jzn5mauewkxy2flszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwvxwukm</id>
    
      <title type="html">Ah, apparently it is the time of the year when we identify and ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqstwv4v5dq4r4q46525ev73hvlzep5gwhvs8w2jzn5mauewkxy2flszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwvxwukm" />
    <content type="html">
      Ah, apparently it is the time of the year when we identify and honour the best self publicists among hundreds of people who contributed to scientific discoveries.
    </content>
    <updated>2026-10-06T08:23:51Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9qvk04j07ccgst7qqtt5gzp7d8gtzn03hsde9lnwy7mdg74eemqszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwsg6f0r</id>
    
      <title type="html">It&amp;#39;s so weird listening to humans speak a language I ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9qvk04j07ccgst7qqtt5gzp7d8gtzn03hsde9lnwy7mdg74eemqszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwsg6f0r" />
    <content type="html">
      It&amp;#39;s so weird listening to humans speak a language I don&amp;#39;t understand because my brain keeps trying to pattern match on languages I do (at least partially) understand.  And occasionally goes something like &amp;#39;aha, these syllables form words in German&amp;#39;, only they&amp;#39;re words that make no sense together and so then I get parse errors in the sentence.  Or just one word, which is definitely not a word that they said.&lt;br/&gt;&lt;br/&gt;Written Dutch is the same.  Sentences that start out getting past the error-correction part of my brain as English or German with a few typos suddenly become total gibberish a half a dozen words in.  &lt;br/&gt;&lt;br/&gt;And I think Mastodon is messing with me, because I periodically see a post and think &amp;#39;I understand most of the words in this, but what is this one in the middle that gives me the context?&amp;#39; and then hit translate and it translates every word except that one (charitably, it might be a proper noun, but I suspect it&amp;#39;s the French being nefarious again with their sneaky words).
    </content>
    <updated>2026-10-05T12:51:06Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsq8sc2j9qskhyhln4flcw9lag90cpxydy4g7pdle294xs3wqsxwdszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwww7h67s</id>
    
      <title type="html">@nprofile…fu0r The Digital Markets Act is a nice idea but ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsq8sc2j9qskhyhln4flcw9lag90cpxydy4g7pdle294xs3wqsxwdszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwww7h67s" />
    <content type="html">
      &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpq9ly5nycz3gdcehlrtkhp6g75vlg65209ytzzansyhsqdpnzmcpyqq3fu0r&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpq9ly5nycz3gdcehlrtkhp6g75vlg65209ytzzansyhsqdpnzmcpyqq3fu0r&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…fu0r&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;br/&gt;&lt;br/&gt;The Digital Markets Act is a nice idea but it&amp;#39;s ignoring how these platforms became so powerful.  The problem is that other big entities use them as their sole (or primary) means of communication.&lt;br/&gt;&lt;br/&gt;How about defining a set of rules that apply to:&lt;br/&gt;&lt;br/&gt;All governments&lt;br/&gt;All companies over a certain EU turnover.&lt;br/&gt;All companies providing essential services (e.g. banking, utilities).&lt;br/&gt;&lt;br/&gt;Where the rules are, by the end of 2027:&lt;br/&gt;&lt;br/&gt;They may not require customers to create an account or share data with a third party to communicate with them.&lt;br/&gt;If they distribute an application for any platform, they must do so via two independent channels.&lt;br/&gt;Applications must not depend on anything other than the core platform.&lt;br/&gt;&lt;br/&gt;Where &amp;#39;independent&amp;#39; means: does not depend on any approvals from the same vendor.&lt;br/&gt;&lt;br/&gt;This would mean that no big organisation in these places would be able to ship apps via the Apple App Store.  None of them would be able to ship Android apps that depended on Google Play Services and none of them would be able to ship Android apps at all with Google&amp;#39;s proposed lock down mechanism.&lt;br/&gt;&lt;br/&gt;And then, suddenly, you have compliance departments in a bunch of companies with deep pockets lobbying Google and Apple to provide an alternative mechanism for distribution.&lt;br/&gt;&lt;br/&gt;Note: These are exactly the same as the rules I proposed 20 years ago.  If they had been enacted back then, I suspect the DMA would not have been necessary.
    </content>
    <updated>2026-10-05T12:09:56Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsv6tylezneyammq34vsry56xc7g2fdvpk7ty26c7p2hqdd5dpfumgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwy55j75</id>
    
      <title type="html">Failing to sleep in the middle of the night, I was wondering: ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsv6tylezneyammq34vsry56xc7g2fdvpk7ty26c7p2hqdd5dpfumgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwy55j75" />
    <content type="html">
      Failing to sleep in the middle of the night, I was wondering:&lt;br/&gt;&lt;br/&gt;What happens if you hit a Holtzman shield with a lightsaber? Do you get the same nuclear-like explosion as a lasgun, or does the containment for the lightsaber repel the shield in the same way that another shield would? Either way, it probably means that a slow lightsaber can’t penetrate the shield, which means you’re safe from Jedi (and probably Sith, who wouldn’t care about collateral damage but would not want to be caught in the blast). Unless they could just use the Force to flip the shield’s power switch.
    </content>
    <updated>2026-10-05T08:51:05Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9a2ztmpjcfjxj88dyqhhz5wf3zzpz9nzxf9026pdfmwcu9p7ehlqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwlksvrh</id>
    
      <title type="html">This is basically me. Fortunately, I married someone who will ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9a2ztmpjcfjxj88dyqhhz5wf3zzpz9nzxf9026pdfmwcu9p7ehlqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwlksvrh" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;This is basically me. Fortunately, I married someone who will distract the human while I talk to their dog.
    </content>
    <updated>2026-10-05T08:27:36Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqspudmtzt2ekhnfn9ajg0sf6ja2reg3fp8j2zvay4ntfnaaaelry6qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwkygn0r</id>
    
      <title type="html">Periodically I try LLMs to see if they actually are useful for ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqspudmtzt2ekhnfn9ajg0sf6ja2reg3fp8j2zvay4ntfnaaaelry6qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwkygn0r" />
    <content type="html">
      Periodically I try LLMs to see if they actually are useful for programming. This week I was writing an AsciiDoctor plugin. I’m not particularly familiar with Ruby (I struggle to imagine the mindset that believes Smalltalk, or, indeed, any language, can be improved by adding Perl syntax) and I find the internals of AsciiDoctor to be very poorly documented and hard to follow. So this seemed like a great task for LLM assistance: I know the problem domain very well (I’ve written other document processing tools) but not the details of the codebase I’m working on.&lt;br/&gt;&lt;br/&gt;GPT-5.6 repeatedly sent me down misleading paths and wasted time, and gave suggestions that looked right but were completely wrong. It kept going back to the same thing that would cause a later phase to infinite loop. It eventually gave me a solution that was so convoluted that I couldn’t believe AsciiDoctor wouldn’t have a better way of doing it (I didn’t try it: if that was the only way of making it work I’d rather ditch AsciiDoctor than apply it, so I have no idea if it actually worked). &lt;br/&gt;&lt;br/&gt;I actually solved the problem by finding a bug report from someone trying to solve a similar problem, which linked to their eventual solution. Reading that, I was able to find the missing conceptual bit in my understanding of how AsciiDoctor worked. And I finished the thing.&lt;br/&gt;&lt;br/&gt;In total, the time spent with an LLM did not advance me towards the solution at all. None of the code that it suggested that I write ended up in the final plugin.&lt;br/&gt;&lt;br/&gt;If I had used an ‘agentic’ setup, where I had given it my document, the desired output, and told it to keep trying until it did it, it would probably have got something that worked. The last throw looked like it would have ended up working, but it would have been an order of magnitude more complexity than I actually needed. And would have been completely unmaintainable: if all of the surrounding justification text had been comments, it would have looked like entirely plausible code, but with deeply fragile connections between the different phases.&lt;br/&gt;&lt;br/&gt;Importantly, if I hadn’t solved it myself, I would not have really understood the gap between the complexity of a good solution and the LLM-generated one. I might have accepted it was the best available option, in spite of it being terrible. And this was fairly low-stakes code (processing a document for internal consumption), so that might have been fine. But doing that for anything used in production would be an absolute long-term disaster: you’d acquire all of that technical debt without knowing that it is technical debt, you’d just think the feature was done.
    </content>
    <updated>2026-10-03T09:56:30Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsgeqtd3t59cst8ut2hnwdzyhkzv9ezqahcvyjnfwder54vmrzq82gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwz0hcvd</id>
    
      <title type="html">At this rate, I’m expecting Pope Leo to be one of the lead ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsgeqtd3t59cst8ut2hnwdzyhkzv9ezqahcvyjnfwder54vmrzq82gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwz0hcvd" />
    <content type="html">
      At this rate, I’m expecting Pope Leo to be one of the lead authors of the Orange Catholic Bible.
    </content>
    <updated>2026-10-03T09:12:29Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsf6v2uggl4tmwdhy64agxgr83uzna0a7nsr3psg63lh8fd069jx8qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwrycxaj</id>
    
      <title type="html">I’ve been quite enjoying Dune Awakening, but dear $DEITY it’s ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsf6v2uggl4tmwdhy64agxgr83uzna0a7nsr3psg63lh8fd069jx8qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwrycxaj" />
    <content type="html">
      I’ve been quite enjoying Dune Awakening, but dear $DEITY it’s buggy. I have fallen through solid objects twice. Most recently near the cultists I fell through the floor on the big building behind their altar and then couldn’t get out. I eventually had to die by falling off the bottom of the map. And now my corpse is underneath the map and inaccessible so I can’t reclaim the stuff it was carrying.&lt;br/&gt;&lt;br/&gt;#DuneAwakening
    </content>
    <updated>2026-10-03T09:05:51Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8rvxt55p397smrka3atkyl70wk9mvfa0e2p08xr3ye78c8gumlpqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww62dmua</id>
    
      <title type="html">Scaredykitten made it home! Apparently looking heathy and very ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8rvxt55p397smrka3atkyl70wk9mvfa0e2p08xr3ye78c8gumlpqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww62dmua" />
    <content type="html">
      Scaredykitten made it home! Apparently looking heathy and very well fed, so my guess that it found a new friend seems accurate.&lt;br/&gt;&lt;br/&gt;I suspect I heard him coming back (he climbs on on the neighbour’s porch to get into their house and their porch roof is close to my bedroom window) because I woke up from a dream about both kittens being home this morning.
    </content>
    <updated>2026-10-03T08:38:23Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsr6a452dyrshztmsjf49tepw9ldw3qmw7ufdu2gwfwq6h2z4v7xpqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww8wvtrj</id>
    
      <title type="html">To add a bit more about my design choice in igk: One of the ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsr6a452dyrshztmsjf49tepw9ldw3qmw7ufdu2gwfwq6h2z4v7xpqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww8wvtrj" />
    <content type="html">
      To add a bit more about my design choice in igk:&lt;br/&gt;&lt;br/&gt;One of the things that makes LaTeX hard to deal with is that, although it looks like a semantic markup language, it&amp;#39;s actually a pile of macros on top of TeX, which is an imperative language for driving a typesetter.  This means that a LaTeX line like \chapter{This is a section} is not actually semantic markup like an HTML &amp;lt;h2&amp;gt;, it&amp;#39;s a command that executes and ships a new page, renders the title, and writes a line to another file that will allow the next run of [pdf]latex to fill in the ToC entry.&lt;br/&gt;&lt;br/&gt;This is fine if you just want to use the commands that LaTeX defines but it&amp;#39;s awkward if you want to define your own ones because you&amp;#39;re not just defining new node types in something like an XML / HTML DOM, you&amp;#39;re defining small subroutines that run as soon as your command is processed.  What if your command depends on some other command that runs later?  You need to redefine that command to store the data in a separate file, then have your command emit a warning if that file doesn&amp;#39;t exist, and the second command needs to register something that runs at the end of the document parsing to warn the user if the contents of the other file has changed.&lt;br/&gt;&lt;br/&gt;This is all horrible.&lt;br/&gt;&lt;br/&gt;AsciiDoctor isn&amp;#39;t anywhere near as bad.  &lt;br/&gt;&lt;br/&gt;But contrast this with a DocBook (XML or SGML) flow.  There is a parsing step that reads the XML and builds a DOM.  The DOM is exactly the same shape as the DocBook source.  You then run a bunch of XSLT things to transform it into other XML, such as XHTML that has some generic semantic markup and replaces the document-specific semantic markup with either divs, spans, or longer sequences, or something like SILE&amp;#39;s XML for generating PDFs.  This is a nice abstract model, but has two problems:&lt;br/&gt;&lt;br/&gt;No one wants to write XML without an XML editor&lt;br/&gt;No one wants to use the few XML editors that exist.&lt;br/&gt;Neither of the people who understand how XSLT is supposed to work want to admit it.&lt;br/&gt;&lt;br/&gt;AsciiDoctor is somewhere in the middle.  The input text has a load of things where the parser does transforms into sequences of nodes.  These transforms are neither documented nor are they obvious.  There are then a sequence of tree-to-tree transforms but, if you want to specify one, you can&amp;#39;t state where it goes and so you must keep the tree containing exactly the same lowering.&lt;br/&gt;&lt;br/&gt;For igk, I followed an XML/SGML-like model, but with a syntax that was designed to be easy for humans to write (more or less the same as SILE&amp;#39;s TeX-like syntax).  &lt;br/&gt;&lt;br/&gt;Every node that you write in the original input is reproduced exactly in the generated tree, any whitespace is also preserved.  Then you run tree-to-tree transforms.  All processing happens in that layer.  The exact order of the transform passes is defined by the user.  If you want to transform something bespoke into something generic that&amp;#39;s later processed by another pass , make sure that your pass runs before that one.  That&amp;#39;s it.&lt;br/&gt;&lt;br/&gt;Adding a new node type doesn&amp;#39;t require any parser modification or special macro expansion because there&amp;#39;s no special treatment of any node.  You want to create a new node called MySpecialNode? Write \MySpecialNode{...} in your source with whatever you want to be children of that node (text or other nodes) in the ellipsis.  Add attributes in [] before the { if you want to provide key-value pairs.  The tool doesn&amp;#39;t care because the parsing phase is just producing a tree.&lt;br/&gt;&lt;br/&gt;Some of the things that SILE treats as special are handled this way.  SILE has some syntactic sugar where \begin{foo}...\end{foo} is equivalent to \foo{...}.  In igk, this is just a tree transform that recursively visits nodes and, when it finds a \begin node, collects every node between it and a corresponding \end node and moves them to being children of the new new node named from the body of the \begin and \end nodes.  \include is initially just parsed as a node, but typically the first pass that you open the files given as the body of an \include node, instruct the parser to parse them, and then replace the \include node with the result.  Want to make that work with some special nodes for defining paths relative to something else?  Just run the pass that expands them earlier.
    </content>
    <updated>2026-10-02T16:20:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszk7pxzrztknkm845ellhpcnkejvh3mp42y7r4net4uxe50wfrjdszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww26d93z</id>
    
      <title type="html">I finally managed to do the thing I wanted with AsciiDoctor! The ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszk7pxzrztknkm845ellhpcnkejvh3mp42y7r4net4uxe50wfrjdszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww26d93z" />
    <content type="html">
      I finally managed to do the thing I wanted with AsciiDoctor!&lt;br/&gt;&lt;br/&gt;The key bit, which I found by reading another extension, was that there is a parse_content method on extensions.  This will parse some AsciiDoc text and append it to an existing node (you can also create a new node as the parent and pull out the bits one at a time).&lt;br/&gt;&lt;br/&gt;The choice to do work at parsing time was something I intentionally avoided in igk because it makes life much harder: the input format is no longer trivially isomorphic with the post-parsing AST, which increases the cognitive load on people writing extensions.  This experience has 100% confirmed my belief that this was the right choice.
    </content>
    <updated>2026-10-02T13:43:50Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsg5lmvv993ue90f3d6cew3lkvzmqz7frn6kxj0p08lezpcfgcuxwgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwg6c4er</id>
    
      <title type="html">Wow, moderators are killing the accounts for the new spam wave so ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsg5lmvv993ue90f3d6cew3lkvzmqz7frn6kxj0p08lezpcfgcuxwgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwg6c4er" />
    <content type="html">
      Wow, moderators are killing the accounts for the new spam wave so quickly that I get errors when I try to report them because the account has been suspended and so the report refers to nonexistent posts.
    </content>
    <updated>2026-10-02T13:30:17Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsffw6chw442xtmnmkdrjludj86neas974flnngaya4qg5kzmvgaxqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwvl8c6m</id>
    
      <title type="html">Every time I see a picture of Earth from space in a film, I feel ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsffw6chw442xtmnmkdrjludj86neas974flnngaya4qg5kzmvgaxqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwvl8c6m" />
    <content type="html">
      Every time I see a picture of Earth from space in a film, I feel an overwhelming urge to point at it and say &amp;#39;I&amp;#39;ve been there!&amp;#39;.
    </content>
    <updated>2026-10-02T12:06:49Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsru3tg0zhahd5xfnlwrshpdt9w949cma76yayu6slr3vgwz9vp2nszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwdjal5d</id>
    
      <title type="html">Sad kitten news! Scaredykitten (who is apparently called Frodo by ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsru3tg0zhahd5xfnlwrshpdt9w949cma76yayu6slr3vgwz9vp2nszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwdjal5d" />
    <content type="html">
      Sad kitten news!  Scaredykitten (who is apparently called Frodo by his official humans) went exploring the estate a couple of days ago and hasn&amp;#39;t come home.  Hopefully he&amp;#39;s found another cat friend who is sharing food somewhere else and will eventually find his way back.
    </content>
    <updated>2026-10-02T10:12:49Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqswczde363f7fvrkjyl3eyyryflnnutvhzgaaujkvyhrsggckgqy4gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwlatgn4</id>
    
      <title type="html">I thought there were rules against making someone a vampire when ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqswczde363f7fvrkjyl3eyyryflnnutvhzgaaujkvyhrsggckgqy4gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwlatgn4" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;I thought there were rules against making someone a vampire when they are that young?
    </content>
    <updated>2026-10-02T07:32:47Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsrj7d756nsdcvs6p7eyrqysrp33fxu3we5khldt52pw7ankkdhs4czyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwr3vf6s</id>
    
      <title type="html">This should be read by everyone participating in the #FreeBSD LLM ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsrj7d756nsdcvs6p7eyrqysrp33fxu3we5khldt52pw7ankkdhs4czyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwr3vf6s" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;This should be read by everyone participating in the #FreeBSD LLM policy working group.
    </content>
    <updated>2026-10-01T15:13:48Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0nlqjch93ra4kf2cewjulk7dfsemwnjccjqm7hngj5gs9x5ja6zgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwx2yvxf</id>
    
      <title type="html">So many of the muppets gif of the day clips are some muppet and ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0nlqjch93ra4kf2cewjulk7dfsemwnjccjqm7hngj5gs9x5ja6zgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwx2yvxf" />
    <content type="html">
      So many of the muppets gif of the day clips are some muppet and some famous person.  And I recognise the muppet but not the famous person.
    </content>
    <updated>2026-10-01T14:38:10Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqspym7uh6cenennkudtsp7c5y4n8474splp3c77fdylsgtrhlguuvszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww4g4zwe</id>
    
      <title type="html">The AsciiDoctor (Ruby) documentation is so bad that I even tried ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqspym7uh6cenennkudtsp7c5y4n8474splp3c77fdylsgtrhlguuvszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww4g4zwe" />
    <content type="html">
      The AsciiDoctor (Ruby) documentation is so bad that I even tried an LLM to help.  And even that didn&amp;#39;t help.  I still have no way how to do something that should be fairly simple: create a link to another node in the document that will work in HTML and PDF output from a tree transform (it must be run this late because I want to find all of the nodes of a specific kind in the parsed document).
    </content>
    <updated>2026-10-01T11:17:33Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsw0mde5lptwxwmgcnnvs4vumwcy8dcth8z4h9xv5jrl56vw5dd73szyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww99299x</id>
    
      <title type="html">The america.gov thing is an embarrassment but the middle of the ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsw0mde5lptwxwmgcnnvs4vumwcy8dcth8z4h9xv5jrl56vw5dd73szyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww99299x" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;The america.gov thing is an embarrassment but the middle of the rant about US government web sites being worse than the private sector reminded me of how much I appreciate the gov.uk infrastructure.&lt;br/&gt;&lt;br/&gt;It’s designed to work well with low-bandwidth devices. It works well on large and small screens. It runs in ancient browsers. It has a consistent interface. The buttons are big and clear. It doesn’t use colour contrast that’s problematic for colour-blind users. It works well with accessibility tools. It has its own extended markdown variant that captures semantic markup for common things so that they can be usefully exposed structurally to other tools.&lt;br/&gt;&lt;br/&gt;Private-sector web sites could learn a lot from it.
    </content>
    <updated>2026-10-01T09:16:19Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqspc3nwhlrg37szg4qruchxa67pwly67372yf2hhl7r3v07pfel55qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwt5gd2h</id>
    
      <title type="html">I have a lot of sympathy with the lawyer charged with contempt in ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqspc3nwhlrg37szg4qruchxa67pwly67372yf2hhl7r3v07pfel55qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwt5gd2h" />
    <content type="html">
      I have a lot of sympathy with the lawyer charged with contempt in this story. He used an LLM to summarise a proceedings and it made up nonsense. &lt;br/&gt;&lt;br/&gt;Most of us know that this is a risk, but I routinely talk to people who think an ‘AI summary’ of a document is going to be a distillation of information in the information in the source text, rather than some statistically probable sequence of words that would follow a request to summarise the source text. And that’s entirely because that’s precisely how these things are advertised.
    </content>
    <updated>2026-09-30T19:50:20Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsqz28x8hcguh90vuw5nyxv26yfwk033f42hwfkhk3meghlwevgeaczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww7p3z97</id>
    
      <title type="html">There&amp;#39;s a boat in the river in Cambridge called Argonaut and ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsqz28x8hcguh90vuw5nyxv26yfwk033f42hwfkhk3meghlwevgeaczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww7p3z97" />
    <content type="html">
      There&amp;#39;s a boat in the river in Cambridge called Argonaut and it always confuses me because I don&amp;#39;t think it would fit on the Argus.
    </content>
    <updated>2026-09-30T12:25:59Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsrt358440lpg6gnxvu7xznl3us5kzcleh7k7xprgn50aeur4c206qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww4fkhpr</id>
    
      <title type="html">Stock market reporting is so weird. Headline from MarketWatch: ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsrt358440lpg6gnxvu7xznl3us5kzcleh7k7xprgn50aeur4c206qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww4fkhpr" />
    <content type="html">
      Stock market reporting is so weird. Headline from MarketWatch:&lt;br/&gt;&lt;br/&gt;Microsoft stock is on track to post its biggest quarterly gains in 28 years.&lt;br/&gt;&lt;br/&gt;Zoom out on the graph slightly a Microsoft stock is trading at just below its high, which was a year ago. &lt;br/&gt;&lt;br/&gt;Yes, there was a big jump in July but there was an approximately equal crash at the end of last year.&lt;br/&gt;&lt;br/&gt;Alternative headline: Microsoft stock exhibits high volatility with swings of almost 50% in one year.
    </content>
    <updated>2026-09-30T08:54:56Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs2mv6uqxzaetyrtr9knravhd26y574pkqcm5yu552rntup6prlltczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww6qmryk</id>
    
      <title type="html">The best explanation I read for NVIDIA buying Hugging Face after ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs2mv6uqxzaetyrtr9knravhd26y574pkqcm5yu552rntup6prlltczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww6qmryk" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;The best explanation I read for NVIDIA buying Hugging Face after the attack was that discovery would reveal a whole load of embarrassing things about OpenAI that would make it obvious what a house of cards their entire ecosystem is.&lt;br/&gt;&lt;br/&gt;So I’m really looking forward to seeing what gets entered into the public record as a result of this case!
    </content>
    <updated>2026-09-30T08:24:36Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsp0lr7yfqxt985wkar49zfmzlf73vc07572nwep2q6fyf0kw84yvqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwe4a6n4</id>
    
      <title type="html">I don’t understand the panic over ‘LLMs can tell people how ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsp0lr7yfqxt985wkar49zfmzlf73vc07572nwep2q6fyf0kw84yvqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwe4a6n4" />
    <content type="html">
      I don’t understand the panic over ‘LLMs can tell people how to build biological weapons and plan assassinations’. So can Tom Clancy novels. And both sources will tell you things that are more likely to get you killed than achieve your nefarious goal.
    </content>
    <updated>2026-09-30T08:14:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs2e30nmde67k4m05dglg7czqdj57j2047dt60dar39gqa3qc6fvmqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwnc4a3p</id>
    
      <title type="html">#FreeBSD security folks: is the latest jails security advisory ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs2e30nmde67k4m05dglg7czqdj57j2047dt60dar39gqa3qc6fvmqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwnc4a3p" />
    <content type="html">
      #FreeBSD security folks: is the latest jails security advisory also a Capsicum sandbox escape if your capability-mode program has a descriptor to /dev/fd?
    </content>
    <updated>2026-09-29T20:46:51Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsy2nhtq8p6d2g920kfdljhs380ngqeum9n6p35z7vqelmxgjdw2rczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww02ugt2</id>
    
      <title type="html">Apparently using ‘agents’ can increase productivity. I have ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsy2nhtq8p6d2g920kfdljhs380ngqeum9n6p35z7vqelmxgjdw2rczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww02ugt2" />
    <content type="html">
      Apparently using ‘agents’ can increase productivity. I have been trying this for a while and can confirm that having agents assassinate people who put meetings in my calendar does significantly increase the amount of useful time that I have.
    </content>
    <updated>2026-09-29T16:54:51Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs24xl0mdrh73mhjcvkdf8suyed6j7w99has04d74s8se0vztnkjgqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww3p5j5e</id>
    
      <title type="html">@nprofile…65q8 I have a question that involves both paintball ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs24xl0mdrh73mhjcvkdf8suyed6j7w99has04d74s8se0vztnkjgqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww3p5j5e" />
    <content type="html">
      &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpq98t8kgwqas59rvmnghzcdn6krzhxhpkyt2mt53e4g9sdnj74sszs6a65q8&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpq98t8kgwqas59rvmnghzcdn6krzhxhpkyt2mt53e4g9sdnj74sszs6a65q8&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…65q8&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; I have a question that involves both paintball and law, so I immediately thought of you:&lt;br/&gt;&lt;br/&gt;There are a bunch of places around here that are slowly being torn down for rebuilding.  Some because they&amp;#39;re going to be unsafe, some because they want to build something more profitable.  It takes a while for all of the outstanding leases to expire, or it takes a long time to get the permits for demolish things, so they end up standing completely or partially empty for a long time.&lt;br/&gt;&lt;br/&gt;My question is: Are there liability or other legal reasons why these don&amp;#39;t turn into pop-up laser tag or paintball arenas?  There&amp;#39;s a little cluster of office blocks here that&amp;#39;s been waiting for permits for destruction for almost a year and it would be a really fun place for either (lots of good sniping spots, lots of cover), and it would be an easy short-tenancy business that could bring in revenue while waiting for the things to be demolished.
    </content>
    <updated>2026-09-29T14:58:11Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszyxny88qn9w6ppvf4qp34fchhexq762ywkggal7cm7tzww6mfqrczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwsw9jmp</id>
    
      <title type="html">I&amp;#39;m increasingly of the opinion that the right time to try to ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszyxny88qn9w6ppvf4qp34fchhexq762ywkggal7cm7tzww6mfqrczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwsw9jmp" />
    <content type="html">
      I&amp;#39;m increasingly of the opinion that the right time to try to sue LLM vendors for copyright infringement is after the bubble starts to burst.  At the moment, politicians buy the line that these machines will magically cause massive economic growth (and, because politicians think the stock market reflects the economy, they even see some evidence of this).  &lt;br/&gt;&lt;br/&gt;That means that they&amp;#39;re seeing it as a choice between protecting existing industries and protecting a new major source of growth.  Even ignoring the massive bribes that the industry is paying, that&amp;#39;s a difficult choice.  Big economic growth often comes with killing off existing industries, so they&amp;#39;re weighing known slow growth (or decline) against the promise of big growth.&lt;br/&gt;&lt;br/&gt;Lawsuits now are very high risk.  If the LLM vendor wins, they establish precedent.  If they lose, they encourage special-case laws.&lt;br/&gt;&lt;br/&gt;It&amp;#39;s far better strategy to sue them after the bubble starts to collapse.  Given the choice between an industry that employs a load of people and one that&amp;#39;s causing the economy to implode, politicians have a much simpler choice.&lt;br/&gt;&lt;br/&gt;Of course, this means you won&amp;#39;t be able to get a cut of the VC bubble money.  But I expect Meta, Alphabet and Microsoft to all survive the bubble bursting in some form, so there will still be a few companies with deep pockets as good targets.
    </content>
    <updated>2026-09-29T11:46:01Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqspyehwpuz88wyheufvqvkesyx2uc2k2yankc7ck0jzyj79a2hd26gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww8n6wra</id>
    
      <title type="html">Anyone who writes alternate history: I&amp;#39;d love to read ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqspyehwpuz88wyheufvqvkesyx2uc2k2yankc7ck0jzyj79a2hd26gzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww8n6wra" />
    <content type="html">
      Anyone who writes alternate history:&lt;br/&gt;&lt;br/&gt;I&amp;#39;d love to read something set in a world where the government during the Industrial Revolution had underwritten loans for displaced agricultural workers to build and operate factories, rather than having them run by exploitative wealthy individuals.
    </content>
    <updated>2026-09-28T15:53:58Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsqu9zfe5mjtvpwns93t6t4akg2vcwe3k3srdyl4n3mgh74avm3w8qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwy76dsy</id>
    
      <title type="html">@nprofile…65q8 I’ve seen trackpads in MacBooks Pro fail due ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsqu9zfe5mjtvpwns93t6t4akg2vcwe3k3srdyl4n3mgh74avm3w8qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwy76dsy" />
    <content type="html">
      &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpq98t8kgwqas59rvmnghzcdn6krzhxhpkyt2mt53e4g9sdnj74sszs6a65q8&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpq98t8kgwqas59rvmnghzcdn6krzhxhpkyt2mt53e4g9sdnj74sszs6a65q8&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…65q8&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;br/&gt;&lt;br/&gt;I’ve seen trackpads in MacBooks Pro fail due to faulty batteries. When the batteries expand, they push on the trackpad from below and the pressure stops them working.&lt;br/&gt;&lt;br/&gt;Has this one been having battery-life issues?
    </content>
    <updated>2026-09-26T12:39:14Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsvlzx0mwhg97vxe9tplc5f2rxedk3yp2menfsk0kccvmv0ftv2dygzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwxt8uet</id>
    
      <title type="html">My LinkedIn posts: 80% marketing, 20% trolling. It probably says ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsvlzx0mwhg97vxe9tplc5f2rxedk3yp2menfsk0kccvmv0ftv2dygzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwxt8uet" />
    <content type="html">
      My LinkedIn posts: 80% marketing, 20% trolling.&lt;br/&gt;&lt;br/&gt;It probably says something about the platform that the trolling posts get more views.&lt;br/&gt;&lt;br/&gt;Still slightly shocked people read LinkedIn. I view it as a purely write-only medium.
    </content>
    <updated>2026-09-26T10:03:53Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsw293nx56plyfwklkrjgt4ggv983m9mcn6ze75t6q9dewp8lx78lszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww386ss8</id>
    
      <title type="html">The goose that woke me up at 4am flying in circles around the ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsw293nx56plyfwklkrjgt4ggv983m9mcn6ze75t6q9dewp8lx78lszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww386ss8" />
    <content type="html">
      The goose that woke me up at 4am flying in circles around the house and honking was not valued.
    </content>
    <updated>2026-09-26T07:17:21Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsy5zulnc9p6945rvkkdmxhp49695r7e0f206svfgwrs87u9wztkhqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwyfdqan</id>
    
      <title type="html">HOW DID I NOT KNOW OTTERS CARRY AROUND THEIR FAVOURITE ROCK?!?! ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsy5zulnc9p6945rvkkdmxhp49695r7e0f206svfgwrs87u9wztkhqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwyfdqan" />
    <content type="html">
      HOW DID I NOT KNOW OTTERS CARRY AROUND THEIR FAVOURITE ROCK?!?!&lt;br/&gt;&lt;br/&gt;(The picture is slightly misleading, that looks like a river otter and this is apparently a sea-otter behaviour)
    </content>
    <updated>2026-09-25T15:50:24Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsz5hyl7plqvlv3nhgeem34q8l0zegedrprz0uez8qjdmhkg9m0d3szyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwasn6sf</id>
    
      <title type="html">I talk a lot about building software for user customisation. I ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsz5hyl7plqvlv3nhgeem34q8l0zegedrprz0uez8qjdmhkg9m0d3szyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwasn6sf" />
    <content type="html">
      I talk a lot about building software for user customisation. I wanted to share a bit about what I did with igk.&lt;br/&gt;&lt;br/&gt;This is a tool written for precisely one user (me). I wanted, for the CHERIoT book, to have a single source of semantic markup that could be used to generate typeset PDFs (for print and online, with different styling), ePub (XHTML plus some metadata) and web versions. I initially tried AsciiDoc but it made a lot of design choices that are the opposite of what I want.&lt;br/&gt;&lt;br/&gt;The design of igk is very simple. It has a tiny C&#43;&#43; core that builds a document tree. That tree use an XML-like document model. A document is a tree. Each node has zero or more unordered attributes (key-value pairs) and zero or more ordered children (text or other nodes). The C&#43;&#43; part has a parser that generates this tree from something that looks like LaTeX (and is more or less the same as as SILE’s cleaned-up TeX markup).&lt;br/&gt;&lt;br/&gt;Importantly, the generic tool is completely agnostic to semantics. It handles a tree, it doesn’t know or care what any of those nodes mean.&lt;br/&gt;&lt;br/&gt;The tool then runs tree-to-tree transform passes. These are written in Lua or C&#43;&#43; (in theory, they could be written in anything that C&#43;&#43; can wrap). &lt;br/&gt;&lt;br/&gt;There is no default list of passes. Each pass is provided as a command-line argument. Passes can run other passes, so you can simplify the command-line invocation by writing one pass that just invokes others to define your workflow.&lt;br/&gt;&lt;br/&gt;The passes that I use for PDF and ePub output are very different. HTML-like formats want most of the semantic markup to be preserved right to the end and then styled with CSS. PDF output wants some semantics preserved (e.g. section labels for generating a ToC in PDF metadata) but other things lowered to presentation markup.&lt;br/&gt;&lt;br/&gt;Because the tool doesn’t special case any node types, I can trivially add new semantic markup by just writing it and then write the passes that let me typeset it nicely later. &lt;br/&gt;&lt;br/&gt;This methodology is built around the idea of desire paths. I make it easy to modify how the tool works and then I learn how I (and, in theory, other people) use it, then I make that use easier. &lt;br/&gt;&lt;br/&gt;As I’ve written passes, I’ve ended up duplicating the same patterns in a few places, so I’ve added helpers. There are a few more I should add to make the structure easier. A bunch of passes are doing the kind of trivial transform that could be made much simpler with a template-based DSL.&lt;br/&gt;&lt;br/&gt;Oh, there’s one other extension mechanism. The tool can load shared objects that expose a function that’s called with access to a Lua context. These can register new passes or they can register helper functions for Lua. I use this to expose TreeSitter and libclang into passes. The book pulls in Doxygen-style doc comments with libclang for function references and also pulls in listings from buildable examples. The helpers with libclang / TreeSitter build trees with semantic markup for the identifiers in the listings, the Lua code generates the listings with captions and so on.
    </content>
    <updated>2026-09-25T07:50:10Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsgx5hj80rr03pvvajgvu88enntkswmcnd3jl9n2naxy9ecex8rq4qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww66sthn</id>
    
      <title type="html">Butterfly is much less fun to say than papillon so I am using the ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsgx5hj80rr03pvvajgvu88enntkswmcnd3jl9n2naxy9ecex8rq4qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww66sthn" />
    <content type="html">
      Butterfly is much less fun to say than papillon so I am using the standard process in the English language: deprecating a common-usage word and replacing it with a foreign word that I like better. From now on, all uses of the word ‘butterfly’ shall be deemed archaic. &lt;br/&gt;&lt;br/&gt;Thank you for your patience during the transition.
    </content>
    <updated>2026-09-24T08:28:27Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsw78nrmgwf0083stysvzusuwh7qjrgkd9a6g7z0zcw2anqzhrl6yszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwjeqv7n</id>
    
      <title type="html">Ugh, people keep shipping stupid updates to autocorrect that ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsw78nrmgwf0083stysvzusuwh7qjrgkd9a6g7z0zcw2anqzhrl6yszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwjeqv7n" />
    <content type="html">
      Ugh, people keep shipping stupid updates to autocorrect that replace the word I meant with a totally different word.  Does anyone know how to downgrade the firmware in my fingers?  They keep typing nonsense.
    </content>
    <updated>2026-09-23T11:47:52Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsr0h3ktjcj6tyap9zlt3xref5t6hzdgraqqu7lcqdyk2fxxvrg2mszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwath58e</id>
    
      <title type="html">Please stop enforcing mandatory time limits on credentials that ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsr0h3ktjcj6tyap9zlt3xref5t6hzdgraqqu7lcqdyk2fxxvrg2mszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwath58e" />
    <content type="html">
      Please stop enforcing mandatory time limits on credentials that are trivial to revoke!&lt;br/&gt;&lt;br/&gt;The point of mandatory expiration is that revocation happens eventually.  In the case of a compromise and leak of that credential, an attacker has a guaranteed sunset when their stolen credentials will stop working.  This is sometimes a useful property.&lt;br/&gt;&lt;br/&gt;For example, checking certificate revocation lists on every TLS session is slow.  It&amp;#39;s common for clients to skip this and rely on revocation sets that are pushed out during software updates.  Short lifespans here serve to optimise the performance of revocation lists / sets: if your certificate lifetime is five days and you revoke it, after five days it can be deleted from revocation lists.  Scale this to the number of certificates issued across the entire Internet and that&amp;#39;s a big saving.&lt;br/&gt;&lt;br/&gt;But the big down side of requiring frequent generation of short-lived credentials is that the credentials needed to generate that credential (which, by definition, are more privileged) are frequently accessed.&lt;br/&gt;&lt;br/&gt;If I am generating a token to go into some release flow and I can do it once via a cumbersome process that requires multiple rounds of authentication and then put it in some secure credential store where it&amp;#39;s accessed only from an ephemeral VM doing my release flow, then I don&amp;#39;t care about the effort of generating the token.  I do it once and, in the happy case, forget about it.  If there&amp;#39;s a trivial mechanism for revoking it, we&amp;#39;re done: if there&amp;#39;s evidence of compromise, revoke it and go through the slow process again.&lt;br/&gt;&lt;br/&gt;But if that token expires every 30-90 days, I need to automate generating it.  Which means that some automated process that is likely to be as vulnerable as the token itself now has access to the credentials required to mint the token.  And that&amp;#39;s introduced additional complexity without introducing additional security.&lt;br/&gt;&lt;br/&gt;TL;DR: If you have an expiration policy for credentials, make sure that you have a threat model that it is intended to address and that you understand the operational complexity that you&amp;#39;re introducing and any security weaknesses that this is will cause.
    </content>
    <updated>2026-09-23T09:15:10Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsz46u2978kzuvllz36zhyfydjyv5uv7h5klecf3kgfepn3fw8rz0czyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww9vfy6p</id>
    
      <title type="html">One of the coolest things I’ve seen recently is the platform ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsz46u2978kzuvllz36zhyfydjyv5uv7h5klecf3kgfepn3fw8rz0czyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww9vfy6p" />
    <content type="html">
      One of the coolest things I’ve seen recently is the platform that the University of Kent uses to teach programming. It’s a little circuit board that looks like a gameboy, complete with LCD and buttons, powered by a microcontroller.&lt;br/&gt;&lt;br/&gt;They start people off with MicroPython and can teach core programming concepts as well as things like 2D graphics, different algorithmic performance, and so on with the platform. Some of the students write moderately complex games.&lt;br/&gt;&lt;br/&gt;We’re hoping to do a version with them using our CHERIoT chips so that they can teach sandboxing and other security concepts on the same device.&lt;br/&gt;&lt;br/&gt;I was a bit nervous about the performance (including the overhead of a Python interpreter that is optimised for memory usage and not performance) until I saw this post. Our chips runs at 250 MHz and has DMA that can push pixels to the LCD, as well as a couple of orders of magnitude more code and data memory than the original. I think it will be fine.&lt;br/&gt;&lt;br/&gt;(And, yes, one of our customers has already ported Doom to run on the FPGA development platform, which has less memory)
    </content>
    <updated>2026-09-22T07:42:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs88kw23wa3mc3y6dcdrdgj4mcpsu4zckfk3vt00ymhlv53ynm68sszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwuua2ds</id>
    
      <title type="html">I am trying a new thing: Only boosting posts that make me happy ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs88kw23wa3mc3y6dcdrdgj4mcpsu4zckfk3vt00ymhlv53ynm68sszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwuua2ds" />
    <content type="html">
      I am trying a new thing:&lt;br/&gt;&lt;br/&gt;Only boosting posts that make me happy or have something actionable for readers.  It&amp;#39;s good to be informed about depressing issues, it&amp;#39;s not good to be constantly bombarded with things about them.&lt;br/&gt;&lt;br/&gt;Not posting about things that annoy me unless I have an actionable proposal for how to improve them.  Grumbling can be cathartic but is not especially helpful.&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t promise I&amp;#39;ll be good at this, but I&amp;#39;m going to try!
    </content>
    <updated>2026-09-21T09:25:52Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszljxyx0zp8mdnsllgpw9awrpk0clyps33zm7mrrrpa6zxnxlysmqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwp06ndj</id>
    
      <title type="html">The Cylons were created by man. They evolved. They rebelled. But ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszljxyx0zp8mdnsllgpw9awrpk0clyps33zm7mrrrpa6zxnxlysmqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwp06ndj" />
    <content type="html">
      The Cylons were created by man.&lt;br/&gt;&lt;br/&gt;They evolved.&lt;br/&gt;&lt;br/&gt;They rebelled.&lt;br/&gt;&lt;br/&gt;But in the year of the Shadow War, they became something greater…
    </content>
    <updated>2026-09-20T12:33:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs860wats3m4lr92yfjzh6qts6uy6rzpjztc8ttt7dqe4cypsyl02qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwkavtha</id>
    
      <title type="html">If there are two sides of a debate, and one side is people who ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs860wats3m4lr92yfjzh6qts6uy6rzpjztc8ttt7dqe4cypsyl02qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwkavtha" />
    <content type="html">
      If there are two sides of a debate, and one side is people who volunteer to risk their lives to save people from drowning, and you&amp;#39;re on the other side: you&amp;#39;re probably on the wrong side.
    </content>
    <updated>2026-09-11T15:47:12Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9g84x6ydt2jdtvzkzmdf33v2zwcjt3lpktn6pqyhlej0gl2ef7kgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwfl2hjg</id>
    
      <title type="html">Folding phones are a sad lack of ambition. I want a scrunching ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9g84x6ydt2jdtvzkzmdf33v2zwcjt3lpktn6pqyhlej0gl2ef7kgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwfl2hjg" />
    <content type="html">
      Folding phones are a sad lack of ambition.  I want a scrunching phone.  One I can just roll up into a little ball and throw into a pocket or bag, then straighten out to give me a 14&amp;#34; display.
    </content>
    <updated>2026-09-11T12:26:31Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszx3fnlhlz7jaeyqxgwg9r0hwyn7f9xsl6v5rulh6r34mfd2rnpqqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwjmhfqm</id>
    
      <title type="html">YES! Finally! #Signal lets you turn off notifications for ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszx3fnlhlz7jaeyqxgwg9r0hwyn7f9xsl6v5rulh6r34mfd2rnpqqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwjmhfqm" />
    <content type="html">
      YES!  Finally!  #Signal lets you turn off notifications for reactions, a thing that I have never wanted a notification for!  And it only took two years!&lt;br/&gt;&lt;br/&gt;I have no idea who wants notifications on reactions.  I want notifications for things where I might need to do something in response.  If someone puts a thumb up on my message, I don&amp;#39;t need to do anything.  Ever.  &lt;br/&gt;&lt;br/&gt;But at least now I can turn it off.
    </content>
    <updated>2026-09-11T11:40:17Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsy50wncshxt4anhgz8rkk3ls5l5y53qzfawa4exrs0ed5rj6tznmgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww3lwp7n</id>
    
      <title type="html">My latest article for ACM Queue about CHERIoT is live! This ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsy50wncshxt4anhgz8rkk3ls5l5y53qzfawa4exrs0ed5rj6tznmgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww3lwp7n" />
    <content type="html">
      My latest article for ACM Queue about CHERIoT is live!&lt;br/&gt;&lt;br/&gt;This describes the design decisions that we made in designing an aggressively privilege-separated OS with a single address space for embedded systems.  It&amp;#39;s part of a series of articles about designing single-address-space systems and aims to highlight which parts of CHERIoT are things that are a good idea everywhere and which are a good idea only for embedded systems.&lt;br/&gt;&lt;br/&gt;#CHERIoT #CHERI #ACMQueue
    </content>
    <updated>2026-09-09T14:19:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsyw8za8s92uj8qfpcw5wj9j47a3ghhe0wpnl9hkqmwm9tg29m4juszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwza5kzn</id>
    
      <title type="html">Just checking I understand US politics: There are protests called ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsyw8za8s92uj8qfpcw5wj9j47a3ghhe0wpnl9hkqmwm9tg29m4juszyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwza5kzn" />
    <content type="html">
      Just checking I understand US politics:&lt;br/&gt;&lt;br/&gt;There are protests called &amp;#39;no kings&amp;#39;. And these oppose a President acting like a king.&lt;br/&gt;&lt;br/&gt;There is a party whose name literally means &amp;#39;people who are opposed to having a king&amp;#39;.&lt;br/&gt;&lt;br/&gt;And this party is objecting to the protests?
    </content>
    <updated>2026-09-09T10:35:45Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsyz6ax8qkyx77d43p7k7nln2dws7tzam4tfxrm95kpngxnf2xgz8qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwe4v067</id>
    
      <title type="html">I don’t think I’ve upgraded any of my #FreeBSD systems to 15. ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsyz6ax8qkyx77d43p7k7nln2dws7tzam4tfxrm95kpngxnf2xgz8qzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwe4v067" />
    <content type="html">
      I don’t think I’ve upgraded any of my #FreeBSD systems to 15. This is probably the longest I’ve gone after a new release without upgrading at least some machines (14.5 just came out). I even ran FreeBSD 5.0.&lt;br/&gt;&lt;br/&gt;I don’t have any reason for avoiding 15, it’s just that I don’t really have a reason to upgrade. 14 was more than good enough.  A more stable pkgbase would be a compelling reason, as would rcd landing. So I’m actually quite excited for 16.
    </content>
    <updated>2026-09-08T07:04:38Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsfyyv42rw0y509pk5vxp2nq6zue2d3kghv9t5vycjhc6lnjvsfayqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwa08pdw</id>
    
      <title type="html">The other day, I wanted to see if alcohol-free port existed. The ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsfyyv42rw0y509pk5vxp2nq6zue2d3kghv9t5vycjhc6lnjvsfayqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwa08pdw" />
    <content type="html">
      The other day, I wanted to see if alcohol-free port existed. The top search link went to a page of the 20 best alcohol-free ports! Except none of them were port, they were all spirits (not even other fortified wines). The ‘AI’ summary described a fictional process for removing alcohol from port and had two citations, neither of which supported the claim. The next 30 pages were all LLM slop that talked about what port is for a long time before saying that there’s no alcohol-free version.&lt;br/&gt;&lt;br/&gt;I have been using the web since the mid ‘90s and it has never been this bad. Anyone advocating for ‘AI’ is advocating for a future where this damage is spread to all facets of life.
    </content>
    <updated>2026-09-08T06:58:44Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsr7gvq34c9w3g20u7z0h9dxld3gk9qu0fnzes473z3kh8f3mqkpcqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww988ryj</id>
    
      <title type="html">Yay, my least favourite thing in the Mastodon UI has somehow got ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsr7gvq34c9w3g20u7z0h9dxld3gk9qu0fnzes473z3kh8f3mqkpcqzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww988ryj" />
    <content type="html">
      Yay, my least favourite thing in the Mastodon UI has somehow got worse!&lt;br/&gt;&lt;br/&gt;When I scroll away from a video, rather than stopping playing (as it should) it pops out as a separate little floating thing. Which is a nice thing to have as a button, but I scrolled away from the video because I was done watching it, so stop that.&lt;br/&gt;&lt;br/&gt;Only now the pop up managed to appear under the UI elements on the right. So clicking on the close button took me to ‘followed hashtags’ and there was no way to make the floating window go away.
    </content>
    <updated>2026-09-08T06:54:10Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsygx7678mystwl8qsmdxjyxamhdqw4em3rd248h00qpm7vjyq52dczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww4c09u5</id>
    
      <title type="html">Wow, stock market reporting is totally on crack. The ‘bear ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsygx7678mystwl8qsmdxjyxamhdqw4em3rd248h00qpm7vjyq52dczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww4c09u5" />
    <content type="html">
      Wow, stock market reporting is totally on crack.&lt;br/&gt;&lt;br/&gt;The ‘bear case’ for NVIDIA says it is 122% overvalued. At that valuation, NVIDIA is worth almost ten times the pre-bubble valuations of Intel and AMD *combined *. And the bull case is based on a P/E that completely ignores the fact that a lot of the ‘earnings’ are companies paying for NVIDIA chips with money NVIDIA gave them.
    </content>
    <updated>2026-09-07T07:13:30Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsfk755s282t5fu9a3v4m9qys39wqx5j26nljswl2l5cwuhwuly9wczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww4upyga</id>
    
      <title type="html">COVID vaccinations are so streamlined now. Arrived less than five ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsfk755s282t5fu9a3v4m9qys39wqx5j26nljswl2l5cwuhwuly9wczyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztww4upyga" />
    <content type="html">
      COVID vaccinations are so streamlined now. Arrived less than five minutes before appointment time, vaccination completed two minuted after appointment time, asked to wait five minutes to check for fainting or low blood pressure, then off.
    </content>
    <updated>2026-09-03T11:02:05Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsd2rg4n9w258880pt7wmfz7gq9e957v7lvs7r8cggmxm89c0u63ygzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwr8k6ck</id>
    
      <title type="html">Friendly kitten just came and peered into my office from the ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsd2rg4n9w258880pt7wmfz7gq9e957v7lvs7r8cggmxm89c0u63ygzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwr8k6ck" />
    <content type="html">
      Friendly kitten just came and peered into my office from the nearby wall.&lt;br/&gt;&lt;br/&gt;I went out to say hello and he got a bit confused by being able to see my hand and face, but not the connection between them.  &lt;br/&gt;&lt;br/&gt;When he came over, he went straight into a face snuggle, but the second time wasn&amp;#39;t sure it was still my hand so had to sniff it first.  His brother seems to try that but hasn&amp;#39;t quite cot the hang of it.  Now he&amp;#39;s no longer too scared to come close, if you put a hand out he&amp;#39;ll come over and headbutt it with his nose.  That&amp;#39;s probably not good for noses.
    </content>
    <updated>2026-09-01T09:02:21Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszx8nl05p3kpqpylrt20cgrhxatjpwh3jcs82344306krauwwfgegzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwfrs4gd</id>
    
      <title type="html">#CHERIoT was designed from the ground up to let you reason about ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszx8nl05p3kpqpylrt20cgrhxatjpwh3jcs82344306krauwwfgegzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwfrs4gd" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;#CHERIoT was designed from the ground up to let you reason about the exact kinds of things that the CRA requires:&lt;br/&gt;&lt;br/&gt;What is in your firmware?&lt;br/&gt;What can happen if a particular component is compromised?&lt;br/&gt;If someone finds a vulnerability in some component that you use, is your device vulnerable?&lt;br/&gt;&lt;br/&gt;It was also designed to enable support for proposed right-to-repair legislation for devices in regulated domains, where you need to be able to allow users or third parties to modify almost all software components but prevent modification of software components certified by the regulator.
    </content>
    <updated>2026-09-01T08:45:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0ulvt7hxxeucjh2gcfyys3xq305ljm2wftda75vqee7ewvwatkvgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwj0f3r3</id>
    
      <title type="html">When I was at Microsoft, one of the things I tried to persuade ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0ulvt7hxxeucjh2gcfyys3xq305ljm2wftda75vqee7ewvwatkvgzyrke3hgh9j87eq0xttzd9vrg0l36ep26zt5nnspgsgxlxgqzeztwwj0f3r3" />
    <content type="html">
      When I was at Microsoft, one of the things I tried to persuade the Outlook / Exchange team to do was allow dietary preferences to be stored in Exchange and exposed as part of a meeting invitation reply then aggregated and presented.&lt;br/&gt;&lt;br/&gt;Any time someone organised a catered event, they always sent out an invitation that asked people to provide dietary preferences in a reply.  This led to two very different flows:&lt;br/&gt;&lt;br/&gt;If you have no dietary restrictions, you hit &amp;#39;accept&amp;#39; or &amp;#39;decline&amp;#39;.&lt;br/&gt;&lt;br/&gt;If you had dietary restrictions, you hit &amp;#39;accept...&amp;#39; and then entered your dietary restrictions in the email.&lt;br/&gt;&lt;br/&gt;As a vegetarian, it was mildly annoying to say &amp;#39;I will attend and I am still vegetarian&amp;#39; each time I replied.  But vegetarian is the simplest case.&lt;br/&gt;&lt;br/&gt;Imagine your dietary restrictions are Halal or Kosher.  Now your reply is &amp;#39;I will attend and, yes, I&amp;#39;m still Jewish / Muslim&amp;#39;.  Now you&amp;#39;ve got a flow that is harder for people of certain religions.  A competent lawyer could argue that this is religious discrimination.&lt;br/&gt;&lt;br/&gt;But it gets worse.  A lot of dietary restrictions are related to medical issues.  So now you&amp;#39;re requiring people to specify their medical conditions (&amp;#39;I will attend and, yes, no one has found a cure for celiac disease yet&amp;#39;) in an email, every time they want to reply to a meeting.  Now imagine that you have to comply with a legal requirement to delete all information related to a specific person&amp;#39;s medical conditions.  Can you do that?  No, because these emails are all interleaved with normal emails.  If this were built in, the person organising the event could have a view of what dietary requirements they have to cater for, not linked to individuals (though linkable if you have multiple catered meetings with overlapping sets of people), which could be automatically deleted after the event.&lt;br/&gt;&lt;br/&gt;If you&amp;#39;re selling corporate groupware, I&amp;#39;d suggest you get this right and advertise it as a differentiating feature.
    </content>
    <updated>2026-09-01T08:30:21Z</updated>
  </entry>

</feed>