<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://bbum.net/feed.xml" rel="self" type="application/atom+xml" /><link href="https://bbum.net/" rel="alternate" type="text/html" /><updated>2026-05-03T17:39:56+00:00</updated><id>https://bbum.net/feed.xml</id><title type="html">bbum.net</title><subtitle>Bill Bumgarner&apos;s weblog - recipes, projects, commentary, and more.</subtitle><author><name>Bill Bumgarner</name></author><entry><title type="html">Pizza Night! (With a side of AI)</title><link href="https://bbum.net/2026/04/pizza-night-with-a-side-of-ai/" rel="alternate" type="text/html" title="Pizza Night! (With a side of AI)" /><published>2026-04-30T00:00:00+00:00</published><updated>2026-04-30T00:00:00+00:00</updated><id>https://bbum.net/2026/04/pizza-night-with-a-side-of-ai</id><content type="html" xml:base="https://bbum.net/2026/04/pizza-night-with-a-side-of-ai/"><![CDATA[<div class="figure right">
<img src="https://live.staticflickr.com/65535/55245405285_3471b865b1_n.jpg" width="240" height="320" alt="Cream cheese, capers, salmon, dill pizza" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55245405285/">Cream Cheese, Capers, Salmon, Dill</a></div>
</div>

<p>I always love when I have an excuse to toss some pizzas.   The latest excuse was book club.  Our neighborhood has a book club where, yes, they actually discuss a book and, when we host, I make pizza.</p>

<p>I decided on 8 pizzas this time.   Not that there was going to be enough folks to consume 8, but because I wanted these 8 pizzas in my life.   And this also leaves enough leftover such that neighbors can take some home for the folks that didn’t make it.</p>

<h2 id="the-menu">The Menu</h2>

<div class="figure left">
<img src="https://live.staticflickr.com/65535/55244101737_8ec6fda345_n.jpg" width="320" height="240" alt="Pepperoni pizza" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55244101737/">Pepperoni</a></div>
</div>

<ul>
  <li>Basic Cheese</li>
  <li>Pepperoni</li>
  <li>Heirloom Tomato &amp; Basil</li>
  <li>Pesto &amp; Basil</li>
  <li>Mushroom &amp; Truffle Salt</li>
  <li>Fig Jam, Prosciutto, Arugula, Pine Nuts, Goat Cheese</li>
  <li>Cream Cheese, Capers, Salmon, Dill</li>
  <li>Southwestern</li>
</ul>

<p>I missed taking a picture of the Southwestern Pizza.</p>

<p>All in all, a huge success.   The pizzas were great.  The company fantastic.  A lively book discussion was had with the author present.   Good times!</p>

<h2 id="ai-and-pizza">AI and Pizza?</h2>

<div class="figure right">
<img src="https://live.staticflickr.com/65535/55245004776_78cd52f8db_n.jpg" width="240" height="320" alt="Basic cheese pizza" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55245004776/">Basic Cheese</a></div>
</div>

<p>This party was significantly different in execution.  Namely, I used AI – specifically, <a href="https://claude.ai/claude-code">Claude Code</a> – in a project management role to organize the shopping, prep, and execution.</p>

<p>It was, by far, the most relaxing pizza night I’ve executed!</p>

<div style="clear: both;"></div>

<h2 id="planning">Planning</h2>

<p>First, using Claude Code, I manage what I call the “California Kitchen” recipes file.  These are recipes that I’ve collected over the years while living in California.  This is in parallel to the gigantic library of family recipes – spanning back 100+ years – that my mom and sisters had collected (I used Claude Code to convert all of those from a mish mosh of dead file formats to markdown files, then published to a family accessible web page).</p>

<p>I created a new directory in California Kitchen called “Events”.   It is where I work through the food/drink planning for parties we throw.</p>

<p>In that directory, I jotted down some ideas for the various pizzas I wanted to serve, eventually narrowing it to the 8 you see here.</p>

<div class="figure left">
<img src="https://live.staticflickr.com/65535/55245005851_d2183cbb9b_n.jpg" width="240" height="320" alt="Fig jam, prosciutto, arugula, pine nuts, goat cheese pizza" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55245005851/">Fig Jam, Prosciutto, Arugula, Pine Nuts, Goat Cheese</a></div>
</div>

<p>I then asked Claude to generate an ingredient list from the pizzas.  All the ingredients that would be needed to make all the pizzas.</p>

<p>With that in hand, I checked what I had on hand and marked those off.   Made a couple of substitutions based on what was on hand.</p>

<p>Literally, to Claude:  “I have ingredients for the pizza sauce, olive oil, mexican cheese, an onion, etc.etc.etc… sub pecorino, which I have, for parmesan” and Claude figured out what was still needed and modified the recipes accordingly.</p>

<h2 id="day-before-prep-planning">Day Before Prep Planning</h2>

<p>The best part?</p>

<div class="figure right">
<img src="https://live.staticflickr.com/65535/55245005491_b375fde881_n.jpg" width="240" height="320" alt="Pesto and basil pizza" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55245005491/">Pesto &amp; Basil</a></div>
</div>

<p>To Claude:  “Making a 62% hydration dough, want an overnight rise in the fridge.   When do I need to start it, when to ball, when to pull from fridge prior to cooking.   Dinner will start at 7pm.”   Boom.  Schedule done.</p>

<p>Also:  “What prep work can I get done the day before?  Make a checklist.”   Came up with a checklist and even formatted it with checkboxes that I could cross off (I do print these things in this case).</p>

<h2 id="day-of-planning--execution">Day of Planning &amp; Execution</h2>

<p>Did the same for day of prep, too.</p>

<p>As for the cook?   That was another checklist from Claude where it listed out each pizza and the ingredients needed.   Made it trivial to stay on top of which pizza I was working on and exactly what I needed.  As well, it was easy to grab the ingredients for the next pizza while the current one was cooking.</p>

<div class="figure left">
<img src="https://live.staticflickr.com/65535/55245005231_fef7c3f2f7_n.jpg" width="240" height="320" alt="Heirloom tomato and basil pizza" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55245005231/">Heirloom Tomato &amp; Basil</a></div>
</div>

<p>Finally, after it was all said and done, I gave Claude some notes on which pizzas went the fastest, which had the most leftover, and any comments I overheard from the guests.   That’s all been recorded such that the next time we host book club, I’ll know that I should make more mushroom, that we have at least a couple of vegans attending, and that one guest is mildly allergic to onions (I’ll keep onions out of my sauce).</p>

<p>Normally, slinging 8 pizzas back to back is non stop busy work.   There is a lot to keep track of and a constant struggle to keep all the details in my head.   Writing it down definitely helps, but having the extra project management oversight of the LLM took it to a whole new level.</p>

<div class="figure right">
<img src="https://live.staticflickr.com/65535/55244102377_b48df9910a_n.jpg" width="240" height="320" alt="Mushroom and truffle salt pizza" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55244102377/">Mushroom &amp; Truffle Salt</a></div>
</div>

<p>As well, Claude was exceptionally helpful planning the prep.   Suggested several techniques for prepping ingredients that I hadn’t encountered before.   Salt and drain the tomatoes.   Lay out the fresh sliced mozz on a cookie sheet and let sit in the fridge for a bit.   Save the rehydrated mushroom broth to add a bit to the mushrooms when sautéing for extra flavor intensity.  That sort of thing.   All on point (I double checked).</p>]]></content><author><name>Bill Bumgarner</name></author><category term="cooking" /><category term="llm" /><summary type="html"><![CDATA[Cream Cheese, Capers, Salmon, Dill I always love when I have an excuse to toss some pizzas. The latest excuse was book club. Our neighborhood has a book club where, yes, they actually discuss a book and, when we host, I make pizza. I decided on 8 pizzas this time. Not that there was going to be enough folks to consume 8, but because I wanted these 8 pizzas in my life. And this also leaves enough leftover such that neighbors can take some home for the folks that didn’t make it. The Menu Pepperoni Basic Cheese Pepperoni Heirloom Tomato &amp; Basil Pesto &amp; Basil Mushroom &amp; Truffle Salt Fig Jam, Prosciutto, Arugula, Pine Nuts, Goat Cheese Cream Cheese, Capers, Salmon, Dill Southwestern I missed taking a picture of the Southwestern Pizza. All in all, a huge success. The pizzas were great. The company fantastic. A lively book discussion was had with the author present. Good times! AI and Pizza? Basic Cheese This party was significantly different in execution. Namely, I used AI – specifically, Claude Code – in a project management role to organize the shopping, prep, and execution. It was, by far, the most relaxing pizza night I’ve executed! Planning First, using Claude Code, I manage what I call the “California Kitchen” recipes file. These are recipes that I’ve collected over the years while living in California. This is in parallel to the gigantic library of family recipes – spanning back 100+ years – that my mom and sisters had collected (I used Claude Code to convert all of those from a mish mosh of dead file formats to markdown files, then published to a family accessible web page). I created a new directory in California Kitchen called “Events”. It is where I work through the food/drink planning for parties we throw. In that directory, I jotted down some ideas for the various pizzas I wanted to serve, eventually narrowing it to the 8 you see here. Fig Jam, Prosciutto, Arugula, Pine Nuts, Goat Cheese I then asked Claude to generate an ingredient list from the pizzas. All the ingredients that would be needed to make all the pizzas. With that in hand, I checked what I had on hand and marked those off. Made a couple of substitutions based on what was on hand. Literally, to Claude: “I have ingredients for the pizza sauce, olive oil, mexican cheese, an onion, etc.etc.etc… sub pecorino, which I have, for parmesan” and Claude figured out what was still needed and modified the recipes accordingly. Day Before Prep Planning The best part? Pesto &amp; Basil To Claude: “Making a 62% hydration dough, want an overnight rise in the fridge. When do I need to start it, when to ball, when to pull from fridge prior to cooking. Dinner will start at 7pm.” Boom. Schedule done. Also: “What prep work can I get done the day before? Make a checklist.” Came up with a checklist and even formatted it with checkboxes that I could cross off (I do print these things in this case). Day of Planning &amp; Execution Did the same for day of prep, too. As for the cook? That was another checklist from Claude where it listed out each pizza and the ingredients needed. Made it trivial to stay on top of which pizza I was working on and exactly what I needed. As well, it was easy to grab the ingredients for the next pizza while the current one was cooking. Heirloom Tomato &amp; Basil Finally, after it was all said and done, I gave Claude some notes on which pizzas went the fastest, which had the most leftover, and any comments I overheard from the guests. That’s all been recorded such that the next time we host book club, I’ll know that I should make more mushroom, that we have at least a couple of vegans attending, and that one guest is mildly allergic to onions (I’ll keep onions out of my sauce). Normally, slinging 8 pizzas back to back is non stop busy work. There is a lot to keep track of and a constant struggle to keep all the details in my head. Writing it down definitely helps, but having the extra project management oversight of the LLM took it to a whole new level. Mushroom &amp; Truffle Salt As well, Claude was exceptionally helpful planning the prep. Suggested several techniques for prepping ingredients that I hadn’t encountered before. Salt and drain the tomatoes. Lay out the fresh sliced mozz on a cookie sheet and let sit in the fridge for a bit. Save the rehydrated mushroom broth to add a bit to the mushrooms when sautéing for extra flavor intensity. That sort of thing. All on point (I double checked).]]></summary></entry><entry><title type="html">Monterey: Hiking Jacks Peak via Olmsted Road</title><link href="https://bbum.net/2026/03/monterey-hiking-jacks-peak/" rel="alternate" type="text/html" title="Monterey: Hiking Jacks Peak via Olmsted Road" /><published>2026-03-21T00:00:00+00:00</published><updated>2026-03-21T00:00:00+00:00</updated><id>https://bbum.net/2026/03/monterey-hiking-jacks-peak</id><content type="html" xml:base="https://bbum.net/2026/03/monterey-hiking-jacks-peak/"><![CDATA[<div class="figure right">
<a href="https://www.flickr.com/photos/bbum/55160243871/"><img src="https://live.staticflickr.com/65535/55160243871_90cd630af2_n.jpg" width="320" height="240" alt="Monterey Peninsula from Jacks Peak" /></a>
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55160243871/">Monterey Peninsula from Jacks Peak</a></div>
</div>

<p>Hiked part of the <a href="https://www.alltrails.com/trail/us/california/jacks-peak-via-olmsted-road">Jacks Peak via Olmsted Road</a> trail in Monterey today. Jacks Peak is the highest point on the Monterey Peninsula at 1,068 feet and lies within one of the three remaining natural stands of Monterey Pine in the United States.</p>

<p>The trail starts on Olmsted road and is fairly steep at the beginning (muddy in the rainy season).   Once you climb a bit, it changes from a pine forest to a fairly rocky landscape covered in manzanitas and other dryer climate plants.   The top becomes flat with some really interesting landscapes.   The views are spectacular from several points along the trail!</p>

<p>It was peak wildflower season, too!  Lots of gorgeous flowers all over and the variety changed with altitude and microclimate.</p>

<!--more-->

<div class="figure left">
<a href="https://www.flickr.com/photos/bbum/55160293799/"><img src="https://live.staticflickr.com/65535/55160293799_003633d065_n.jpg" width="240" height="320" alt="Fuchsiaflower Gooseberry" /></a>
<div class="caption"><a href="https://www.inaturalist.org/observations/339678806">Fuchsiaflower Gooseberry</a></div>
</div>

<p><a href="https://www.countyofmonterey.gov/government/departments-i-z/public-works-facilities-parks/county-parks/list-of-county-parks/jacks-peak-park">Jacks Peak County Park</a> has a bit of a layered history. The land was originally part of the Pueblo Lands tract acquired in 1859 by Scottish immigrant <a href="https://en.wikipedia.org/wiki/David_Jacks_(businessman)">David Jacks</a> (Yes, the <a href="https://en.wikipedia.org/wiki/Monterey_Jack">Monterey Jack cheese</a> guy). The county acquired the land in stages through the 1960s and 70s, and the park opened in 1977.</p>

<p>The park is now adjacent to the <a href="https://www.mprpd.org/joyce-stevens-monterey-pine-preserve">Joyce Stevens Monterey Pine Preserve</a>, an 851-acre property the Monterey Peninsula Regional Park District purchased from Pebble Beach Company in 2014 for $7.45 million. The preserve is currently closed to the public, but together with Jacks Peak County Park it protects part of the largest contiguous Monterey Pine habitat remaining on the planet. The California Native Plant Society describes the native Monterey Pine forest as forming “plant and animal communities found nowhere else on earth,” home to ten rare and endangered species including Yadon’s rein orchid (<em>Piperia yadonii</em>), a federally listed endangered plant.</p>

<h2 id="photos-from-the-hike">Photos from the Hike</h2>

<div class="photo-gallery">

<div class="figure" style="grid-column: 1 / -1;">
<a href="https://www.flickr.com/photos/bbum/55160243871/"><img src="https://live.staticflickr.com/65535/55160243871_90cd630af2_c.jpg" width="800" height="600" alt="Monterey Peninsula from Jacks Peak" /></a>
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55160243871/">Monterey Peninsula from Jacks Peak</a></div>
</div>

<div class="figure" style="grid-column: 1 / -1;">
<a href="https://www.flickr.com/photos/bbum/55159358187/"><img src="https://live.staticflickr.com/65535/55159358187_4944899b6c_c.jpg" width="800" height="317" alt="Panorama of Jacks Peak Trail" /></a>
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55159358187/">Panorama of Jacks Peak Trail</a></div>
</div>

<div class="figure">
<a href="https://www.flickr.com/photos/bbum/55160040111/"><img src="https://live.staticflickr.com/65535/55160040111_c26df654d8_z.jpg" width="480" height="640" alt="Fremont's Death Camas" /></a>
<div class="caption"><a href="https://www.inaturalist.org/observations/339678845">Fremont's Death Camas</a> (<em>Toxicoscordion fremontii</em>)</div>
</div>

<div class="figure">
<a href="https://www.flickr.com/photos/bbum/55160209038/"><img src="https://live.staticflickr.com/65535/55160209038_da62519fcf_z.jpg" width="480" height="640" alt="Pacific Poison Oak" /></a>
<div class="caption"><a href="https://www.inaturalist.org/observations/339678861">Pacific Poison Oak</a> (<em>Toxicodendron diversilobum</em>)</div>
</div>

<div class="figure">
<a href="https://www.flickr.com/photos/bbum/55160209223/"><img src="https://live.staticflickr.com/65535/55160209223_1eabb652c8_z.jpg" width="511" height="640" alt="Peas, Vetches, and Allies" /></a>
<div class="caption"><a href="https://www.inaturalist.org/observations/339678877">Peas, Vetches, and Allies</a> (<em>Fabeae</em>)</div>
</div>

<div class="figure">
<a href="https://www.flickr.com/photos/bbum/55160427705/"><img src="https://live.staticflickr.com/65535/55160427705_67c710af9c_z.jpg" width="480" height="640" alt="Bearberries and Manzanitas" /></a>
<div class="caption"><a href="https://www.inaturalist.org/observations/339682832">Manzanita</a> (<em>Arctostaphylos</em>)</div>
</div>

<div class="figure">
<a href="https://www.flickr.com/photos/bbum/55160293799/"><img src="https://live.staticflickr.com/65535/55160293799_003633d065_z.jpg" width="480" height="640" alt="Fuchsiaflower Gooseberry" /></a>
<div class="caption"><a href="https://www.inaturalist.org/observations/339678806">Fuchsiaflower Gooseberry</a> (<em>Ribes speciosum</em>)</div>
</div>

<div class="figure">
<a href="https://www.flickr.com/photos/bbum/55160426750/"><img src="https://live.staticflickr.com/65535/55160426750_9e621d3eea_z.jpg" width="640" height="640" alt="Ceanothus" /></a>
<div class="caption"><a href="https://www.inaturalist.org/observations/339682815">Ceanothus</a></div>
</div>

</div>]]></content><author><name>Bill Bumgarner</name></author><category term="hiking" /><summary type="html"><![CDATA[Monterey Peninsula from Jacks Peak Hiked part of the Jacks Peak via Olmsted Road trail in Monterey today. Jacks Peak is the highest point on the Monterey Peninsula at 1,068 feet and lies within one of the three remaining natural stands of Monterey Pine in the United States. The trail starts on Olmsted road and is fairly steep at the beginning (muddy in the rainy season). Once you climb a bit, it changes from a pine forest to a fairly rocky landscape covered in manzanitas and other dryer climate plants. The top becomes flat with some really interesting landscapes. The views are spectacular from several points along the trail! It was peak wildflower season, too! Lots of gorgeous flowers all over and the variety changed with altitude and microclimate.]]></summary></entry><entry><title type="html">Claude, Meet Fusion 360: Designing a Plant Pot with MCP</title><link href="https://bbum.net/2026/03/fusion-360-mcp-stapelia-pot/" rel="alternate" type="text/html" title="Claude, Meet Fusion 360: Designing a Plant Pot with MCP" /><published>2026-03-08T00:00:00+00:00</published><updated>2026-03-08T00:00:00+00:00</updated><id>https://bbum.net/2026/03/fusion-360-mcp-stapelia-pot</id><content type="html" xml:base="https://bbum.net/2026/03/fusion-360-mcp-stapelia-pot/"><![CDATA[<div class="figure right">
<img src="https://live.staticflickr.com/65535/55137494688_5ed6d1b64e_n.jpg" width="240" height="320" alt="Stapelia variegata Flower" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55137494688/">Stapelia variegata</a></div>
</div>

<p>Somebody wrote a <a href="https://github.com/Anonimus124/fusion-mcp">Fusion 360 MCP plugin</a> that enables Claude (or any MCP enabled agent) to fully control Fusion360.   Sketches, extrusions, bodies, rendering, exporting, file management, etc….</p>

<p>I had Claude install it.  Once Claude installed and confirmed it was working, it asked, “What do you want to build?”</p>

<p>“How about starting with something simple?  A flower pot ideal for a Stapelia variegata.”<sup id="fnref:species" role="doc-noteref"><a href="#fn:species" class="footnote" rel="footnote">1</a></sup></p>

<!--more-->

<h2 id="how-claude-responded">How Claude Responded</h2>

<p>Claude summarized the design requirements as follows.  Spot on!</p>

<ul>
  <li><strong>Stapelia spread horizontally</strong>, not vertically.  They’re ground-hugging succulents with thick, angular stems that branch outward.  So the pot needed to be wide and shallow, not tall and narrow.</li>
  <li><strong>Drainage is critical.</strong>  Stapelia are extremely rot-prone.  Sitting in wet soil will kill them faster than almost anything else.   Thus, tons of drainage.</li>
  <li><strong>The stems drape over pot edges.</strong>  The soft, fleshy stems would be destroyed by any sharp edges on the rim.</li>
</ul>

<h2 id="the-design">The Design</h2>

<div class="figure left">
<img src="https://live.staticflickr.com/65535/55137494568_87dab83ebc_z.jpg" width="640" height="360" alt="Stapelia Pot - Fusion 360 Render" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55137494568/">The pot, rendered in terracotta</a></div>
</div>

<p>Claude drove Fusion 360 through the MCP to create a pot with a gentle outward-curving taper via a spline profile, rendered in a terracotta appearance.  The dimensions:</p>

<ul>
  <li>~14cm top diameter, ~10cm bottom diameter, 8cm tall</li>
  <li>0.4cm wall thickness</li>
  <li>Rounded rim (0.2cm fillet) so the soft stems aren’t damaged where they drape over the edge</li>
  <li>Bottom chamfer for style points</li>
</ul>

<p><br clear="all" /></p>

<div class="figure right">
<img src="https://live.staticflickr.com/65535/55137550009_e350f862e0_z.jpg" width="640" height="360" alt="Stapelia Pot - Drainage Holes" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55137550009/">Five drainage holes</a></div>
</div>

<p>That’s quite a bit more drainage than I’d likely have found at the local pot store!   Critical to keep root rot at bay for this particular succulent.</p>

<p><br clear="all" /></p>

<h2 id="the-workflow">The Workflow</h2>

<p>All in all, a very productive, quick, workflow.   I certainly could have designed said pot in F360, though it would have been a challenge for me as I’m somewhere around the “barely able to muddle my way to success” level of skill.</p>

<p>There are some clear design improvements to be made.   And it will be interesting to see how well Claude handles added complexity or revisions.</p>

<p>Next step: print it and see if the Stapelia approves.</p>
<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:species" role="doc-endnote">
      <p>I’d be lying if I were to claim the species name was something I knew.  I dropped this photo on ChatGPT and asked it to identify it, which it did.  “Looks like Orbea variegata — commonly called starfish flower, carrion flower, or formerly Stapelia variegata.” – with a bunch of observations as to why. <a href="#fnref:species" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Bill Bumgarner</name></author><category term="3d-printing" /><category term="llm" /><summary type="html"><![CDATA[Stapelia variegata Somebody wrote a Fusion 360 MCP plugin that enables Claude (or any MCP enabled agent) to fully control Fusion360. Sketches, extrusions, bodies, rendering, exporting, file management, etc…. I had Claude install it. Once Claude installed and confirmed it was working, it asked, “What do you want to build?” “How about starting with something simple? A flower pot ideal for a Stapelia variegata.”1 I’d be lying if I were to claim the species name was something I knew. I dropped this photo on ChatGPT and asked it to identify it, which it did. “Looks like Orbea variegata — commonly called starfish flower, carrion flower, or formerly Stapelia variegata.” – with a bunch of observations as to why. &#8617;]]></summary></entry><entry><title type="html">Dialing in TPU on the Prusa XL</title><link href="https://bbum.net/2026/01/dialing-in-tpu-prusa-xl/" rel="alternate" type="text/html" title="Dialing in TPU on the Prusa XL" /><published>2026-01-10T00:00:00+00:00</published><updated>2026-01-10T00:00:00+00:00</updated><id>https://bbum.net/2026/01/dialing-in-tpu-prusa-xl</id><content type="html" xml:base="https://bbum.net/2026/01/dialing-in-tpu-prusa-xl/"><![CDATA[<p>As far as printer filament goes, TPU is weird. It is the one filament that is always north of the <a href="/2026/01/filament-drying-temperatures/">glass transition temperature</a> when you’re working with it. That is, it’s already closer to melted than solid and that’s the whole point. It prints as a flexible material. Can be used to provide soft bumpers or gripping surfaces. Or <a href="https://www.printables.com/model/787865-nba-airless-basketball-more-accurate">basketballs</a>.</p>

<p>As such, TPU needs a radically different configuration than printing with PETG/PLA or the other filaments that are actually solid.</p>

<p>First, TPU is extremely hygroscopic.  It sucks up water from the atmosphere like a relative sponge compared to PLA or PETG.   So, make sure the filament is dry. For this run, I dried at 47°C and put the filament dryer on a postal scale so I could record weight loss.  The first 80 minutes dropped 248g (3,320g → 3,072g). The next 3.5 hours lost only 4g more. Obviously, how quickly filament dries depends entirely on surrounding environment, but the typical recommendation of more than 8 hours is total overkill.</p>

<div class="figure left">
<img src="https://live.staticflickr.com/65535/55034021606_8d6a0e1b34_n.jpg" width="200" height="267" alt="TPU Overhead Feed" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55034021606/">TPU Overhead Feed</a></div>
</div>

<p>The Prusa XL uses long bowden tubes to feed filament to the print heads. TPU does not work well with bowden tubes. Too much friction and too flexible, so it tends to not feed well at all and causes all kinds of pressure issues at the print head. Thus, the first step was to eliminate the bowden entirely by going to direct feed by hanging the filament spool over the printer and direct feeding.</p>

<p><br clear="all" /></p>

<div class="figure right">
<img src="https://live.staticflickr.com/65535/55033283417_2e14a3be61_n.jpg" width="232" height="320" alt="Naive TPU Settings" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55033283417/">Naive TPU Settings</a></div>
</div>

<p>Because the XL is physically not compatible with TPU as a filament, it also doesn’t provide any presets for using TPU. If one naively simply takes a regular filament preset and modifies the print temperatures to print at the temps recommended on the filament’s box (220°C), the result is an utter mess.</p>

<p><br clear="all" /></p>

<div class="figure left">
<img src="https://live.staticflickr.com/65535/55036176823_fe8916af24_n.jpg" width="320" height="213" alt="Prusa XL TPU Preset" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55036176823/">Prusa XL TPU Preset</a></div>
</div>

<p>Add a TPU preset on the Prusa XL itself. Set the nozzle temperature to 205°C and turn off auto-retraction. The rest of the settings are acceptable for a project where TPU is embedded in other filaments that are printed on the bed. To undo the landmine I set for future self, I set the bed temperature to 50°C after taking the screenshot.</p>

<p>Actually fixing the problem required changing a TON of parameters.   In this case, made more complex because I wanted to print a TPU gripping surface onto the yellow PETG.  Thus, the changes made to support TPU had to remain compatible with PETG.</p>

<p>Details inside….</p>

<!--more-->

<div class="figure left">
<img src="https://live.staticflickr.com/65535/55035109395_2cfef02674_n.jpg" width="320" height="210" alt="TPU+PETG Test Prints" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55035109395/">TPU+PETG Test Prints</a></div>
</div>

<p>I don’t claim these are correct, but that they worked for my particular needs.   They are the product of quite a lot of trial and error (and a bunch of conversations with ChatGPT).</p>

<p>This is using <a href="https://www.microcenter.com/product/610047/inland-175mm-tpu-3d-printer-filament-10-kg-(22-lbs)-spool-black">Inland TPU from MicroCenter</a>.  There is enough variance between TPU that I suspect it would require tweaks for other brands.</p>

<h2 id="filament-preset-settings">Filament Preset Settings</h2>

<h3 id="filament">Filament</h3>

<table>
  <thead>
    <tr>
      <th>Parameter</th>
      <th>Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Extrusion multiplier</td>
      <td>0.9</td>
    </tr>
  </tbody>
</table>

<h3 id="temperature">Temperature</h3>

<table>
  <thead>
    <tr>
      <th>Parameter</th>
      <th>Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Idle temperature</td>
      <td>170 °C</td>
    </tr>
    <tr>
      <td>Nozzle – first layer</td>
      <td>210 °C</td>
    </tr>
    <tr>
      <td>Nozzle – other layers</td>
      <td>210 °C</td>
    </tr>
  </tbody>
</table>

<p>*note:  Bed temperature is not adjusted as the first dozen+ layers were all PETG and, thus, the TPU doesn’t make bed contact (except on wipe tower, but that didn’t seem to matter)</p>

<h3 id="cooling">Cooling</h3>

<table>
  <thead>
    <tr>
      <th>Parameter</th>
      <th>Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Fan speed min</td>
      <td>30 %</td>
    </tr>
    <tr>
      <td>Fan speed max</td>
      <td>50 %</td>
    </tr>
    <tr>
      <td>Bridge fan speed</td>
      <td>60 %</td>
    </tr>
  </tbody>
</table>

<h3 id="advanced-overrides">Advanced Overrides</h3>

<table>
  <thead>
    <tr>
      <th>Parameter</th>
      <th>Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Max volumetric speed</td>
      <td>1.5 mm³/s</td>
    </tr>
  </tbody>
</table>

<h3 id="filament-overrides---retraction">Filament Overrides - Retraction</h3>

<table>
  <thead>
    <tr>
      <th>Parameter</th>
      <th>Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Retraction length</td>
      <td>0.4 mm</td>
    </tr>
    <tr>
      <td>Retraction speed</td>
      <td>12 mm/s</td>
    </tr>
    <tr>
      <td>Deretraction speed</td>
      <td>10 mm/s</td>
    </tr>
    <tr>
      <td>Wipe while retracting</td>
      <td>ON</td>
    </tr>
  </tbody>
</table>

<hr />

<h2 id="print-settings">Print Settings</h2>

<h3 id="extruders">Extruders</h3>

<table>
  <thead>
    <tr>
      <th>Parameter</th>
      <th>Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Wipe tower extruder</td>
      <td><em>set to the TPU extruder</em></td>
    </tr>
    <tr>
      <td>Bed temperature by extruder</td>
      <td><em>set to extruder that is primarily layer 1</em></td>
    </tr>
  </tbody>
</table>

<h3 id="ooze-prevention-critical-fix">Ooze Prevention (Critical Fix!)</h3>

<table>
  <thead>
    <tr>
      <th>Parameter</th>
      <th>Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Temperature variation</td>
      <td>–30 °C</td>
    </tr>
  </tbody>
</table>

<h3 id="wipe-tower">Wipe Tower</h3>

<table>
  <thead>
    <tr>
      <th>Parameter</th>
      <th>Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Enable</td>
      <td>ON</td>
    </tr>
    <tr>
      <td>Extra flow for purging</td>
      <td>130%</td>
    </tr>
  </tbody>
</table>

<h3 id="advanced--interlocking-tpu--petg">Advanced – Interlocking (TPU ↔ PETG)</h3>

<table>
  <thead>
    <tr>
      <th>Parameter</th>
      <th>Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Use beam interlocking</td>
      <td>ON</td>
    </tr>
    <tr>
      <td>Interlocking beam width</td>
      <td>0.5 mm</td>
    </tr>
    <tr>
      <td>Interlocking beam layers</td>
      <td>1</td>
    </tr>
    <tr>
      <td>Interlocking depth</td>
      <td>2</td>
    </tr>
    <tr>
      <td>Interlocking boundary avoidance</td>
      <td>3</td>
    </tr>
  </tbody>
</table>

<p><em>Note: this assumes you have an interface between the TPU and another material that doesn’t naturally offer adhesion between the two. And it assumes the model wasn’t designed with this in mind. In particular, this allows you to “paint” TPU onto a PLA/PETG surface and PrusaSlicer will automatically generate penetrative overlapping bits of material that lock the two materials physically.</em></p>]]></content><author><name>Bill Bumgarner</name></author><category term="3d-printing" /><summary type="html"><![CDATA[As far as printer filament goes, TPU is weird. It is the one filament that is always north of the glass transition temperature when you’re working with it. That is, it’s already closer to melted than solid and that’s the whole point. It prints as a flexible material. Can be used to provide soft bumpers or gripping surfaces. Or basketballs. As such, TPU needs a radically different configuration than printing with PETG/PLA or the other filaments that are actually solid. First, TPU is extremely hygroscopic. It sucks up water from the atmosphere like a relative sponge compared to PLA or PETG. So, make sure the filament is dry. For this run, I dried at 47°C and put the filament dryer on a postal scale so I could record weight loss. The first 80 minutes dropped 248g (3,320g → 3,072g). The next 3.5 hours lost only 4g more. Obviously, how quickly filament dries depends entirely on surrounding environment, but the typical recommendation of more than 8 hours is total overkill. TPU Overhead Feed The Prusa XL uses long bowden tubes to feed filament to the print heads. TPU does not work well with bowden tubes. Too much friction and too flexible, so it tends to not feed well at all and causes all kinds of pressure issues at the print head. Thus, the first step was to eliminate the bowden entirely by going to direct feed by hanging the filament spool over the printer and direct feeding. Naive TPU Settings Because the XL is physically not compatible with TPU as a filament, it also doesn’t provide any presets for using TPU. If one naively simply takes a regular filament preset and modifies the print temperatures to print at the temps recommended on the filament’s box (220°C), the result is an utter mess. Prusa XL TPU Preset Add a TPU preset on the Prusa XL itself. Set the nozzle temperature to 205°C and turn off auto-retraction. The rest of the settings are acceptable for a project where TPU is embedded in other filaments that are printed on the bed. To undo the landmine I set for future self, I set the bed temperature to 50°C after taking the screenshot. Actually fixing the problem required changing a TON of parameters. In this case, made more complex because I wanted to print a TPU gripping surface onto the yellow PETG. Thus, the changes made to support TPU had to remain compatible with PETG. Details inside….]]></summary></entry><entry><title type="html">3DMakerPro Toucan: How to Not Throw it Through the Nearest Window</title><link href="https://bbum.net/2026/01/3dmaker-pro-toucan-how-to-not-throw-it-through-nearest-window/" rel="alternate" type="text/html" title="3DMakerPro Toucan: How to Not Throw it Through the Nearest Window" /><published>2026-01-07T00:00:00+00:00</published><updated>2026-01-07T00:00:00+00:00</updated><id>https://bbum.net/2026/01/3dmaker-pro-toucan-how-to-not-throw-it-through-nearest-window</id><content type="html" xml:base="https://bbum.net/2026/01/3dmaker-pro-toucan-how-to-not-throw-it-through-nearest-window/"><![CDATA[<div class="figure right">
<img src="https://live.staticflickr.com/65535/55028706767_d40806c183_n.jpg" width="320" height="240" alt="Printed Anvil with Original" />
<div class="caption"><a href="https://www.flickr.com/photos/49503114554@N01/55028706767">Printed Anvil with Original</a></div>
</div>

<p>The top anvil is a 150+ year old anvil that has been passed down in my family. On the bottom is a sub-millimeter accurate 3D printed copy of said anvil. The 3D file used for printing was generated using the 3DMakerPro Toucan structured light 3D scanner.</p>

<p>The <a href="https://www.amazon.com/s?k=3DMakerPro+Toucan">3DMakerPro Toucan</a> is a standalone handheld 3D scanner running around $2,000 (I got it for 50% off in what seems to be a commonly occurring promotion). It promises 0.03mm accuracy, has 32GB + 256GB of onboard storage, and can operate without a PC for basic scanning.</p>

<p>The device is surprisingly heavy at nearly 2kg and really well built. All metal case. External controls include a brightness dial, power button, and shutter button. There’s a large widescreen touch panel on the back and the device can fully process multiple scans—including point cloud alignment and mesh generation—entirely on device.</p>

<div class="figure left">
<img src="https://live.staticflickr.com/65535/55027894531_25d0790787_n.jpg" width="320" height="240" alt="3DMakerPro Toucan Structured Light 3D Scanner" />
<div class="caption"><a href="https://www.flickr.com/photos/bbum/55027894531/">3DMakerPro Toucan</a></div>
</div>

<p>The fan, though, is questionable. Out of the box it was loud and made odd noises when moving the device around. After a software update, fan speed is now controlled in settings and is reasonably quiet. No indication as to how fan speed might impact performance.</p>

<p>The Toucan uses <a href="https://www.artec3d.com/learning-center/structured-light-3d-scanning">blue laser structured light</a> for scanning with Class 1 and Class 3R modes.<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> I don’t trust Class 1 mode and always wear 450nm safety goggles. When I asked 3DMakerPro which glasses to buy, their helpful response: “Our equipment uses a laser wavelength of 450nm; you can use this parameter to select your glasses”.</p>

<!--more-->

<p>Once you get the hang of it, the Toucan produces exceptionally detailed scans. Getting there, however, involves navigating some frustrating software and non-obvious workflows.</p>

<p>Hopefully, this tutorial will help others to avoid the frustrating learning curve I experienced (while no windows were damaged in figuring this out, there were some close calls).</p>

<p><strong>For the step-by-step workflow, see: <a href="/pages/toucan-3d-scanning-workflow/">Toucan 3D Scanner: Object to Printable STL</a></strong></p>

<p>I’m also keeping a <a href="/pages/toucan-notes/">Notes &amp; Gotchas</a> page as a living document of things I’ve learned, workarounds, and other observations as I continue to use the Toucan.</p>

<hr />

<h2 id="texturing">Texturing</h2>

<p>In scanning settings, there are options for texture or geometry. I always scan geometry since my goal is 3D printing. No idea how well the Toucan captures surface textures.</p>

<hr />

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p><strong>Class 1</strong> is safe under normal operation—emitted radiation is below the Maximum Permissible Exposure for the human eye. Still don’t stare at it. <strong>Class 3R</strong> can be potentially hazardous if viewed directly under focused conditions. Risk of injury is low but exists, especially if you stare at the beam. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Bill Bumgarner</name></author><category term="3d-printing" /><summary type="html"><![CDATA[Printed Anvil with Original The top anvil is a 150+ year old anvil that has been passed down in my family. On the bottom is a sub-millimeter accurate 3D printed copy of said anvil. The 3D file used for printing was generated using the 3DMakerPro Toucan structured light 3D scanner. The 3DMakerPro Toucan is a standalone handheld 3D scanner running around $2,000 (I got it for 50% off in what seems to be a commonly occurring promotion). It promises 0.03mm accuracy, has 32GB + 256GB of onboard storage, and can operate without a PC for basic scanning. The device is surprisingly heavy at nearly 2kg and really well built. All metal case. External controls include a brightness dial, power button, and shutter button. There’s a large widescreen touch panel on the back and the device can fully process multiple scans—including point cloud alignment and mesh generation—entirely on device. 3DMakerPro Toucan The fan, though, is questionable. Out of the box it was loud and made odd noises when moving the device around. After a software update, fan speed is now controlled in settings and is reasonably quiet. No indication as to how fan speed might impact performance. The Toucan uses blue laser structured light for scanning with Class 1 and Class 3R modes.1 I don’t trust Class 1 mode and always wear 450nm safety goggles. When I asked 3DMakerPro which glasses to buy, their helpful response: “Our equipment uses a laser wavelength of 450nm; you can use this parameter to select your glasses”. Class 1 is safe under normal operation—emitted radiation is below the Maximum Permissible Exposure for the human eye. Still don’t stare at it. Class 3R can be potentially hazardous if viewed directly under focused conditions. Risk of injury is low but exists, especially if you stare at the beam. &#8617;]]></summary></entry><entry><title type="html">Chef Genius: A Custom LLM Recipe Assistant</title><link href="https://bbum.net/2026/01/chef-genius-llm-recipe-assistant/" rel="alternate" type="text/html" title="Chef Genius: A Custom LLM Recipe Assistant" /><published>2026-01-05T00:00:00+00:00</published><updated>2026-01-05T00:00:00+00:00</updated><id>https://bbum.net/2026/01/chef-genius-llm-recipe-assistant</id><content type="html" xml:base="https://bbum.net/2026/01/chef-genius-llm-recipe-assistant/"><![CDATA[<p>I’ve been using a custom GPT called “Chef Genius” for a while now. It’s a recipe assistant tuned to my kitchen - my equipment, my pantry, my dietary preferences. It generates healthy, vegetable-forward meals using what I actually have on hand.</p>

<p>The value isn’t in the Custom GPT (a MyGPT), but in the prompt that it uses. That prompt works very well in Claude, Gemini, or, even, a local LLM of reasonable capability.</p>

<p>Instead of sharing the prompt and having people edit it by hand, I created an interactive form that generates the prompt automatically.</p>

<h2 id="what-it-does">What It Does</h2>

<p>Chef Genius generates recipes that:</p>
<ul>
  <li>Use ingredients and equipment you actually have</li>
  <li>Match your preferred meal style (light, moderate, or hearty)</li>
  <li>Serve your household size</li>
  <li>Provide measurements in grams (with US volume for convenience)</li>
  <li>Include cultural context and prep times</li>
</ul>

<p>The key philosophy: <strong>flavor-first</strong>. No sad “healthy” substitutions that ruin the dish. If a recipe needs butter, it uses butter - just in reasonable amounts.</p>

<h2 id="the-template">The Template</h2>

<p>I’ve created an <a href="/pages/chef-genius-generator/">interactive form</a> that generates a customized prompt for your kitchen. Fill in your equipment, pantry staples, and preferences, then copy the result into any LLM.</p>

<p><em>Click through for hallucination details and tips.</em></p>

<!--more-->

<h2 id="hallucinations">Hallucinations</h2>

<p>Speaking of hallucinations, we’ve all seen the stories of LLMs putting preposterous ingredients in generated recipes or suggesting really dumb ways to improve food. Like <a href="https://www.theverge.com/2024/5/23/24162896/google-ai-overview-hallucinations-glue-in-pizza">glue on pizza</a> or <a href="https://www.aiweirdness.com/ai-recipes-are-bad-and-a-proposal-20-01-31/">Chocolate Chicken Cake</a> or flat out dangerous suggestions.</p>

<p>Yes, you can make it hallucinate some true bogosity, even dangerous bogosity, if you try. And most of the various horror stories were from people trying. The more subtle risk comes from lack of context. If you fire up the LLM and say “make me a sammich”, there is no context; no clue what parameters, what ingredients, what tools, etc… so, it’ll make stuff up (or, in more recent times, it’ll likely ask clarifying questions).</p>

<p>The key to success with an LLM in any task is to (a) <em>provide clear instructions with lots of context to limit the problem space under consideration</em> and (b) <em>focus on things that the LLM has in its training data</em>.</p>

<p>Given that the models used by the likes of Claude, ChatGPT, Gemini, DeepSeek, etc… were trained on vast troves of internet available data and the internet has about 8 bazillion recipes on it, the recipe construction domain definitely meets (b). By providing a prompt that clearly outlines equipment, ingredients, and goals, that meets (a).</p>

<p>The end result is really quite good at coming up with recipes. Yes, you need to proofread, for sure. But I have yet to see any large LLM (local small models get sketchy fast) suggest anything dangerous, much less even suggesting wildly wrong. The biggest problem I had initially is that the recipes would often be scaled for 1 person or 100, hence the “serves 4 people” guideline.</p>

<h2 id="tips-for-using-it">Tips for Using It</h2>

<ol>
  <li>
    <p><strong>Be specific about equipment</strong> - If you have a sous vide or pizza oven, mention it. The LLM will suggest recipes that use them.</p>
  </li>
  <li>
    <p><strong>List your actual pantry</strong> - The more specific, the better. “berbere spice” is more useful than “various spices.”</p>
  </li>
  <li>
    <p><strong>Update it seasonally</strong> - What’s in your fridge changes. Keep a few versions.</p>
  </li>
  <li>
    <p><strong>Start conversations with constraints</strong> - “I have chicken thighs, zucchini, and want something Asian-inspired” works great.</p>
  </li>
</ol>

<p>The <a href="/pages/chef-genius-generator/">generator form</a> makes this easier - fill it out once and copy the result.</p>]]></content><author><name>Bill Bumgarner</name></author><category term="llm" /><category term="cooking" /><summary type="html"><![CDATA[I’ve been using a custom GPT called “Chef Genius” for a while now. It’s a recipe assistant tuned to my kitchen - my equipment, my pantry, my dietary preferences. It generates healthy, vegetable-forward meals using what I actually have on hand. The value isn’t in the Custom GPT (a MyGPT), but in the prompt that it uses. That prompt works very well in Claude, Gemini, or, even, a local LLM of reasonable capability. Instead of sharing the prompt and having people edit it by hand, I created an interactive form that generates the prompt automatically. What It Does Chef Genius generates recipes that: Use ingredients and equipment you actually have Match your preferred meal style (light, moderate, or hearty) Serve your household size Provide measurements in grams (with US volume for convenience) Include cultural context and prep times The key philosophy: flavor-first. No sad “healthy” substitutions that ruin the dish. If a recipe needs butter, it uses butter - just in reasonable amounts. The Template I’ve created an interactive form that generates a customized prompt for your kitchen. Fill in your equipment, pantry staples, and preferences, then copy the result into any LLM. Click through for hallucination details and tips.]]></summary></entry><entry><title type="html">Filament Drying: Temperature Matters More Than Time</title><link href="https://bbum.net/2026/01/filament-drying-temperatures/" rel="alternate" type="text/html" title="Filament Drying: Temperature Matters More Than Time" /><published>2026-01-02T00:00:00+00:00</published><updated>2026-01-02T00:00:00+00:00</updated><id>https://bbum.net/2026/01/filament-drying-temperatures</id><content type="html" xml:base="https://bbum.net/2026/01/filament-drying-temperatures/"><![CDATA[<figure style="float: left; margin: 0 1em 1em 0; max-width: 160px;">
<a data-flickr-embed="true" href="https://www.flickr.com/photos/bbum/55020060419/" title="Filament Dryer Temp Accuracy Test by bbum, on Flickr"><img src="https://live.staticflickr.com/65535/55020060419_80ea9a78d3_b.jpg" width="160" alt="Filament Dryer Temp Accuracy Test" /></a>
<figcaption style="font-size: 0.8em; color: #888;">My filament dryer is off by ~2°C. (Nice self portrait :) )</figcaption>
</figure>

<p>A lot has changed in the 15 years since I acquired my first 3D printer (a wooden <a href="https://makezine.com/article/digital-fabrication/3d-printing-workshop/getting-started-with-a-3d-printer/">Ultimaker Original</a>).</p>

<p>In particular, filament drying is now considered standard procedure. And it really does make a huge difference, especially with very hygroscopic filaments like PETG.</p>

<p>But there is a lot of misinformation out there. Or incomplete information. For example: drying time. Drying time is impacted by too many variables for one to claim “this filament needs to dry for that long at that temperature” and have it be accurate. I’ve measured it by putting my filament dryer on a postal scale and writing down the weights over time. If you read online, PETG drying time will be 6-8+ hours. However, for my moderately damp filament:</p>

<table>
  <thead>
    <tr>
      <th>Time</th>
      <th>Weight</th>
      <th>Total Loss</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>7:40 pm</td>
      <td>4426g</td>
      <td>—</td>
    </tr>
    <tr>
      <td>8:10 pm</td>
      <td>4394g</td>
      <td>32g</td>
    </tr>
    <tr>
      <td>10:10 pm</td>
      <td>4314g</td>
      <td>112g</td>
    </tr>
    <tr>
      <td>11:12 pm</td>
      <td>4312g</td>
      <td>114g</td>
    </tr>
  </tbody>
</table>

<p>This is obviously a one-off and not terribly well designed, but ~3.5 hours sure ain’t 6-8.</p>

<p>Also, the critical part about drying is temperature. You don’t want to exceed the Tg (the glass transition temperature) of the filament <em>or the spool it is on</em>.</p>

<p>I compiled a list of Tg values and safe drying temperature ranges for a bunch of common (and some not so common) materials: <a href="/pages/filament-dryer-temps/">Filament Dryer Temperatures</a>. Also includes some resources for diving into material characteristics.</p>]]></content><author><name>Bill Bumgarner</name></author><category term="3d-printing" /><summary type="html"><![CDATA[My filament dryer is off by ~2°C. (Nice self portrait :) ) A lot has changed in the 15 years since I acquired my first 3D printer (a wooden Ultimaker Original). In particular, filament drying is now considered standard procedure. And it really does make a huge difference, especially with very hygroscopic filaments like PETG. But there is a lot of misinformation out there. Or incomplete information. For example: drying time. Drying time is impacted by too many variables for one to claim “this filament needs to dry for that long at that temperature” and have it be accurate. I’ve measured it by putting my filament dryer on a postal scale and writing down the weights over time. If you read online, PETG drying time will be 6-8+ hours. However, for my moderately damp filament: Time Weight Total Loss 7:40 pm 4426g — 8:10 pm 4394g 32g 10:10 pm 4314g 112g 11:12 pm 4312g 114g This is obviously a one-off and not terribly well designed, but ~3.5 hours sure ain’t 6-8. Also, the critical part about drying is temperature. You don’t want to exceed the Tg (the glass transition temperature) of the filament or the spool it is on. I compiled a list of Tg values and safe drying temperature ranges for a bunch of common (and some not so common) materials: Filament Dryer Temperatures. Also includes some resources for diving into material characteristics.]]></summary></entry><entry><title type="html">Computer, GUI, Network… LLM?</title><link href="https://bbum.net/2025/12/computer-gui-network-llm/" rel="alternate" type="text/html" title="Computer, GUI, Network… LLM?" /><published>2025-12-25T00:00:00+00:00</published><updated>2025-12-25T00:00:00+00:00</updated><id>https://bbum.net/2025/12/computer-gui-network-llm</id><content type="html" xml:base="https://bbum.net/2025/12/computer-gui-network-llm/"><![CDATA[<p>My career in computing and my life are largely inseparable. Computers were, and still are, a tool for living. In hindsight, the real milestones weren’t specific platforms or programming languages– though both have played major roles– but the arrival of tools that fundamentally changed what I could accomplish. Said tools weren’t just accelerators.  They reshaped how I worked and lived. What follows is a look back at several of those shifts, and a look ahead at where LLMs– often inaccurately labeled “AI”– belong in that lineage.</p>

<p>When I was young, I told my parents I didn’t need to learn to write because I would have a machine that would write for me. I was 4 or 5<sup>1</sup>. Not too many years later, we had a family <a href="https://en.wikipedia.org/wiki/Apple_II">Apple ][+</a> that I fully monopolized, teaching myself programming, various hackery, and causing a bit of trouble.</p>

<p>The computer was revelatory for me. It enabled me to write down my thoughts and ideas in a way that was recorded with assistance by this incredibly flexible tool that would oft aid in gathering said thoughts. Obviously, early days were primitive. “? SYNTAX ERROR” was the grand sum total of feedback at the time.</p>

<!--more-->

<p>The Apple ][+ was where I got my first taste of “hey, this might be a career”, doing a bit of data recovery here and re-writing a good chunk of the school’s library checkin/checkout system. I also worked for a local family electronics hobbyist shop and wrote some Micro MUMPS on a CP/M mini computer to manage the store’s inventory and track employee hours (no, I didn’t augment my own hours).</p>

<p>I was also right in my prediction to my parents.  Sort of.  Of course, I did learn to write (cursive, even).   But I don’t think I have ever written out anything longer than a paragraph without typing and editing using a computer.</p>

<p>A few years after that, we had a family <a href="https://en.wikipedia.org/wiki/Macintosh_Plus">Macintosh Plus</a> (again, I monopolized). Instead of all keyboard all the time, you could now interact directly with the system by pointing at things! Graphics were possible! To be fair, all these things were possible on the Apple ][+, the difference was that the Mac enforced it as a standard interaction model across the system. Any app that forced you to drop back to keyboard only felt like an anachronism.</p>

<p>The Mac, though, broke the barrier of it just being me organizing my thoughts. Desktop publishing enabled me – or a team of people – to put together publications. I ended up helping my high school overhaul their journalism class with a Mac based publishing system and took advantage of the LaserWriter on a regular basis (I also ended up designing many of the advertisements that ran in the paper for various local businesses).</p>

<p>Then came <a href="https://en.wikipedia.org/wiki/NeXT">NeXT</a>. I was in college by that time. One look at the NeXT announcement and it was immediately obvious that it was the future. Not only was it a fully GUI OS, but it was “large scale”. The focus was on being able to see a whole page of a document at once and whatever was on screen was exactly what would come out of the printer. The fidelity in rendering and user interaction was unmatched (or promised to be – took more than a year for it to ship). But the thing that really nailed it for me were the development tools. Whereas the Mac was just HARD to develop for, the NeXT was designed such that developing apps for it should be as easy and intuitive as using a word processor. And it was a fully network enabled computer. When I worked at NeXT in the Pittsburgh office, we could just as easily print to a printer in the Tokyo office as we could to the printer on our own desk. “The network is the computer”.</p>

<p>Along the NeXT journey, there was the advent of the World Wide Web. We ran one of the top 10 most popular sites on the ‘net in the early days. Off of a NeXT machine connected to a T1 line. That was also about the time that my computing hobby became an actual career.</p>

<p>…. lots of history skipped. NeXT acquires Apple (or was it the other way around). The iPhone (which I was lucky enough to contribute to). The Intel/64 bit transitions at Apple. ….</p>

<p>And now we are to a few years ago. I had been toying with LLMs, various “AI” solutions, etc… off and on for quite some time, but it was all toys. The potential was obvious, but actual use was slow, rife with hallucinations (or just producing pure garbage), and it was a net tax on productivity.</p>

<p>That started to change about the time <a href="https://openai.com/chatgpt">ChatGPT</a> came online (with <a href="https://gemini.google.com">Google</a>, <a href="https://www.anthropic.com">Anthropic</a> and others quickly followed). It was clear that there was something here. That with careful “prompting” – carefully written instructions with well framed context – you could get a lot more signal out of the system for comparatively little effort. Sure, the image generators still put 8 fingers on a person’s hand or faces would blend into the backgrounds, but it was occasionally actually useful.</p>

<p>The potential was obvious. The question was “How long until this is actually useful more often than not? When will it be approachable by ‘mere mortals’<sup>3</sup>?”</p>

<p>And those answers seem to have turned into “Now” and “Now” sometime in the last year.</p>

<p>My computing focused life is radically different today than it was a year ago.</p>

<p>It isn’t that I know more or discovered some way to make the work easier. In fact, the tasks I’m taking on now are far more complex than the ones that I would have taken on in the past simply because of time constraints. Instead, the LLMs have collapsed the cost of even trying to attempt complex solutions.</p>

<p>A concrete example: my family has accumulated over a thousand recipes across generations. It’s a real treasure trove. And a complete mess! PDF scans, 20-year-old Pages documents, Word files, handwritten notes. For years, I wanted to organize it into a clean, navigable set of web pages for the family. But it was always a “someday” project: days of focused effort, lots of tedious and hard-to-automate work across hundreds of documents. Permanently relegated to the “maybe when I retire” list.</p>

<p>Enter the LLM.  With <a href="https://claude.ai/claude-code">Claude Code</a>, I was able to outline the goal, describe the trove of documents (including their sources), and let it “figure out” what steps should be taken.   It cleaned up the file hierarchy, made an inventory of what kind of conversions were necessary and then guided the implementation of automation tools necessary to do the conversion to web pages.  And it did so while preserving all the handwritten notes.   Did it do a perfect job? Nope.   There are transcription errors in the handwritten bits, for sure (the typed stuff is spot on).     But, most importantly, this task that was likely to be put off forever is NOW DONE!</p>

<p>And that’s the key:   Using an LLM as a tool fundamentally changes what is worth doing.   They say that “time is the most valuable resource” and I would claim that proper use of an LLM is an incredible time efficiency optimizer.</p>

<p>Really, the AI tools – and they are just tools that can be used productively or destructively – are not just moderate enablers, but 10x+ enablers in many cases. I’m able to organize complex projects far more effectively and able to solve various problems that I would never have been able to otherwise. Not because it was beyond my technical skills, but because I would never be able to devote the days worth of effort to get done what I can now do with AI in a matter of hours.</p>

<p>That isn’t quite fair.   In fact, I’m able to take on problems where I lack the technical skills by leaning on the LLM to provide me with a deep dive into the technical skills necessary to achieve the task.</p>

<p>Where do these tools fit into the grand scheme of things? In terms of profundity of impact on how I get stuff done?</p>

<p>Likely second on the list behind the computer itself. I briefly considered ubiquity of search – most of the sum total of human knowledge available in seconds – as #2, but realized that ChatGPT’s research mode vastly outperforms generic searches in all ways (I still use direct searches all the time, but use ChatGPT for anything that requires more than a simple answer).</p>

<p>As with the widespread deployment of any incredibly powerful, general-purpose, tool, there will be mass disruption. Some of that disruption is going to be—has already been—really stupid, largely avoidable, and harmful. People will suffer because of it.</p>

<p>With that said, I remain optimistic that these tools can be used to improve life for everyone.</p>

<p>Still, teaching sand to think may turn out to have been a terrible idea.</p>

<hr />

<ol>
  <li>
    <p>I’m just the right age that I grew up with personal computers from pretty much the time they were first targeted to the consumer market through to the “supercomputer in your pocket” age (and whatever comes next).  I embraced the tech from the beginning because it was both fascinating and quite clear that how the next generation of computing tech would unfold would be a surprise.  And surprise it has been!   If you’d asked me a couple of decades ago if I would drive a car capable of driving me without intervention from A to B, I’d have been doubtful, but had seen enough change to at least say “Well, maybe”<sup>2</sup>.   What a fun ride.   It ain’t over yet.</p>
  </li>
  <li>
    <p>While at CMU in the late 80s, I do remember <a href="https://medium.com/@olivercameron/meet-alvin-the-self-driving-car-from-1989-f0e40492a354">seeing ALVINN</a> roaming about on occasion.  It was a self driving car.   Very limited in speed and context, but it worked.   IIRC, it might even have been pulled over by the cops once, but I don’t remember details.  Which is kind of a common theme.   What’s old is new again.  Oft, what is hailed as a modern breakthrough is really just tools that those with extreme skills and time on their hands only had access to prior being refined to the point of being accessible to a much wider audience.   The tool isn’t new.  The tool being usable by “mere mortals” is new.</p>
  </li>
  <li>
    <p>“Mere mortals” refers to non-expert users—people without specialized technical knowledge. The phrase predates modern computing, but has long been used informally to distinguish expert-only systems from tools usable by everyone. Historically, the inflection point where a technology becomes approachable by “mere mortals” has mattered far more than raw capability.</p>
  </li>
</ol>]]></content><author><name>Bill Bumgarner</name></author><category term="meta" /><summary type="html"><![CDATA[My career in computing and my life are largely inseparable. Computers were, and still are, a tool for living. In hindsight, the real milestones weren’t specific platforms or programming languages– though both have played major roles– but the arrival of tools that fundamentally changed what I could accomplish. Said tools weren’t just accelerators. They reshaped how I worked and lived. What follows is a look back at several of those shifts, and a look ahead at where LLMs– often inaccurately labeled “AI”– belong in that lineage. When I was young, I told my parents I didn’t need to learn to write because I would have a machine that would write for me. I was 4 or 51. Not too many years later, we had a family Apple ][+ that I fully monopolized, teaching myself programming, various hackery, and causing a bit of trouble. The computer was revelatory for me. It enabled me to write down my thoughts and ideas in a way that was recorded with assistance by this incredibly flexible tool that would oft aid in gathering said thoughts. Obviously, early days were primitive. “? SYNTAX ERROR” was the grand sum total of feedback at the time.]]></summary></entry><entry><title type="html">Trash Theory: Documenting the Music That Shaped Us</title><link href="https://bbum.net/2025/12/trash-theory/" rel="alternate" type="text/html" title="Trash Theory: Documenting the Music That Shaped Us" /><published>2025-12-04T00:00:00+00:00</published><updated>2025-12-04T00:00:00+00:00</updated><id>https://bbum.net/2025/12/trash-theory</id><content type="html" xml:base="https://bbum.net/2025/12/trash-theory/"><![CDATA[<p>I grew up in the music scene of the 80s, from a midwestern perspective. We still had the hard rock of the 70s, with a bit of a country fried rock flair, but we also very much had the electrosynth goodness coming through the local college stations and, of course, MTV. Buggles. Adam Ant. Eurythmics. Phil Collins. Peter Gabriel. It was so new and amazing at the time. Still amazing, but not so new these days.</p>

<iframe width="560" height="315" src="https://www.youtube.com/embed/aOWZJkQDoLw" frameborder="0" allowfullscreen=""></iframe>

<!--more-->

<p>At the time, I was just a consumer of these amazing beats. I was aware, though, that there were some pretty epic stories behind how some of this stuff came to be. And in the decades since, how so much of the music from that era went on to influence the next generation of artists and the artists that came after, too.</p>

<iframe width="560" height="315" src="https://www.youtube.com/embed/CJaQ5NADqAM" frameborder="0" allowfullscreen=""></iframe>

<p><a href="https://www.youtube.com/@TrashTheory">Trash Theory</a> is a YouTube channel largely focused on documenting the various British pop artists of that era. From Eurythmics to Paul McCartney to the <a href="https://www.youtube.com/watch?v=Cuc0V_FRGNE">pre-Sabbath metal days</a> to documenting really weird songs that made it on the charts, they have it all. Each video weighs in around 30-40 minutes and covers how an artist came to be, focuses on some pivotal breakout hit or moment, and then follows through with the legacy of the artist and/or hit.</p>

<iframe width="560" height="315" src="https://www.youtube.com/embed/TmjxAd_dCng" frameborder="0" allowfullscreen=""></iframe>

<p>Brilliantly well produced, with tons of quotes direct from the sources, and many samples of both the focal artist’s work and from artists who either contributed to their sound or took inspiration from them.</p>

<iframe width="560" height="315" src="https://www.youtube.com/embed/hU55DV6uzB0" frameborder="0" allowfullscreen=""></iframe>

<p>Trash Theory spans well beyond just 80s Britpop. I’ve found myself watching various videos for genres and artists that I never really cared for simply because the history and presentation is so compelling.</p>

<iframe width="560" height="315" src="https://www.youtube.com/embed/rNITD4QyS7c" frameborder="0" allowfullscreen=""></iframe>

<p>Definitely worth a watch!</p>]]></content><author><name>Bill Bumgarner</name></author><category term="music" /><summary type="html"><![CDATA[I grew up in the music scene of the 80s, from a midwestern perspective. We still had the hard rock of the 70s, with a bit of a country fried rock flair, but we also very much had the electrosynth goodness coming through the local college stations and, of course, MTV. Buggles. Adam Ant. Eurythmics. Phil Collins. Peter Gabriel. It was so new and amazing at the time. Still amazing, but not so new these days.]]></summary></entry><entry><title type="html">Laser Resources</title><link href="https://bbum.net/2025/11/laser-resources/" rel="alternate" type="text/html" title="Laser Resources" /><published>2025-11-27T00:00:00+00:00</published><updated>2025-11-27T00:00:00+00:00</updated><id>https://bbum.net/2025/11/laser-resources</id><content type="html" xml:base="https://bbum.net/2025/11/laser-resources/"><![CDATA[<p>When I first got my GlowForge, I started collecting bookmarks to various sites with plans, generators, tutorials and other useful information. Over the years, the list has grown considerably.</p>

<p>It lived as a set of bookmarks in the sidebar of Safari.  I’ve been meaning to break it out of there and put it into a proper page.</p>

<p><a href="/pages/laser-resources/">Laser Resources</a>.</p>

<p>The page includes:</p>

<ul>
  <li><a href="/pages/laser-resources/#box-generators"><strong>Box Generators</strong></a> - parametric tools for creating boxes, trays, and enclosures</li>
  <li><a href="/pages/laser-resources/#plans-assets"><strong>Downloadable Plans &amp; Assets</strong></a> - SVG collections, clip art, and ready-to-cut designs</li>
  <li><a href="/pages/laser-resources/#generators-tools"><strong>Generators &amp; Tools</strong></a> - snowflakes, jigsaw puzzles, mazes, and more</li>
  <li><a href="/pages/laser-resources/#tutorials"><strong>Tutorials</strong></a> - Fusion 360 workflows, wood inlays, vector cutting techniques</li>
  <li><a href="/pages/laser-resources/#materials-suppliers"><strong>Materials &amp; Suppliers</strong></a> - wood databases and suppliers of lasercutter-friendly materials</li>
</ul>

<p>It’s a living document that I’ll continue to update as I find new resources.</p>]]></content><author><name>Bill Bumgarner</name></author><category term="laser" /><summary type="html"><![CDATA[When I first got my GlowForge, I started collecting bookmarks to various sites with plans, generators, tutorials and other useful information. Over the years, the list has grown considerably. It lived as a set of bookmarks in the sidebar of Safari. I’ve been meaning to break it out of there and put it into a proper page. Laser Resources. The page includes: Box Generators - parametric tools for creating boxes, trays, and enclosures Downloadable Plans &amp; Assets - SVG collections, clip art, and ready-to-cut designs Generators &amp; Tools - snowflakes, jigsaw puzzles, mazes, and more Tutorials - Fusion 360 workflows, wood inlays, vector cutting techniques Materials &amp; Suppliers - wood databases and suppliers of lasercutter-friendly materials It’s a living document that I’ll continue to update as I find new resources.]]></summary></entry></feed>