<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>llimllib's notes</title>
  <id>http://notes.billmill.org/</id>
  <link href="https://notes.billmill.org/atom.xml" rel="self" />
  <updated>2026-08-02T17:57:10.809855Z</updated>
  <generator uri="https://github.com/llimllib/obsidian_notes/" version="1.0">
    Obsidian Notes
  </generator>
  <author><name>Bill Mill</name></author>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/07/Unicode_s_Transliteration_Rules_Are_Turing-Complete.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/07/Unicode_s_Transliteration_Rules_Are_Turing-Complete.html" />
    <title>Unicode's Transliteration Rules Are Turing-Complete</title>
    <published>2026-07-09T11:32:52.794Z</published>
    <updated>2026-07-09T11:32:52.794Z</updated>
    <content type="html">&lt;p&gt;&lt;a href=&quot;https://seriot.ch/computation/uts35/&quot; class=&quot;external-link&quot;&gt;https://seriot.ch/computation/uts35/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lovely little article where Nicolas Seriot shows how you can use Unicode&#x27;s &lt;a href=&quot;https://www.unicode.org/reports/tr35/tr35-general.html#Conversion_Rules&quot; class=&quot;external-link&quot;&gt;rewrite rules&lt;/a&gt;, which are intended for converting characters from one language to another, to execute arbitrary programs.&lt;/p&gt;
&lt;p&gt;via &lt;a href=&quot;https://bsky.app/profile/nst021.bsky.social/post/3mq53l42z722m&quot; class=&quot;external-link&quot;&gt;bsky&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/07/World_Cup_Visualizations.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/07/World_Cup_Visualizations.html" />
    <title>World Cup Visualizations</title>
    <published>2026-07-08T19:40:47.683Z</published>
    <updated>2026-07-08T19:40:47.683Z</updated>
    <content type="html">&lt;p&gt;&lt;a href=&quot;https://wc26.bogachev.fr/index.html&quot; class=&quot;external-link&quot;&gt;https://wc26.bogachev.fr/index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For an example from a spectacular game, check out &lt;a href=&quot;https://wc26.bogachev.fr/m/arg-egy/#cfg=eyJzcGVlZCI6MSwic2hvb3QiOnsicGF1c2UwIjowLjgsImdhcCI6MS43fSwiQSI6eyJvbiI6dHJ1ZSwib3BlbiI6ZmFsc2UsImF0ayI6MC4xNSwicmVsIjoxLjYsImdyaWQiOjAuNDUsImhlaWdodCI6NywiY29sb3VyIjoxLCJibHVyIjowLjc1LCJzaGFycCI6MSwiZmxvb3IiOjAsImxhcCI6MC4wMDUsImxpcEgiOjAuMDEsIm93bkJhbmQiOjAuMTMsImdsb3ciOjEsInhnVyI6MSwieGdIIjoxLCJmb2N1cyI6MC4yLCJmbG9vZEhvbGQiOjAuNiwibHVsbCI6MC41LCJnb2FsSCI6Ny41LCJnb2FsSG9sZCI6MS4zLCJnb2FsUmVzZXQiOjEuOCwiZ29hbFBhdXNlIjowLjMsInRocnVzdCI6MS41LCJwZW5JbXAiOjEsInBlbk1pbiI6MC4xLCJ0aHJ1c3RIb2xkIjo0LCJ4Z0ltcCI6MSwic3RyZWFrSyI6MC40LCJkYW5nZXJQdXNoIjoxLjUsImRhbmdlckZsb29kIjowLjcsImNDb3JuZXIiOnRydWUsIndDb3JuZXIiOjAuMDIsIm1hcmtlckgiOjAuNTUsImNPd24iOnRydWUsIndPd24iOjEsImNYZyI6dHJ1ZSwid1hnIjoxLCJjUHJvZyI6dHJ1ZSwid1Byb2ciOjEsImNQYXNzIjpmYWxzZSwid1Bhc3MiOjEsImNEdWVsIjpmYWxzZSwid0R1ZWwiOjEsImNEcmliIjpmYWxzZSwid0RyaWIiOjEsImNBbGwiOmZhbHNlLCJ3QWxsIjoxfSwiQiI6eyJvbiI6dHJ1ZSwib3BlbiI6ZmFsc2UsImF0ayI6MC4xMiwicmVsIjoxLjIsImFnZ3IiOjAuNSwiaGVpZ2h0IjowLjYsImxvbmd3IjowLCJvcGFjaXR5IjoxLCJzaGFycCI6MX0sIkMiOnsib24iOnRydWUsIm9wZW4iOmZhbHNlLCJ0cmFpbCI6MC41LCJzaXplIjoxLCJicmlnaHQiOjEsImhvcCI6MSwidHdpZHRoIjoxLCJmYWRlIjoxfSwiRCI6eyJvbiI6dHJ1ZSwib3BlbiI6ZmFsc2UsImFtcCI6MSwiYmVhbSI6MSwic3BhcmsiOjEsIm1hcmtlciI6MSwiZmFkZSI6MSwic2hvdHMiOnRydWUsImR1ZWxzIjp0cnVlLCJjb3JuZXJzIjp0cnVlLCJmb3VscyI6dHJ1ZX19&quot; class=&quot;external-link&quot;&gt;the Argentina vs Egypt match&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;By Alevandre Bogachev, via &lt;a href=&quot;https://bsky.app/profile/chezvoila.com/post/3mq5ujdtoic2n&quot; class=&quot;external-link&quot;&gt;Francis Gagnon&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/06/statistics_that_live_in_your_SQL.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/06/statistics_that_live_in_your_SQL.html" />
    <title>statistics that live in your SQL</title>
    <published>2026-06-24T12:57:42.693Z</published>
    <updated>2026-07-07T17:32:45.484Z</updated>
    <content type="html">&lt;p&gt;&lt;a href=&quot;https://kolistat.com/blog/the-stats-duck-v0-6-0/&quot; class=&quot;external-link&quot;&gt;https://kolistat.com/blog/the-stats-duck-v0-6-0/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Announcement of a really neat duckdb extension called &lt;code&gt;the-stats-duck&lt;/code&gt; (&lt;a href=&quot;https://github.com/KoliStat/the-stats-duck/&quot; class=&quot;external-link&quot;&gt;KoliStat/the-stats-duck&lt;/a&gt;) which puts statistical functions inside duckDB.&lt;/p&gt;
&lt;p&gt;It then goes on to add some visualization in duckdb sql, by serializing out to &lt;a href=&quot;/visualization/graphs/vega-lite.html&quot; class=&quot;internal-link&quot;&gt;vega-lite&lt;/a&gt; format, á la &lt;a href=&quot;/visualization/graphs/ggsql.html&quot; class=&quot;internal-link&quot;&gt;ggsql&lt;/a&gt; (which the author calls out on &lt;a href=&quot;https://kolistat.com/blog/the-stats-duck-v0-6-0/&quot; class=&quot;external-link&quot;&gt;news.yc&lt;/a&gt; as a direct inspiration)&lt;/p&gt;
&lt;p&gt;My favorite bit is the function &lt;code&gt;meta()&lt;/code&gt; as a &lt;em&gt;table-valued&lt;/em&gt; function, allowing you to select from it:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;SELECT&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;column_name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_missing&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_distinct&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;median&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stddev&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;top&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;FROM&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;meta&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;penguins&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I don&#x27;t use &lt;code&gt;R&lt;/code&gt;, but I think that&#x27;s basically the same as its &lt;code&gt;summary()&lt;/code&gt; function.&lt;/p&gt;
&lt;p&gt;It also builds in LOESS regression and embeds an R-like specification language for it:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;SELECT&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;FROM&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lm_summary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;penguins&amp;#39;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;formula&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;body_mass_g ~ flipper_length_mm + bill_length_mm&amp;#39;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Also, neat job building the demo into WASM and serving it as part of the page, strong work.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/06/Parse__don_t_validate___In_a_Language_That_Doesn_t_Want_You_To.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/06/Parse__don_t_validate___In_a_Language_That_Doesn_t_Want_You_To.html" />
    <title>Parse, don't validate — In a Language That Doesn't Want You To</title>
    <published>2026-06-30T13:23:37.073Z</published>
    <updated>2026-06-30T13:23:37.073Z</updated>
    <content type="html">&lt;p&gt;&lt;a href=&quot;https://cekrem.github.io/posts/parse-dont-validate-typescript/&quot; class=&quot;external-link&quot;&gt;https://cekrem.github.io/posts/parse-dont-validate-typescript/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A practical exercise walking through how to &amp;quot;&lt;a href=&quot;/link_blog/2025/08/Parse__don_t_validate.html&quot; class=&quot;internal-link&quot;&gt;Parse, don&#x27;t validate&lt;/a&gt;&amp;quot; in plain typescript. I did not know about the &amp;quot;brand&amp;quot; technique, so that was neat to learn.&lt;/p&gt;
&lt;p&gt;I generally like to do a light version of this, but I also often find it frustrating and brittle when people go down the FP-style &amp;quot;All Information Must Be Encoded in the Type System&amp;quot; rabbit hole.&lt;/p&gt;
&lt;p&gt;When it comes down to it, I&#x27;m a caveman who prefers to bash rocks instead of teach math&lt;/p&gt;
&lt;p&gt;(One note: I suffered terribly at one job that had extensive Zod types with the slow compilation time they caused. &amp;quot;Parse, don&#x27;t validate&amp;quot; isn&#x27;t free, and shouldn&#x27;t be treated as such. This does not mean you should not use it, just that one needs to properly weigh the costs, and that it can often be difficult to do so ahead of time)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/06/Prism_-_An_Impure_Functional_Language_With_Typed_Effects.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/06/Prism_-_An_Impure_Functional_Language_With_Typed_Effects.html" />
    <title>Prism - An Impure Functional Language With Typed Effects</title>
    <published>2026-06-30T12:08:05.81Z</published>
    <updated>2026-06-30T12:08:05.81Z</updated>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;This is Prism, a proof of concept functional compiler I&#x27;ve been working on for the last three years, built around modeling effects with modern types inspired by the intellectual lineage of OCaml 5, Haskell and Koka. The big idea of the last five or six years of functional programming is that effects are real, effects are fine, and the interesting question is not how to avoid them but how to put them in the type system and then optimize them until they cost nothing.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.stephendiehl.com/posts/prism/&quot; class=&quot;external-link&quot;&gt;Stephen Diehl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This seems like basically a way to write Haskell-ish functional code, but avoid the monadic morass that can result.&lt;/p&gt;
&lt;p&gt;It&#x27;s a neat-looking language that lets you avoid types a lot more often than similar languages, apparently by including &amp;quot;effects&amp;quot; in the type system (warning: I&#x27;m way out over my skis talking about this topic)&lt;/p&gt;
&lt;p&gt;I&#x27;ve stopped worrying that I&#x27;ll ever need to use a functional programming language &amp;quot;for real&amp;quot; in my career, but this one seems different and neat.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/sdiehl/prism&quot; class=&quot;external-link&quot;&gt;https://github.com/sdiehl/prism&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The interpreter sits at the bottom of a proof chain whose top is Lean 4&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Very cool! &lt;a href=&quot;/programming/theorem_provers/Lean.html&quot; class=&quot;internal-link&quot;&gt;Lean&lt;/a&gt; is something I&#x27;ve played with, enough to get through a bit of &lt;a href=&quot;/link_blog/2024/07/The_Natural_Number_Game.html&quot; class=&quot;internal-link&quot;&gt;The Natural Number Game&lt;/a&gt;, but this is a whole other level I can&#x27;t even comprehend.&lt;/p&gt;
&lt;p&gt;via &lt;a href=&quot;https://phanpy.social/#/hachyderm.io/s/116833418395482176&quot; class=&quot;external-link&quot;&gt;mjd&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/06/A_data-driven_normal_for_the_Spain_temperature_chart.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/06/A_data-driven_normal_for_the_Spain_temperature_chart.html" />
    <title>A data-driven normal for the Spain temperature chart</title>
    <published>2026-06-24T13:10:35.97Z</published>
    <updated>2026-06-24T13:10:35.97Z</updated>
    <content type="html">&lt;p&gt;&lt;a href=&quot;https://dominicroye.github.io/blog/spain-temperature-normals-openmeteo/&quot; class=&quot;external-link&quot;&gt;https://dominicroye.github.io/blog/spain-temperature-normals-openmeteo/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/images/Pasted image 20260624091049.png&quot;&gt;&lt;img class=&quot;bodyimg&quot; src=&quot;/images/Pasted image 20260624091049.png&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The author goes through his many choices for building the above chart, and gives the code and shows how they gathered the data for it.&lt;/p&gt;
&lt;p&gt;Thoughtful and thorough.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/06/The_Coming_Loop.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/06/The_Coming_Loop.html" />
    <title>The Coming Loop</title>
    <published>2026-06-23T13:21:38.669Z</published>
    <updated>2026-06-23T13:21:38.669Z</updated>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Present-day models tend to produce code that is too defensive, too complex, too local in its reasoning. They avoid strong invariants. They add fallbacks instead of making bad states impossible. They duplicate code, invent bad abstractions, and paper over unclear design with more machinery. Worse though: I so far see very little progress of this improving. If anything, on that front it feels to me that we might even be making steps in the wrong direction. At least for my taste, present-day hands-off harnesses like Claude Code with ultracode produce worse code than what we were producing last autumn. That’s because Claude Code, with Fable for instance will be working uninterrupted on a problem for thirty minutes or more, when previously the process would have been much more human in the loop.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Furthermore it’s well understood that models tend to observe some local failure and add a local defense. &lt;a href=&quot;https://x.com/karpathy/status/1976082963382272334&quot; class=&quot;external-link&quot;&gt;Karpathy mentioned&lt;/a&gt; how they are “mortally terrified of exceptions”. In systems with important invariants, especially persisted data formats or core infrastructure, the right fix is not “handle every malformed case.” The right fix is to make the malformed case unrepresentable or impossible to write in the first place. Yet even with a lot of manual steering, that type of code does not come out of LLMs naturally, and even if the code comes out naturally like that, they will still attempt to handle now impossible errors.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://lucumr.pocoo.org/2026/6/23/the-coming-loop/&quot; class=&quot;external-link&quot;&gt;Armin Ronacher&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This has been my experience as well. I prefer using &lt;a href=&quot;/AI/tools/pi.html&quot; class=&quot;internal-link&quot;&gt;pi&lt;/a&gt; in large part because it doesn&#x27;t hide those loops from you, so I at least more often notice when the machine is doing something stupid, or doing something local that ought to be global.&lt;/p&gt;
&lt;p&gt;The whole piece is well worth reading, as you might guess from my long pull quote.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The scariest part to me is that we become dependent on these new machines in new ways. Software has always depended on tools. I remember the time when I had to pay for compilers. These new tools are a flashback to times where creating software came with real costs. But now it’s no longer a one-time payment, it’s a constant dependency. Not just a dependency on a filled wallet, but also a cognitive dependency.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is also my #1 fear&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/06/XML_and_JSON_in_2026.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/06/XML_and_JSON_in_2026.html" />
    <title>XML and JSON in 2026</title>
    <published>2026-06-19T14:04:52.169Z</published>
    <updated>2026-06-19T14:04:52.169Z</updated>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Irrespective of the current uptake, and seen as an experiment, XML has been a success. It proved that:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You can have a data interchange format that is radically independent of your computer architecture, operating system, programming language, and application.&lt;/li&gt;
&lt;li&gt;The only sane text standard for modern computing is Unicode, which in practice is affordable and reasonably straightforward to use.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Prior to 1996, neither of these things were widely believed. The only “interoperable” data format was ASN.1, which is horrible and lacked quality software support. The resistance to Unicode was significant and widespread, and adoption was disappointing. Today, #1 and #2 above are the (low) bar to entry for any data packaging technology.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tbray.org/ongoing/When/202x/2026/06/01/XML-and-JSON-in-2026&quot; class=&quot;external-link&quot;&gt;Tim Bray&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/06/How_s_Linear_so_fast_.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/06/How_s_Linear_so_fast_.html" />
    <title>How's Linear so fast?</title>
    <published>2026-06-08T01:41:20.781Z</published>
    <updated>2026-06-08T01:41:20.781Z</updated>
    <content type="html">&lt;p&gt;&lt;a href=&quot;https://performance.dev/how-is-linear-so-fast-a-technical-breakdown&quot; class=&quot;external-link&quot;&gt;https://performance.dev/how-is-linear-so-fast-a-technical-breakdown&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;They use a sync engine such that user changes are optimistically applied&lt;/li&gt;
&lt;li&gt;They carefully load only the JS/CSS that is required at the start, and preload as much as possible&lt;/li&gt;
&lt;li&gt;They chunk the application very granularly, and use a service worker to preload chunks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This made me interested in how their sync engine works, so I&#x27;m watching this talk:&lt;/p&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/Wo2m3jaJixU?si=FLhcjMF6M6dWc8Dc&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;&lt;/iframe&gt;\
&lt;ul&gt;
&lt;li&gt;I&#x27;ve previously mentioned &lt;a href=&quot;/programming/algorithms/CRDT/electric.html&quot; class=&quot;internal-link&quot;&gt;electric&lt;/a&gt;, which implements a sync engine with CRDTs&lt;/li&gt;
&lt;li&gt;I&#x27;ve previously mentioned Replicache in &lt;a href=&quot;/link_blog/2025/08/Offline-First_Landscape.html&quot; class=&quot;internal-link&quot;&gt;Offline-First Landscape&lt;/a&gt; and &lt;a href=&quot;/computer_usage/fly/Real-time_Collaboration_with_replicache_and_fly-replay.html&quot; class=&quot;internal-link&quot;&gt;Real-time Collaboration with replicache and fly-replay&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;a news.yc commenter points to &lt;a href=&quot;https://doc.replicache.dev/concepts/how-it-works&quot; class=&quot;external-link&quot;&gt;this doc&lt;/a&gt; about how replicache works&lt;/li&gt;
&lt;li&gt;zero, who I guess are the company that supports replicache, have &lt;a href=&quot;https://zero.rocicorp.dev/docs/when-to-use#alternatives&quot; class=&quot;external-link&quot;&gt;this doc&lt;/a&gt; which points to alternatives to it&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;news.yc points to &lt;a href=&quot;https://github.com/wzhudev/reverse-linear-sync-engine/blob/main/SUMMARY.md&quot; class=&quot;external-link&quot;&gt;this reverse-engineering&lt;/a&gt; of the linear sync engine&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/06/Thoughts_on_starting_new_projects_with_LLM_agents.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/06/Thoughts_on_starting_new_projects_with_LLM_agents.html" />
    <title>Thoughts on starting new projects with LLM agents</title>
    <published>2026-06-07T15:29:24.348Z</published>
    <updated>2026-06-07T15:29:24.348Z</updated>
    <content type="html">&lt;p&gt;&lt;a href=&quot;https://eli.thegreenplace.net/2026/thoughts-on-starting-new-projects-with-llm-agents/&quot; class=&quot;external-link&quot;&gt;https://eli.thegreenplace.net/2026/thoughts-on-starting-new-projects-with-llm-agents/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Eli shares his thoughts on starting new projects with LLMs.&lt;/p&gt;
&lt;p&gt;Many of his preferences align with mine; especially around the importance of developing a test suite that actually works. Agents are happy to give themselves huge and useless test suites if you let them test themselves.&lt;/p&gt;
&lt;p&gt;One thing he didn&#x27;t mention is static tooling - I try to load up my LLM-using projects with every possible static tooling to improve the code the LLM writes. In Go, I use &lt;a href=&quot;/computer_usage/vim/golangci-lint.html&quot; class=&quot;internal-link&quot;&gt;golangci-lint&lt;/a&gt; with extra tools enabled (&lt;a href=&quot;https://github.com/llimllib/git-ls/blob/155578fd3bdb88bc3a8531fe138d3f1fd3c11935/.golangci.yml#L5&quot; class=&quot;external-link&quot;&gt;ex&lt;/a&gt;). In python, I use &lt;a href=&quot;/programming/python/Ruff_-_linter_written_in_rust.html&quot; class=&quot;internal-link&quot;&gt;ruff&lt;/a&gt; and &lt;a href=&quot;/programming/python/ty.html&quot; class=&quot;internal-link&quot;&gt;ty&lt;/a&gt;, and in typescript I use &lt;a href=&quot;https://github.com/microsoft/typescript-go&quot; class=&quot;external-link&quot;&gt;typescript-go&lt;/a&gt; and &lt;a href=&quot;https://biomejs.dev/&quot; class=&quot;external-link&quot;&gt;biome&lt;/a&gt; (though &lt;a href=&quot;https://oxc.rs/docs/guide/usage/linter.html&quot; class=&quot;external-link&quot;&gt;oxlint&lt;/a&gt; seems to be gaining popularity; I&#x27;ve not tried it but should).&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/05/But_it_happened.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/05/But_it_happened.html" />
    <title>But it happened</title>
    <published>2026-05-30T02:39:09.133Z</published>
    <updated>2026-05-30T02:39:09.133Z</updated>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Why doesn&#x27;t [Eric Schmidt] see that the thing that people are afraid of with artificial intelligence is not just technology in the abstract. It&#x27;s that they saw what Eric Schmidt and his cohort of Silicon Valley decision makers did the last time they were given a new technology to guide. They saw them build the dark pattern version of it. They lived it. And now they are terrified that they&#x27;re going to do the same dark pattern thing on top of the next new technology.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Casey Muratori in &lt;a href=&quot;https://www.youtube.com/watch?v=tlQ7EoJDTQY&quot; class=&quot;external-link&quot;&gt;a video&lt;/a&gt; breaking down Eric Schmidt&#x27;s commencement speech to the University of Arizona, bringing in context from the first part to consder more deeply why the audience might have been boing him in the second part when he brought up AI.&lt;/p&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/tlQ7EoJDTQY?si=vGU3g8X8FJuV23P5&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;via &lt;a href=&quot;https://gist.github.com/wrs/648401d9bdd33c0a15f6afbfef156874&quot; class=&quot;external-link&quot;&gt;lobste.rs&lt;/a&gt;, which links &lt;a href=&quot;https://gist.github.com/wrs/648401d9bdd33c0a15f6afbfef156874&quot; class=&quot;external-link&quot;&gt;this transcript&lt;/a&gt; if you&#x27;d rather read.&lt;/p&gt;
&lt;p&gt;I find AI a really useful and exciting technology for me, personally, but I share significant fears about where the people in control of it (for whom, it should be noted, I could be broadly said to work) will drive it.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/05/Decyphering_the_Business_Card_Raytracer.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/05/Decyphering_the_Business_Card_Raytracer.html" />
    <title>Decyphering the Business Card Raytracer</title>
    <published>2026-05-28T13:25:25.919Z</published>
    <updated>2026-05-28T13:25:25.919Z</updated>
    <content type="html">&lt;p&gt;&lt;a href=&quot;https://fabiensanglard.net/rayTracing_back_of_business_card/&quot; class=&quot;external-link&quot;&gt;https://fabiensanglard.net/rayTracing_back_of_business_card/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Fabien breaks down how a lovely short program works&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/05/C_isn_t_a_programming_language.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/05/C_isn_t_a_programming_language.html" />
    <title>C isn't a programming language</title>
    <published>2026-05-28T12:50:15.698Z</published>
    <updated>2026-05-28T12:50:15.698Z</updated>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;My&lt;/em&gt; problem is that C was elevated to a role of prestige and power, its reign so absolute and eternal that it has completely distorted the way we speak to each other. Rust and Swift cannot simply speak their native and comfortable tongues – they must instead wrap themselves in a grotesque simulacra of C’s skin and make their flesh undulate in the same ways it does.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;C is the &lt;em&gt;lingua franca&lt;/em&gt; of programming. We must all speak C, and therefore C is not just a programming language anymore – it’s a protocol that every general-purpose programming language needs to speak.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://faultlore.com/blah/c-isnt-a-language/&quot; class=&quot;external-link&quot;&gt;Aria Desires&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/05/demoscapes.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/05/demoscapes.html" />
    <title>demoscapes</title>
    <published>2026-05-26T01:46:34.414Z</published>
    <updated>2026-05-26T01:46:34.414Z</updated>
    <content type="html">&lt;p&gt;&lt;a href=&quot;https://demoscapes.org/&quot; class=&quot;external-link&quot;&gt;https://demoscapes.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Very cool interactive visualizations of a variety of statistics.&lt;/p&gt;
&lt;p&gt;In this graph, the two dark blue smudges, with my mouse pointer on the second one, indicate excess male mortality in world wars I and II.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/images/Pasted image 20260525214737.png&quot;&gt;&lt;img class=&quot;bodyimg&quot; src=&quot;/images/Pasted image 20260525214737.png&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are many more statistics available, and from many different countries&#x27; data.&lt;/p&gt;
&lt;p&gt;via &lt;a href=&quot;https://bsky.app/profile/jschoeley.com/post/3mkmm6ru2mc2b&quot; class=&quot;external-link&quot;&gt;bsky&lt;/a&gt;, where &lt;a href=&quot;https://bsky.app/profile/scientificdiscovery.dev&quot; class=&quot;external-link&quot;&gt;Saloni Dattani&lt;/a&gt; provides &lt;a href=&quot;https://cdn.bsky.app/img/feed_fullsize/plain/did:plc:73aicoale2mqwrap63rdzwep/bafkreie7xm2wxkvz4dqscp2q6xrz6ozdqxb4jmfengtfkbcj5pxe55kzsi&quot; class=&quot;external-link&quot;&gt;this interesting annotated version&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://notes.billmill.org/link_blog/2026/05/50_hours_to_draw_some_lines.html</id>
    <link type="text/html" href="https://notes.billmill.org/link_blog/2026/05/50_hours_to_draw_some_lines.html" />
    <title>50 hours to draw some lines</title>
    <published>2026-05-26T01:41:37.597Z</published>
    <updated>2026-05-26T01:41:37.597Z</updated>
    <content type="html">&lt;p&gt;&lt;a href=&quot;https://www.dougmacdowell.com/50-hours-to-draw-some-lines.html&quot; class=&quot;external-link&quot;&gt;https://www.dougmacdowell.com/50-hours-to-draw-some-lines.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The author talks about their process for learning some basic drafting techniques, culminating in this hand-drawn graph:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/images/Pasted image 20260525214246.png&quot;&gt;&lt;img class=&quot;bodyimg&quot; src=&quot;/images/Pasted image 20260525214246.png&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A very cool dive into how to accomplish it, an interesting look into how much effort these scientific diagrams must have taken int he past, and a good chance to question how and why we spend our effort.&lt;/p&gt;
&lt;p&gt;via &lt;a href=&quot;https://news.ycombinator.com/item?id=48223997&quot; class=&quot;external-link&quot;&gt;news.yc&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
</feed>