<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Web Pages on Brad&#39;s Miscellany</title>
    <link>https://www.bradrubin.com/</link>
    <description>Recent content in Web Pages on Brad&#39;s Miscellany</description>
    <generator>Hugo</generator>
    <language>en</language>
    <managingEditor>brad@bradrubin.com (Bradley S. Rubin)</managingEditor>
    <webMaster>brad@bradrubin.com (Bradley S. Rubin)</webMaster>
    <lastBuildDate>Fri, 28 Nov 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.bradrubin.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Why Machines Learn</title>
      <link>https://www.bradrubin.com/post/why-machines-learn/</link>
      <pubDate>Fri, 28 Nov 2025 00:00:00 +0000</pubDate><author>brad@bradrubin.com (Bradley S. Rubin)</author>
      <guid>https://www.bradrubin.com/post/why-machines-learn/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been on the lookout for the rare LLM technology books that go into implementation depth, which is why I was thrilled when Sebastian Raschka&amp;rsquo;s book &lt;a href=&#34;https://www.manning.com/books/build-a-large-language-model-from-scratch&#34;&gt;Build a Large Language Model (From Scratch)&lt;/a&gt; came out. I just learned about another from Sean Carroll&amp;rsquo;s &lt;a href=&#34;https://www.preposterousuniverse.com/podcast/2025/11/24/336-anil-ananthaswamy-on-the-mathematics-of-neural-nets-and-ai/&#34;&gt;Mindscape Podcast&lt;/a&gt;. Anil Ananthaswamy&amp;rsquo;s book &lt;a href=&#34;https://anilananthaswamy.com/why-machines-learn&#34;&gt;Why Machines Learn: The Elegant Math Behind Modern AI&lt;/a&gt; looks like another good one. Unlike Raschka&amp;rsquo;s book, this one starts at the dawn of AI history and covers machine learning in depth before discussing LLMs and is focused on the math but not the code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>LLM-Assisted Website Construction</title>
      <link>https://www.bradrubin.com/post/llm-website/</link>
      <pubDate>Thu, 09 Oct 2025 00:00:00 +0000</pubDate><author>brad@bradrubin.com (Bradley S. Rubin)</author>
      <guid>https://www.bradrubin.com/post/llm-website/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s been interesting to see how LLMs, specifically Claude and ChatGPT, mostly running inside VS Code, do when I built this website. It required knowledge of Hugo, the Hugo framework (Beautiful Hugo) I chose, the Go template language, Markdown, and CSS. From this list, I only had prior experience with Markdown. The LLMs performed shockingly well across all of these languages, looking at the big picture of my code base while doing so. They almost always found solutions to my questions and code changes that I expressed in English. In a few cases, they did not look at a high enough level to see that some things were framework design decisions made years ago while the Hugo platform and best practices marched forward since then.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugo Server</title>
      <link>https://www.bradrubin.com/post/hugo-server/</link>
      <pubDate>Mon, 06 Oct 2025 00:00:00 +0000</pubDate><author>brad@bradrubin.com (Bradley S. Rubin)</author>
      <guid>https://www.bradrubin.com/post/hugo-server/</guid>
      <description>&lt;p&gt;Hugo has a command called &lt;strong&gt;hugo server&lt;/strong&gt; that both builds the code and launches a web server that, in real time, updates a browser pointed to localhost:1313. This makes interactive development and debugging a breeze. But this command also temporarily updates all the links from the target domain to localhost and back. This makes a mess for Git because many of the files in the public directory, which is deployed after a Hugo build, are left in modified status.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugo Modules</title>
      <link>https://www.bradrubin.com/post/hugo-modules/</link>
      <pubDate>Sun, 05 Oct 2025 00:00:00 +0000</pubDate><author>brad@bradrubin.com (Bradley S. Rubin)</author>
      <guid>https://www.bradrubin.com/post/hugo-modules/</guid>
      <description>&lt;p&gt;When I added the &lt;a href=&#34;https://themes.gohugo.io/themes/beautifulhugo/&#34;&gt;Beautiful Hugo&lt;/a&gt; theme to Hugo, I originally treated it as a &lt;a href=&#34;https://git-scm.com/book/en/v2/Git-Tools-Submodules&#34;&gt;Git Submodule&lt;/a&gt;, which made it a secondary git-managed unit under the Hugo theme subdirectory. After runnnig into complexity headaches managing it this way, I switched to the much cleaner &lt;a href=&#34;https://gohugo.io/hugo-modules/&#34;&gt;Hugo Module&lt;/a&gt; technique, which leverages the Go language Module construct. To make this switch, however, required me to undo the git submodule commits, and thankfully ChatGPT helped me navigate this process. Now, I have separation between my code and the framework and have the ability to update each independtly, with git management over only my code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugo</title>
      <link>https://www.bradrubin.com/post/hugo/</link>
      <pubDate>Fri, 03 Oct 2025 00:00:00 +0000</pubDate><author>brad@bradrubin.com (Bradley S. Rubin)</author>
      <guid>https://www.bradrubin.com/post/hugo/</guid>
      <description>&lt;p&gt;For my new static website at Fastmail, I decided to use &lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt;. It is a file-based framework that uses the Go template language, Markdown, and CSS. I&amp;rsquo;ve been developing it with Visual Studio Code using the Claude Sonnet 3.5 LLM assistant. There are many new-to-me concepts, so I decided the best way to learn it is to dive in and just build and iterate. I am a complete novice with much of this, so it&amp;rsquo;s been fun to experience the brilliance of the AI code assistant to quickly learn how to do things as well as debug problems. I&amp;rsquo;d conservatively estimate that I&amp;rsquo;m at least 10x more productive than the old &amp;ldquo;just Google around&amp;rdquo; paradigm of software development.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fastmail</title>
      <link>https://www.bradrubin.com/post/fastmail/</link>
      <pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate><author>brad@bradrubin.com (Bradley S. Rubin)</author>
      <guid>https://www.bradrubin.com/post/fastmail/</guid>
      <description>&lt;p&gt;When I added the &lt;a href=&#34;https://themes.gohugo.io/themes/beautifulhugo/&#34;&gt;Beautiful Hugo&lt;/a&gt; theme to Hugo, I originally treated it as a &lt;a href=&#34;https://git-scm.com/book/en/v2/Git-Tools-Submodules&#34;&gt;Git submodule&lt;/a&gt;, which made it a secondary Git-managed unit under the Hugo theme subdirectory. After running into complexity headaches managing it this way, I switched to the much cleaner &lt;a href=&#34;https://gohugo.io/hugo-modules/&#34;&gt;Hugo Module&lt;/a&gt; technique, which leverages the Go language module construct. To make this switch, however, required me to undo the Git submodule commits, and thankfully ChatGPT helped me navigate this process. Now, I have separation between my code and the framework and have the ability to update each independently, with Git management over only my code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Book Arts Gallery</title>
      <link>https://www.bradrubin.com/page/book-arts-gallery/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>brad@bradrubin.com (Bradley S. Rubin)</author>
      <guid>https://www.bradrubin.com/page/book-arts-gallery/</guid>
      <description>&lt;p&gt;I began taking bookbinding classes in the summer of 2019, shortly after retiring, from the &lt;a href=&#34;https://mnbookarts.org&#34;&gt;Minnesota Center for Book Arts&lt;/a&gt;. Once COVID hit, I took online lessons from the following excellent instructors:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://karenhanmer.com&#34;&gt;Karen Hamner&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://samuelfeinsteinbookbinding.com&#34;&gt;Samuel Feinstein&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.peacheytools.com/&#34;&gt;Jeff Peachey&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.beidlermade.com/&#34;&gt;Brien Beidler&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;gallery caption-position-bottom caption-effect-fade hover-effect-zoom hover-transition&#34; itemscope itemtype=&#34;http://schema.org/ImageGallery&#34;&gt;&#xA;&#x9;  &#xA;  &#xA;  &lt;link rel=&#34;stylesheet&#34; href=&#34;https://www.bradrubin.com/css/hugo-easy-gallery.css&#34; /&gt;&#xA;  &lt;div class=&#34;box&#34; &gt;&#xA;    &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;&#xA;      &lt;div class=&#34;img&#34; style=&#34;background-image: url(&#39;https://www.bradrubin.com//img/B1-thumb.jpg&#39;);&#34;&gt;&#xA;        &lt;img itemprop=&#34;thumbnail&#34; src=&#34;https://www.bradrubin.com/img/B1-thumb.jpg&#34; alt=&#34;Gödel, Escher, Bach rebind&#34;/&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;a href=&#34;https://www.bradrubin.com/img/B1.jpg&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;&#xA;        &lt;figcaption&gt;&#xA;            &lt;p&gt;Gödel, Escher, Bach rebind&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;    &lt;/figure&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;box&#34; &gt;&#xA;    &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;&#xA;      &lt;div class=&#34;img&#34; style=&#34;background-image: url(&#39;https://www.bradrubin.com//img/B2-thumb.jpg&#39;);&#34;&gt;&#xA;        &lt;img itemprop=&#34;thumbnail&#34; src=&#34;https://www.bradrubin.com/img/B2-thumb.jpg&#34; alt=&#34;Walden clamshell box&#34;/&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;a href=&#34;https://www.bradrubin.com/img/B2.jpg&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;&#xA;        &lt;figcaption&gt;&#xA;            &lt;p&gt;Walden clamshell box&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;    &lt;/figure&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;box&#34; &gt;&#xA;    &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;&#xA;      &lt;div class=&#34;img&#34; style=&#34;background-image: url(&#39;https://www.bradrubin.com//img/B3-thumb.jpg&#39;);&#34;&gt;&#xA;        &lt;img itemprop=&#34;thumbnail&#34; src=&#34;https://www.bradrubin.com/img/B3-thumb.jpg&#34; alt=&#34;Walden fine binding&#34;/&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;a href=&#34;https://www.bradrubin.com/img/B3.jpg&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;&#xA;        &lt;figcaption&gt;&#xA;            &lt;p&gt;Walden fine binding&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;    &lt;/figure&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;box&#34; &gt;&#xA;    &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;&#xA;      &lt;div class=&#34;img&#34; style=&#34;background-image: url(&#39;https://www.bradrubin.com//img/B4-thumb.jpg&#39;);&#34;&gt;&#xA;        &lt;img itemprop=&#34;thumbnail&#34; src=&#34;https://www.bradrubin.com/img/B4-thumb.jpg&#34; alt=&#34;Hand-sewn endband&#34;/&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;a href=&#34;https://www.bradrubin.com/img/B4.jpg&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;&#xA;        &lt;figcaption&gt;&#xA;            &lt;p&gt;Hand-sewn endband&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring LLMs</title>
      <link>https://www.bradrubin.com/page/llm/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>brad@bradrubin.com (Bradley S. Rubin)</author>
      <guid>https://www.bradrubin.com/page/llm/</guid>
      <description>&lt;p&gt;Every day, I use a Large Language Model (LLM), mostly either ChatGPT or Claude Sonnet in Visual Studio Code, and I&amp;rsquo;m stunned at this amazing technology. Since my background is in classic information retrieval, I have a burning desire to understand how this all works. To that end, I&amp;rsquo;ve found these resources helpful. I&amp;rsquo;m very interested in the areas of emergent behavior and consciousness too.&lt;/p&gt;&#xA;&lt;h1 id=&#34;books&#34;&gt;Books&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I&amp;rsquo;ve learned more from Sebastian Raschka&amp;rsquo;s book than any other resource &lt;a href=&#34;https://www.manning.com/books/build-a-large-language-model-from-scratch&#34;&gt;Build a Large Language Model (From Scratch)&lt;/a&gt;. The book uses Python and Pytorch and covers everything from tokenizing to instruction fine-tuning.&lt;/li&gt;&#xA;&lt;li&gt;Sebastian has free YouTube videos that complement the book. There is a short form &lt;a href=&#34;https://www.youtube.com/playlist?list=PLTKMiZHVd_2IIEsoJrWACkIxLRdfMlw11&#34;&gt;Build a Large Language Model (From Scratch)- short playlist&lt;/a&gt; and a long form &lt;a href=&#34;https://www.youtube.com/playlist?list=PLQRyiBCWmqp5twpd8Izmaxu5XRkxd5yC-&#34;&gt;Build a large Language Model (from Scratch)- big playlist&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Sebastian has another book in progress &lt;a href=&#34;https://www.manning.com/books/build-a-reasoning-model-from-scratch&#34;&gt;Build a Reasoning Model (From Scratch)&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Here is &lt;a href=&#34;https://sebastianraschka.com/&#34;&gt;Sebastian&amp;rsquo;s website&lt;/a&gt; and &lt;a href=&#34;https://magazine.sebastianraschka.com/&#34;&gt;his Substack&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;papers&#34;&gt;Papers&lt;/h1&gt;&#xA;&lt;p&gt;ChatGPT gave me a suggested paper reading list, in chronological order, corresponding to the key milestones that let to today&amp;rsquo;s ChatGPT capability. As I work through these, I&amp;rsquo;ll post the links to the papers with some brief commentary.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Woodworking Gallery</title>
      <link>https://www.bradrubin.com/page/woodworking-gallery/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>brad@bradrubin.com (Bradley S. Rubin)</author>
      <guid>https://www.bradrubin.com/page/woodworking-gallery/</guid>
      <description>&lt;p&gt;I began woodworking around 1985. Eventually, I drifted into Japanese tools and woodworking and now mostly use hand tools, both Western and Japanese, with two major exceptions: bandsaw and surface planer. I dipped my toe into luthery as well.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;gallery caption-position-bottom caption-effect-fade hover-effect-zoom hover-transition&#34; itemscope itemtype=&#34;http://schema.org/ImageGallery&#34;&gt;&#xA;&#x9;  &#xA;  &#xA;  &lt;link rel=&#34;stylesheet&#34; href=&#34;https://www.bradrubin.com/css/hugo-easy-gallery.css&#34; /&gt;&#xA;  &lt;div class=&#34;box&#34; &gt;&#xA;    &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;&#xA;      &lt;div class=&#34;img&#34; style=&#34;background-image: url(&#39;https://www.bradrubin.com//img/W1-thumb.jpg&#39;);&#34;&gt;&#xA;        &lt;img itemprop=&#34;thumbnail&#34; src=&#34;https://www.bradrubin.com/img/W1-thumb.jpg&#34; alt=&#34;Japanese toolbox&#34;/&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;a href=&#34;https://www.bradrubin.com/img/W1.jpg&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;&#xA;        &lt;figcaption&gt;&#xA;            &lt;p&gt;Japanese toolbox&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;    &lt;/figure&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;box&#34; &gt;&#xA;    &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;&#xA;      &lt;div class=&#34;img&#34; style=&#34;background-image: url(&#39;https://www.bradrubin.com//img/W2-thumb.jpg&#39;);&#34;&gt;&#xA;        &lt;img itemprop=&#34;thumbnail&#34; src=&#34;https://www.bradrubin.com/img/W2-thumb.jpg&#34; alt=&#34;Schoolbox&#34;/&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;a href=&#34;https://www.bradrubin.com/img/W2.jpg&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;&#xA;        &lt;figcaption&gt;&#xA;            &lt;p&gt;Schoolbox&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;    &lt;/figure&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;box&#34; &gt;&#xA;    &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;&#xA;      &lt;div class=&#34;img&#34; style=&#34;background-image: url(&#39;https://www.bradrubin.com//img/W3-thumb.jpg&#39;);&#34;&gt;&#xA;        &lt;img itemprop=&#34;thumbnail&#34; src=&#34;https://www.bradrubin.com/img/W3-thumb.jpg&#34; alt=&#34;Spice chest&#34;/&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;a href=&#34;https://www.bradrubin.com/img/W3.jpg&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;&#xA;        &lt;figcaption&gt;&#xA;            &lt;p&gt;Spice chest&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;    &lt;/figure&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;box&#34; &gt;&#xA;    &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;&#xA;      &lt;div class=&#34;img&#34; style=&#34;background-image: url(&#39;https://www.bradrubin.com//img/W4-thumb.jpg&#39;);&#34;&gt;&#xA;        &lt;img itemprop=&#34;thumbnail&#34; src=&#34;https://www.bradrubin.com/img/W4-thumb.jpg&#34; alt=&#34;Spice chest&#34;/&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;a href=&#34;https://www.bradrubin.com/img/W4.jpg&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;&#xA;        &lt;figcaption&gt;&#xA;            &lt;p&gt;Spice chest&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;    &lt;/figure&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;box&#34; &gt;&#xA;    &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;&#xA;      &lt;div class=&#34;img&#34; style=&#34;background-image: url(&#39;https://www.bradrubin.com//img/W5-thumb.jpg&#39;);&#34;&gt;&#xA;        &lt;img itemprop=&#34;thumbnail&#34; src=&#34;https://www.bradrubin.com/img/W5-thumb.jpg&#34; alt=&#34;Box&#34;/&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;a href=&#34;https://www.bradrubin.com/img/W5.jpg&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;&#xA;        &lt;figcaption&gt;&#xA;            &lt;p&gt;Box&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;    &lt;/figure&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;  &#xA;  &#xA;  &lt;div class=&#34;box&#34; &gt;&#xA;    &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;&#xA;      &lt;div class=&#34;img&#34; style=&#34;background-image: url(&#39;https://www.bradrubin.com//img/W6-thumb.jpg&#39;);&#34;&gt;&#xA;        &lt;img itemprop=&#34;thumbnail&#34; src=&#34;https://www.bradrubin.com/img/W6-thumb.jpg&#34; alt=&#34;Anarchist&amp;#39;s toolchest&#34;/&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;a href=&#34;https://www.bradrubin.com/img/W6.jpg&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;&#xA;        &lt;figcaption&gt;&#xA;            &lt;p&gt;Anarchist&amp;#39;s toolchest&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
