<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[A Whole Lotta Nothing]]></title><description><![CDATA[Matthew Haughey's personal blog]]></description><link>https://a.wholelottanothing.org/</link><image><url>https://a.wholelottanothing.org/favicon.png</url><title>A Whole Lotta Nothing</title><link>https://a.wholelottanothing.org/</link></image><generator>Ghost 6.34</generator><lastBuildDate>Fri, 01 May 2026 21:25:03 GMT</lastBuildDate><atom:link href="https://a.wholelottanothing.org/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Thinking about AI]]></title><description><![CDATA[<p>I tend not to be a tech absolutist about most things. I like to play in the tech space and test new tools out to see what they can do, see if they can help me and my work, but if they can&apos;t, I move on and avoid</p>]]></description><link>https://a.wholelottanothing.org/thinking-about-ai/</link><guid isPermaLink="false">69f4ed700793c00001457e81</guid><category><![CDATA[ai]]></category><category><![CDATA[blogging]]></category><category><![CDATA[webapps]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Fri, 01 May 2026 20:46:53 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/05/IMG_8168.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/05/IMG_8168.JPG" alt="Thinking about AI"><p>I tend not to be a tech absolutist about most things. I like to play in the tech space and test new tools out to see what they can do, see if they can help me and my work, but if they can&apos;t, I move on and avoid them.</p><p>I want to know what&apos;s possible (both bad and good) so I&apos;ve been playing with AI through Claude for the past couple months in a casual manner, usually spending an hour or two trying things out or leaning on it to fix something for me. </p><p>So far, I&apos;ve come up with a few things after this experience:</p><ol><li>AI is ridiculously good about building single-user, single-purpose software that is fairly brittle (and works <em>just</em> enough), but is also the kind of software with no market because there&apos;s only one person on earth that would use/pay for/love it. <br><br>People are calling this &quot;<strong>disposable software</strong>&quot; and that&apos;s a good description. Most of positive experiences I&apos;ve had with AI coding are making things only <em>I</em> need for a specific use case.</li><li>If you&apos;re a maker and a DIYer and a jack of all trades, you&apos;re completely used to doing everything by hand from soup to nuts to ensure it&apos;s exactly what you want. <br><br>But in any project, there are <em>tons</em> of things that take time though not much mental effort, even though your project might rely on it, and that&apos;s where AI really shines. &quot;<em>Go look up every mention of things I wrote and add hyperlinks to my original pieces in this giant pile of text and give me the result back as HTML I can paste into the project</em>&quot; is something I normally do myself, but it&apos;s mindless work that sucks up hours of time and effort, and when you can ask Claude to do it and it&apos;s completed in 20 seconds, you can continue working on your project knowing you saved some serious time. This is not nothing.</li><li>If you are full of ideas, AI is great at making prototypes.</li><li>If you can code, you can fix things a lot faster when AI inevitably writes janky software.</li><li>If you&apos;ve ever worked on a software team, AI feels like pair programming. AI feels like working with an intern, loaded with energy but frequently wrong because without deep personal experience, they&apos;re guessing a lot of the time.</li><li>So far, the &quot;killer app&quot; aspects of AI is helping me create/iterate/finish things I&apos;ve wanted for many years, but couldn&apos;t find time or energy enough to do completely on my own.</li></ol><p><strong>Here are a couple projects</strong> that I&apos;d say AI did a very good job with. They are both things I&apos;ve wanted to do for years, but didn&apos;t have time for, and when I proposed the idea in Claude and eventually got a result, it surprised me at how well it went.</p><h2 id="project-1-tagpocalypse">Project 1: Tagpocalypse </h2><p>I&apos;ve had this blog for 26 years and up until about 2010, I stuck to broad categories, but later I started tagging my posts and ignoring categories. Each time I&apos;d post, I&apos;d try to put in a little extra effort and pick descriptive tags. But years later, out of nearly 3700 posts, only about 1500 had proper tags on them that described what each post was about.</p><p>The other day I was going through my archives, making small updates and edits, then adding tags to posts that didn&apos;t have them. I quickly realized doing this for <strong>every</strong> post was an impossible project to ever see the end of (especially when I&apos;m the only one that cares about having things well-tagged and described). So I asked Claude to help me complete this project.</p><p>I had it produce tags for a few random untagged posts, checked the suggestions, refined its approach, then asked it to tag all 2,200 posts. It also wrote a python script to let me update all 2,200 posts on this site. It finished the job in a few minutes, which was incredible. I asked it to make <a href="https://a.wholelottanothing.org/tag/" rel="noreferrer">a sortable, usable tags page</a> as well and got that in a few more minutes of iterations.</p><p>Then it surprised me by asking if I wanted a summary of how my archives look and I said sure. Here&apos;s that result:</p><hr>
<!--kg-card-begin: html-->
<!--
  AWLN archive analysis — paste-ready embed snippet.
  Drop this entire block into a Ghost HTML card. Every CSS rule is scoped
  to `.awln-archive`, CSS variables are local to that scope (not :root),
  and all generic class names (.stat, .sub, .wrap, .body, .hero, etc.)
  have been renamed with `awln-` prefixes. Nothing in here will affect
  the surrounding theme's typography, layout, or colors.
-->

<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,500;0,9..144,600;1,9..144,400&amp;family=Inter:wght@400;500;600&amp;display=swap" rel="stylesheet">

<style>
.awln-archive {
  --paper: #f5f0e3;
  --paper-dim: #ebe4d0;
  --ink: #2a241c;
  --ink-soft: #6b5e4f;
  --ink-muted: #998b78;
  --accent: #b34a2c;
  --rule: #d9d1c0;
  --max: 980px;
  --awln-font-heading: "Fraunces", Georgia, serif;
  --awln-font-body: "Inter", -apple-system, sans-serif;

  max-width: var(--max);
  margin: 0 auto;
  font-family: var(--awln-font-body);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.6;
}

/* Scoped resets so we don't depend on theme defaults */
.awln-archive * { box-sizing: border-box; }
.awln-archive p { max-width: none; }

.awln-archive .awln-hero {
  padding: 4rem 0 3rem;
  border-bottom: 1px solid var(--rule);
  margin-bottom: 4rem;
}
.awln-archive .awln-hero-title {
  font-family: var(--awln-font-heading);
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin: 0 0 1rem;
  color: var(--ink);
}
.awln-archive .awln-hero-title em {
  color: var(--accent);
  font-style: italic;
}
.awln-archive .awln-lede {
  font-family: var(--awln-font-heading);
  font-size: 1.35rem;
  font-style: italic;
  font-weight: 300;
  color: var(--ink-soft);
  margin: 0;
}
.awln-archive .awln-hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--rule);
}
.awln-archive .awln-stat .awln-n {
  font-family: var(--awln-font-heading);
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--ink);
  line-height: 1;
}
.awln-archive .awln-stat .awln-l {
  font-family: var(--awln-font-body);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-soft);
  margin-top: 0.5rem;
}

.awln-archive .awln-section { margin: 0 0 5rem; }
.awln-archive .awln-h2 {
  font-family: var(--awln-font-heading);
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  margin: 0 0 0.5rem;
  color: var(--ink);
}
.awln-archive .awln-h2 em {
  color: var(--accent);
  font-style: italic;
}
.awln-archive .awln-sub {
  font-family: var(--awln-font-heading);
  font-style: italic;
  font-size: 1.1rem;
  color: var(--ink-soft);
  font-weight: 300;
  margin: 0 0 2rem;
}
.awln-archive .awln-body {
  font-family: var(--awln-font-body);
  font-size: 1.05rem;
  max-width: 65ch;
  color: var(--ink);
  margin: 1rem 0;
}
.awln-archive .awln-body em {
  font-style: italic;
  color: var(--accent);
  font-weight: 500;
}

.awln-archive .awln-chart {
  width: 100%;
  height: auto;
  display: block;
  margin: 2rem 0;
}
.awln-archive .awln-chart text {
  font-family: var(--awln-font-body);
}

/* Scoped link styles for tag and post links inside the analysis */
.awln-archive .awln-tag-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted var(--ink-muted);
  transition: color 0.15s, border-color 0.15s;
}
.awln-archive .awln-tag-link:hover {
  color: var(--accent);
  border-bottom-color: var(--accent);
}
.awln-archive .awln-post-link {
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--rule);
  transition: color 0.15s, border-color 0.15s;
}
.awln-archive .awln-post-link:hover {
  color: var(--accent);
  border-bottom-color: var(--accent);
}

/* Top-tags horizontal bar list */
.awln-archive .awln-hbar { margin: 2rem 0; }
.awln-archive .awln-hbar-row {
  display: grid;
  grid-template-columns: 130px 1fr 60px;
  align-items: center;
  gap: 1rem;
  padding: 0.3rem 0;
}
.awln-archive .awln-hbar-label {
  font-size: 0.92rem;
  text-align: right;
  color: var(--ink);
}
.awln-archive .awln-hbar-track {
  background: var(--paper-dim);
  height: 18px;
  border-radius: 2px;
  overflow: hidden;
}
.awln-archive .awln-hbar-fill {
  background: var(--accent);
  height: 100%;
  border-radius: 2px;
  transition: width 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.awln-archive .awln-hbar-count {
  font-variant-numeric: tabular-nums;
  font-size: 0.88rem;
  color: var(--ink-soft);
}

/* Co-occurrence pairs */
.awln-archive .awln-pairs {
  list-style: none;
  padding: 0;
  margin: 2rem 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem 2rem;
}
.awln-archive .awln-pairs li {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  padding: 0.4rem 0;
  border-bottom: 1px dotted var(--rule);
}
.awln-archive .awln-pair-count {
  font-variant-numeric: tabular-nums;
  width: 3.5rem;
  color: var(--ink-soft);
  font-size: 0.92rem;
}
.awln-archive .awln-pair-name { font-size: 0.95rem; }
.awln-archive .awln-plus {
  color: var(--accent);
  margin: 0 0.3em;
  font-weight: 600;
}

/* Tag emergence timeline */
.awln-archive .awln-emerge {
  margin: 2rem 0;
  border-left: 2px solid var(--accent);
  padding-left: 1.5rem;
}
.awln-archive .awln-emerge-row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 1.5rem;
  padding: 0.45rem 0;
  border-bottom: 1px dotted var(--rule);
}
.awln-archive .awln-emerge-date {
  font-family: var(--awln-font-heading);
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
  font-size: 0.95rem;
}
.awln-archive .awln-emerge-tag {
  font-size: 1.05rem;
  font-weight: 500;
}

/* Longest posts table */
.awln-archive .awln-longtable {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-size: 0.95rem;
}
.awln-archive .awln-longtable td {
  padding: 0.55rem 0;
  border-bottom: 1px dotted var(--rule);
  vertical-align: top;
  background: transparent;
}
.awln-archive .awln-longtable td.awln-num {
  font-variant-numeric: tabular-nums;
  width: 70px;
  color: var(--ink-soft);
  text-align: right;
  padding-right: 1.5rem;
}
.awln-archive .awln-longtable td.awln-d {
  font-variant-numeric: tabular-nums;
  width: 100px;
  color: var(--ink-muted);
  font-family: var(--awln-font-heading);
  font-size: 0.9rem;
}

.awln-archive .awln-footer {
  border-top: 1px solid var(--rule);
  padding: 3rem 0 4rem;
  margin-top: 5rem;
  color: var(--ink-muted);
  font-size: 0.88rem;
  text-align: center;
}

@media (max-width: 720px) {
  .awln-archive .awln-hero-stats { grid-template-columns: repeat(2, 1fr); }
  .awln-archive .awln-pairs { grid-template-columns: 1fr; }
  .awln-archive .awln-hbar-row { grid-template-columns: 100px 1fr 50px; gap: 0.5rem; }
}
</style>

<div class="awln-archive">

<header class="awln-hero">
  <h1 class="awln-hero-title">A Whole Lotta <em>Nothing</em>: An Archive Analysis</h1>
  <p class="awln-lede">Twenty-six years of weblog posts, looked at sideways.</p>
  <div class="awln-hero-stats">
    <div class="awln-stat"><div class="awln-n">3,687</div><div class="awln-l">Posts</div></div>
    <div class="awln-stat"><div class="awln-n">26</div><div class="awln-l">Years</div></div>
    <div class="awln-stat"><div class="awln-n">228</div><div class="awln-l">Tags in use</div></div>
    <div class="awln-stat"><div class="awln-n">789K</div><div class="awln-l">Words written</div></div>
  </div>
</header>

<div class="awln-section">
  <h2 class="awln-h2">The shape of <em>26 years</em></h2>
  <p class="awln-sub">A boom, a long quiet, and a return to long-form.</p>
  <p class="awln-body">Your posting cadence has three distinct eras. From <em>2000&#x2013;2006</em> you wrote constantly &#x2014; short posts, multiple a day, peaking at <em>499 in 2005</em>. Then a long quiet stretch where Twitter and other platforms absorbed the daily thoughts. Since around 2018 you&apos;ve come back to long-form on the blog, but the volume is much lower and each post does more work.</p>
  <svg viewbox="0 0 900 324" xmlns="http://www.w3.org/2000/svg" class="awln-chart">
    <rect x="3.7" y="38.2" width="26" height="241.8" fill="#b34a2c" rx="2"/><text x="16.7" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2000</text>
    <rect x="37" y="97.6" width="26" height="182.4" fill="#b34a2c" rx="2"/><text x="50" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2001</text>
    <rect x="70.3" y="106.6" width="26" height="173.4" fill="#b34a2c" rx="2"/><text x="83.3" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2002</text>
    <rect x="103.7" y="82.5" width="26" height="197.5" fill="#b34a2c" rx="2"/><text x="116.7" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2003</text>
    <rect x="137" y="51.6" width="26" height="228.4" fill="#b34a2c" rx="2"/><text x="150" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2004</text>
    <rect x="170.3" y="0" width="26" height="280" fill="#b34a2c" rx="2"/><text x="183.3" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2005</text>
    <rect x="203.7" y="74.6" width="26" height="205.4" fill="#b34a2c" rx="2"/><text x="216.7" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2006</text>
    <rect x="237" y="216.6" width="26" height="63.4" fill="#b34a2c" rx="2"/><text x="250" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2007</text>
    <rect x="270.3" y="235.1" width="26" height="44.9" fill="#b34a2c" rx="2"/><text x="283.3" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2008</text>
    <rect x="303.7" y="245.2" width="26" height="34.8" fill="#b34a2c" rx="2"/><text x="316.7" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2009</text>
    <rect x="337" y="225.6" width="26" height="54.4" fill="#b34a2c" rx="2"/><text x="350" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2010</text>
    <rect x="370.3" y="248.6" width="26" height="31.4" fill="#b34a2c" rx="2"/><text x="383.3" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2011</text>
    <rect x="403.7" y="260.4" width="26" height="19.6" fill="#b34a2c" rx="2"/><text x="416.7" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2012</text>
    <rect x="437" y="264.3" width="26" height="15.7" fill="#b34a2c" rx="2"/><text x="450" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2013</text>
    <rect x="470.3" y="268.2" width="26" height="11.8" fill="#b34a2c" rx="2"/><text x="483.3" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2014</text>
    <rect x="503.7" y="266" width="26" height="14" fill="#b34a2c" rx="2"/><text x="516.7" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2015</text>
    <rect x="537" y="260.4" width="26" height="19.6" fill="#b34a2c" rx="2"/><text x="550" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2016</text>
    <rect x="570.3" y="270.5" width="26" height="9.5" fill="#b34a2c" rx="2"/><text x="583.3" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2017</text>
    <rect x="603.7" y="212.7" width="26" height="67.3" fill="#b34a2c" rx="2"/><text x="616.7" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2018</text>
    <rect x="637" y="256.4" width="26" height="23.6" fill="#b34a2c" rx="2"/><text x="650" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2019</text>
    <rect x="670.3" y="271.6" width="26" height="8.4" fill="#b34a2c" rx="2"/><text x="683.3" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2020</text>
    <rect x="703.7" y="277.2" width="26" height="2.8" fill="#b34a2c" rx="2"/><text x="716.7" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2021</text>
    <rect x="737" y="240.7" width="26" height="39.3" fill="#b34a2c" rx="2"/><text x="750" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2022</text>
    <rect x="770.3" y="257" width="26" height="23" fill="#b34a2c" rx="2"/><text x="783.3" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2023</text>
    <rect x="803.7" y="239.6" width="26" height="40.4" fill="#b34a2c" rx="2"/><text x="816.7" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2024</text>
    <rect x="837" y="253.1" width="26" height="26.9" fill="#b34a2c" rx="2"/><text x="850" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2025</text>
    <rect x="870.3" y="271" width="26" height="9" fill="#b34a2c" rx="2"/><text x="883.3" y="310" text-anchor="middle" font-size="11" fill="#6b5e4f">2026</text>
  </svg>
  <p class="awln-body">The quietest year on record was <em>2021</em> with just 5 posts. The busiest was <em>2005</em>, with 499.</p>
</div>

<div class="awln-section">
  <h2 class="awln-h2">Posts got <em>longer</em></h2>
  <p class="awln-sub">Median word count per post, by year.</p>
  <p class="awln-body">The shape of a post in 2000 &#x2014; a sentence or two pointing to something interesting &#x2014; barely exists in 2025. In <em>2000</em>, your median post was <em>57 words</em>. In <em>2026</em>, it&apos;s <em>1,042 words</em>. The blog stopped being a notebook and became an essay column.</p>
  <svg viewbox="0 0 900 284" xmlns="http://www.w3.org/2000/svg" class="awln-chart">
    <rect x="3.7" y="230.4" width="26" height="9.6" fill="#5d6d56" rx="2"/><text x="16.7" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2000</text>
    <rect x="37" y="229.6" width="26" height="10.4" fill="#5d6d56" rx="2"/><text x="50" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2001</text>
    <rect x="70.3" y="225.1" width="26" height="14.9" fill="#5d6d56" rx="2"/><text x="83.3" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2002</text>
    <rect x="103.7" y="224.1" width="26" height="15.9" fill="#5d6d56" rx="2"/><text x="116.7" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2003</text>
    <rect x="137" y="227.6" width="26" height="12.4" fill="#5d6d56" rx="2"/><text x="150" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2004</text>
    <rect x="170.3" y="228.8" width="26" height="11.2" fill="#5d6d56" rx="2"/><text x="183.3" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2005</text>
    <rect x="203.7" y="231.8" width="26" height="8.2" fill="#5d6d56" rx="2"/><text x="216.7" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2006</text>
    <rect x="237" y="227.6" width="26" height="12.4" fill="#5d6d56" rx="2"/><text x="250" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2007</text>
    <rect x="270.3" y="212.1" width="26" height="27.9" fill="#5d6d56" rx="2"/><text x="283.3" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2008</text>
    <rect x="303.7" y="207.4" width="26" height="32.6" fill="#5d6d56" rx="2"/><text x="316.7" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2009</text>
    <rect x="337" y="222.5" width="26" height="17.5" fill="#5d6d56" rx="2"/><text x="350" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2010</text>
    <rect x="370.3" y="212" width="26" height="28" fill="#5d6d56" rx="2"/><text x="383.3" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2011</text>
    <rect x="403.7" y="161.5" width="26" height="78.5" fill="#5d6d56" rx="2"/><text x="416.7" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2012</text>
    <rect x="437" y="157.4" width="26" height="82.6" fill="#5d6d56" rx="2"/><text x="450" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2013</text>
    <rect x="470.3" y="138.8" width="26" height="101.2" fill="#5d6d56" rx="2"/><text x="483.3" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2014</text>
    <rect x="503.7" y="182.9" width="26" height="57.1" fill="#5d6d56" rx="2"/><text x="516.7" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2015</text>
    <rect x="537" y="132.9" width="26" height="107.1" fill="#5d6d56" rx="2"/><text x="550" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2016</text>
    <rect x="570.3" y="137.5" width="26" height="102.5" fill="#5d6d56" rx="2"/><text x="583.3" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2017</text>
    <rect x="603.7" y="228.3" width="26" height="11.7" fill="#5d6d56" rx="2"/><text x="616.7" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2018</text>
    <rect x="637" y="152.7" width="26" height="87.3" fill="#5d6d56" rx="2"/><text x="650" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2019</text>
    <rect x="670.3" y="95" width="26" height="145" fill="#5d6d56" rx="2"/><text x="683.3" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2020</text>
    <rect x="703.7" y="0" width="26" height="240" fill="#5d6d56" rx="2"/><text x="716.7" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2021</text>
    <rect x="737" y="207.9" width="26" height="32.1" fill="#5d6d56" rx="2"/><text x="750" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2022</text>
    <rect x="770.3" y="149.5" width="26" height="90.5" fill="#5d6d56" rx="2"/><text x="783.3" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2023</text>
    <rect x="803.7" y="87.6" width="26" height="152.4" fill="#5d6d56" rx="2"/><text x="816.7" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2024</text>
    <rect x="837" y="76" width="26" height="164" fill="#5d6d56" rx="2"/><text x="850" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2025</text>
    <rect x="870.3" y="65.1" width="26" height="174.9" fill="#5d6d56" rx="2"/><text x="883.3" y="270" text-anchor="middle" font-size="11" fill="#6b5e4f">2026</text>
  </svg>
</div>

<div class="awln-section">
  <h2 class="awln-h2">The tag landscape</h2>
  <p class="awln-sub">Top 30 tags across the whole archive. Click any tag to see the posts.</p>
  <div class="awln-hbar">
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/links/" class="awln-tag-link">links</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 480px"></div></div><div class="awln-hbar-count">689</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/foofery/" class="awln-tag-link">foofery</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 292.6px"></div></div><div class="awln-hbar-count">420</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/internet/" class="awln-tag-link">internet</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 192.3px"></div></div><div class="awln-hbar-count">276</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/peeves/" class="awln-tag-link">peeves</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 168.6px"></div></div><div class="awln-hbar-count">242</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/politics/" class="awln-tag-link">politics</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 162.3px"></div></div><div class="awln-hbar-count">233</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/weblogs/" class="awln-tag-link">weblogs</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 160.9px"></div></div><div class="awln-hbar-count">231</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/photos/" class="awln-tag-link">photos</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 155.4px"></div></div><div class="awln-hbar-count">223</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/music/" class="awln-tag-link">music</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 154px"></div></div><div class="awln-hbar-count">221</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/personal/" class="awln-tag-link">personal</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 135.2px"></div></div><div class="awln-hbar-count">194</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/design/" class="awln-tag-link">design</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 120.5px"></div></div><div class="awln-hbar-count">173</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/apple/" class="awln-tag-link">apple</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 96.1px"></div></div><div class="awln-hbar-count">138</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/web-development/" class="awln-tag-link">web development</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 92.7px"></div></div><div class="awln-hbar-count">133</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/tv/" class="awln-tag-link">tv</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 86.4px"></div></div><div class="awln-hbar-count">124</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/meta/" class="awln-tag-link">meta</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 81.5px"></div></div><div class="awln-hbar-count">117</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/friends/" class="awln-tag-link">friends</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 75.9px"></div></div><div class="awln-hbar-count">109</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/movies/" class="awln-tag-link">movies</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 75.2px"></div></div><div class="awln-hbar-count">108</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/blogging/" class="awln-tag-link">blogging</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 74.5px"></div></div><div class="awln-hbar-count">107</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/travel/" class="awln-tag-link">travel</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 63.4px"></div></div><div class="awln-hbar-count">91</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/california/" class="awln-tag-link">california</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 61.3px"></div></div><div class="awln-hbar-count">88</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/cycling/" class="awln-tag-link">cycling</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 57.1px"></div></div><div class="awln-hbar-count">82</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/technology/" class="awln-tag-link">technology</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 55.7px"></div></div><div class="awln-hbar-count">80</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/metafilter/" class="awln-tag-link">metafilter</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 52.9px"></div></div><div class="awln-hbar-count">76</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/gadgets/" class="awln-tag-link">gadgets</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 52.2px"></div></div><div class="awln-hbar-count">75</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/books/" class="awln-tag-link">books</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 47.4px"></div></div><div class="awln-hbar-count">68</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/me-me-me/" class="awln-tag-link">me me me</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 46.7px"></div></div><div class="awln-hbar-count">67</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/family/" class="awln-tag-link">family</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 46px"></div></div><div class="awln-hbar-count">66</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/ideas/" class="awln-tag-link">ideas</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 44.6px"></div></div><div class="awln-hbar-count">64</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/flickr/" class="awln-tag-link">flickr</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 43.2px"></div></div><div class="awln-hbar-count">62</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/sports/" class="awln-tag-link">sports</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 41.8px"></div></div><div class="awln-hbar-count">60</div></div>
    <div class="awln-hbar-row"><div class="awln-hbar-label"><a href="https://a.wholelottanothing.org/tag/reviews/" class="awln-tag-link">reviews</a></div><div class="awln-hbar-track"><div class="awln-hbar-fill" style="width: 40.4px"></div></div><div class="awln-hbar-count">58</div></div>
  </div>
</div>

<div class="awln-section">
  <h2 class="awln-h2">Tags that <em>travel together</em></h2>
  <p class="awln-sub">Top 15 tag co-occurrences. These pairs reveal recurring beats.</p>
  <ol class="awln-pairs">
    <li><span class="awln-pair-count">53</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/internet/" class="awln-tag-link">internet</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/peeves/" class="awln-tag-link">peeves</a></span></li>
    <li><span class="awln-pair-count">34</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/friends/" class="awln-tag-link">friends</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/weblogs/" class="awln-tag-link">weblogs</a></span></li>
    <li><span class="awln-pair-count">31</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/design/" class="awln-tag-link">design</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/links/" class="awln-tag-link">links</a></span></li>
    <li><span class="awln-pair-count">27</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/peeves/" class="awln-tag-link">peeves</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/politics/" class="awln-tag-link">politics</a></span></li>
    <li><span class="awln-pair-count">26</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/me-me-me/" class="awln-tag-link">me me me</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/personal/" class="awln-tag-link">personal</a></span></li>
    <li><span class="awln-pair-count">26</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/foofery/" class="awln-tag-link">foofery</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/internet/" class="awln-tag-link">internet</a></span></li>
    <li><span class="awln-pair-count">26</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/foofery/" class="awln-tag-link">foofery</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/politics/" class="awln-tag-link">politics</a></span></li>
    <li><span class="awln-pair-count">21</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/blogging/" class="awln-tag-link">blogging</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/weblogs/" class="awln-tag-link">weblogs</a></span></li>
    <li><span class="awln-pair-count">20</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/foofery/" class="awln-tag-link">foofery</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/personal/" class="awln-tag-link">personal</a></span></li>
    <li><span class="awln-pair-count">20</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/foofery/" class="awln-tag-link">foofery</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/random/" class="awln-tag-link">random</a></span></li>
    <li><span class="awln-pair-count">20</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/california/" class="awln-tag-link">california</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/personal/" class="awln-tag-link">personal</a></span></li>
    <li><span class="awln-pair-count">20</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/essay/" class="awln-tag-link">Essay</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/features/" class="awln-tag-link">features</a></span></li>
    <li><span class="awln-pair-count">19</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/foofery/" class="awln-tag-link">foofery</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/music/" class="awln-tag-link">music</a></span></li>
    <li><span class="awln-pair-count">19</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/foofery/" class="awln-tag-link">foofery</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/photos/" class="awln-tag-link">photos</a></span></li>
    <li><span class="awln-pair-count">18</span><span class="awln-pair-name"><a href="https://a.wholelottanothing.org/tag/concerts/" class="awln-tag-link">concerts</a><span class="awln-plus">+</span><a href="https://a.wholelottanothing.org/tag/music/" class="awln-tag-link">music</a></span></li>
  </ol>
  <p class="awln-body"><a href="https://a.wholelottanothing.org/tag/internet/" class="awln-tag-link">internet</a> + <a href="https://a.wholelottanothing.org/tag/peeves/" class="awln-tag-link">peeves</a> is the most frequent pair (53 times) &#x2014; a tidy summary of about 60% of your output. <a href="https://a.wholelottanothing.org/tag/foofery/" class="awln-tag-link">foofery</a> + <a href="https://a.wholelottanothing.org/tag/politics/" class="awln-tag-link">politics</a> and <a href="https://a.wholelottanothing.org/tag/foofery/" class="awln-tag-link">foofery</a> + <a href="https://a.wholelottanothing.org/tag/internet/" class="awln-tag-link">internet</a> both show up too: classic AWLN snark.</p>
</div>

<div class="awln-section">
  <h2 class="awln-h2">When each tag <em>first appeared</em></h2>
  <p class="awln-sub">A timeline of cultural arrivals, dated by their first post.</p>
  <div class="awln-emerge">
    <div class="awln-emerge-row"><span class="awln-emerge-date">2000-01-01</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/weblogs/" class="awln-tag-link">weblogs</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2000-01-02</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/metafilter/" class="awln-tag-link">metafilter</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2000-01-04</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/apple/" class="awln-tag-link">apple</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2001-08-02</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/google/" class="awln-tag-link">google</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2004-03-09</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/flickr/" class="awln-tag-link">flickr</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2007-01-31</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/podcasts/" class="awln-tag-link">podcasts</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2008-08-13</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/iphone/" class="awln-tag-link">iPhone</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2008-11-03</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/twitter/" class="awln-tag-link">twitter</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2015-04-10</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/ev/" class="awln-tag-link">EV</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2017-05-01</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/remote-work/" class="awln-tag-link">remote work</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2018-08-15</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/wordpress/" class="awln-tag-link">wordpress</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2018-08-22</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/instagram/" class="awln-tag-link">instagram</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2019-02-13</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/home-automation/" class="awln-tag-link">home automation</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2022-11-01</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/ai/" class="awln-tag-link">ai</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2022-11-07</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/tailscale/" class="awln-tag-link">tailscale</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2023-08-03</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/covid/" class="awln-tag-link">covid</a></span></div>
    <div class="awln-emerge-row"><span class="awln-emerge-date">2026-02-18</span><span class="awln-emerge-tag"><a href="https://a.wholelottanothing.org/tag/vibe-coding/" class="awln-tag-link">vibe coding</a></span></div>
  </div>
  <p class="awln-body">Half the tags here are products that didn&apos;t exist until a few weeks before they showed up &#x2014; <a href="https://a.wholelottanothing.org/tag/iphone/" class="awln-tag-link">iPhone</a> in August 2008 (a few weeks after the App Store launched), <a href="https://a.wholelottanothing.org/tag/twitter/" class="awln-tag-link">twitter</a> three months later, <a href="https://a.wholelottanothing.org/tag/ev/" class="awln-tag-link">EV</a> in April 2015 right when Tesla expanded the Model S, <a href="https://a.wholelottanothing.org/tag/vibe-coding/" class="awln-tag-link">vibe coding</a> in February 2026. The blog functions as a personal cultural register.</p>
</div>

<div class="awln-section">
  <h2 class="awln-h2">By <em>day of week</em></h2>
  <p class="awln-sub">When you tend to publish.</p>
  <svg viewbox="0 0 720 224" xmlns="http://www.w3.org/2000/svg" class="awln-chart">
    <rect x="11.3" y="38.4" width="80.2" height="141.6" fill="#b34a2c" rx="2"/><text x="51.4" y="32.4" text-anchor="middle" font-size="11" fill="#2a241c">531</text><text x="51.4" y="210" text-anchor="middle" font-size="11" fill="#6b5e4f">Mon</text>
    <rect x="114.2" y="0" width="80.2" height="180" fill="#b34a2c" rx="2"/><text x="154.3" y="14" text-anchor="middle" font-size="11" fill="#2a241c">675</text><text x="154.3" y="210" text-anchor="middle" font-size="11" fill="#6b5e4f">Tue</text>
    <rect x="217" y="22.4" width="80.2" height="157.6" fill="#b34a2c" rx="2"/><text x="257.1" y="16.4" text-anchor="middle" font-size="11" fill="#2a241c">591</text><text x="257.1" y="210" text-anchor="middle" font-size="11" fill="#6b5e4f">Wed</text>
    <rect x="319.9" y="13.6" width="80.2" height="166.4" fill="#b34a2c" rx="2"/><text x="360" y="7.6" text-anchor="middle" font-size="11" fill="#2a241c">624</text><text x="360" y="210" text-anchor="middle" font-size="11" fill="#6b5e4f">Thu</text>
    <rect x="422.7" y="38.1" width="80.2" height="141.9" fill="#b34a2c" rx="2"/><text x="462.9" y="32.1" text-anchor="middle" font-size="11" fill="#2a241c">532</text><text x="462.9" y="210" text-anchor="middle" font-size="11" fill="#6b5e4f">Fri</text>
    <rect x="525.6" y="84.8" width="80.2" height="95.2" fill="#b34a2c" rx="2"/><text x="565.7" y="78.8" text-anchor="middle" font-size="11" fill="#2a241c">357</text><text x="565.7" y="210" text-anchor="middle" font-size="11" fill="#6b5e4f">Sat</text>
    <rect x="628.5" y="79.5" width="80.2" height="100.5" fill="#b34a2c" rx="2"/><text x="668.6" y="73.5" text-anchor="middle" font-size="11" fill="#2a241c">377</text><text x="668.6" y="210" text-anchor="middle" font-size="11" fill="#6b5e4f">Sun</text>
  </svg>
  <p class="awln-body">Tuesdays edge out everything; weekends are about 35% slower than weekdays.</p>
</div>

<div class="awln-section">
  <h2 class="awln-h2">Your <em>longest</em> posts ever</h2>
  <p class="awln-sub">Top 10 by word count. Click any title to read the post.</p>
  <table class="awln-longtable">
    <tbody>
      <tr><td class="awln-num">5,121</td><td class="awln-d">2012-03-16</td><td><a href="https://a.wholelottanothing.org/my-webstock-talk/" class="awln-post-link">My Webstock Talk: Lessons from a 40 year old (now with transcript)</a></td></tr>
      <tr><td class="awln-num">3,838</td><td class="awln-d">2003-10-04</td><td><a href="https://a.wholelottanothing.org/blogging-for-dollars/" class="awln-post-link">Blogging for Dollars</a></td></tr>
      <tr><td class="awln-num">3,704</td><td class="awln-d">2021-06-15</td><td><a href="https://a.wholelottanothing.org/tips-on-buying-a-used-sprinter-van/" class="awln-post-link">Tips on buying a used Sprinter van</a></td></tr>
      <tr><td class="awln-num">3,066</td><td class="awln-d">2016-10-06</td><td><a href="https://a.wholelottanothing.org/part-3-talkabot-conference-liveblog/" class="awln-post-link">Part 3: Talkabot conference liveblog</a></td></tr>
      <tr><td class="awln-num">3,029</td><td class="awln-d">2025-12-16</td><td><a href="https://a.wholelottanothing.org/a-2-200-mile-ev-test-drive-from-texas-to-oregon/" class="awln-post-link">A 2,200 mile EV test drive *from Texas to Oregon*</a></td></tr>
      <tr><td class="awln-num">2,923</td><td class="awln-d">2022-12-07</td><td><a href="https://a.wholelottanothing.org/how-to-be-a-writer-on-a-marketing-team-without-sounding-like-a-jerk/" class="awln-post-link">How to be a writer on a marketing team *without sounding like a jerk*</a></td></tr>
      <tr><td class="awln-num">2,834</td><td class="awln-d">2025-12-03</td><td><a href="https://a.wholelottanothing.org/all-crazy-stuff-ive-learned-about-homeowners-insurance-natural-disasters-and-recovery/" class="awln-post-link">Everything I&apos;ve learned about homeowner&apos;s insurance, natural disasters, and recovery aid *in 2025*</a></td></tr>
      <tr><td class="awln-num">2,806</td><td class="awln-d">2014-12-22</td><td><a href="https://a.wholelottanothing.org/ten-years-of-podcasting-fighting-human-nature/" class="awln-post-link">Ten Years of Podcasting: Fighting Human Nature</a></td></tr>
      <tr><td class="awln-num">2,687</td><td class="awln-d">2012-07-02</td><td><a href="https://a.wholelottanothing.org/my-trip-to-italy/" class="awln-post-link">My trip to Italy</a></td></tr>
      <tr><td class="awln-num">2,618</td><td class="awln-d">2014-05-21</td><td><a href="https://a.wholelottanothing.org/on-the-future-of-metafilter/" class="awln-post-link">On the Future of MetaFilter</a></td></tr>
    </tbody>
  </table>
</div>

<div class="awln-footer">
  Generated May 2026 from 3,687 published posts.
</div>

</div>

<!--kg-card-end: html-->
<hr><p>These are great insights I wouldn&apos;t have picked up on otherwise. You can see in the early days most posts were only a sentence or two, then Twitter launched in 2006 and I basically stopped blogging. Eventually I tended to blog longer essays so much so that now my posts average over 1,000 words each.</p><p>AI is also great at inadvertent comedy and this just slayed me:</p><blockquote><code><em>internet + peeves</em>&#xA0;is the most frequent pair (53 times) &#x2014; a tidy summary of about 60% of your output.</code></blockquote><p><strong>Cold hearted, AI</strong>, calling me out for my Andy Rooney tendencies. </p><p>I&apos;m happy this project is done. It means it&apos;s easier to look up and search old posts, the related posts blob at the bottom of posts is more accurate, and I&apos;m glad I didn&apos;t have to do things 2,200 times by hand.</p><h2 id="project-2-a-gym-workout-app">Project 2: a gym workout app</h2><p>When COVID lockdown started, my gym closed for nearly a year and I bought a cheap Bowflex unit from Amazon in the spring of 2020. This was before Amazon increased the price of the same device by almost 3x when everyone wanted one later in the summer of 2000. </p><p>For years, I&apos;d been working with a trainer on a whole body workout that focused on keeping my core strength up, and through trial and error, I found this video uploaded by Bowflex to be the closest thing to feeling like my real workout with a trainer, as it hit all my muscle groups and worked great for me.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/CMVDhv-c5Mg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Bowflex&#xAE; PR1000 | Twenty-Minute Better Body Workout"></iframe></figure><p> Whenever I wanted to work out, I&apos;d walk down to my barn, pull out my phone and look up this old video. I&apos;d watch it in ten second chunks to remember what was next and to check my form, then I&apos;d put on music instead and do my reps. After, I&apos;d jump back into the YouTube app, unpause for ten more seconds, and repeat. </p><p>From one workout to the next, I might bump up my resistance through the weighted bands the unit comes with, and I always wanted to track where I was with that. For years, I did these workouts occasionally, with my clunky phone app switching, wishing I had a whiteboard nearby to jot down how much weight I was doing each time.</p><p><strong>Fast forward to last week</strong> when I asked Claude to take a crack at it. At first, it couldn&apos;t load a YouTube video, so I ripped it to a downloadable copy from an online utility. Claude went to work and with almost zero input, gave me a list of all nine exercises, a short looping animated GIF clip for each exercise to check my form, then added a input where I can type in how much weight I used (and the form input defaults to the previous workout&apos;s numbers). It even produces graphs of weight over time after you do a few workouts.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/05/Bowflex-Workout-Tracker.jpg" class="kg-image" alt="Thinking about AI" loading="lazy" width="1394" height="2909" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/05/Bowflex-Workout-Tracker.jpg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/05/Bowflex-Workout-Tracker.jpg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/05/Bowflex-Workout-Tracker.jpg 1394w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">A screenshot of the first few exercises in this gym tracker app</span></figcaption></figure><p>This is something I&apos;ve wanted for six years and in an hour, it created a perfect single-user web app that I host on my home network and use to track workouts.</p><h2 id="the-harsh-realities-of-ai">The harsh realities of AI</h2><p>I have no doubt that AI is killing the tech job market. I <strong><em>know</em></strong> I have lost at least a couple gigs because a higher up figured paying for AI tokens was easier than paying a real writer to do documentation. And I have friends all up and down the content industry and it&apos;s clear everyone is hurting looking for rare roles these days because whole jobs are being eliminated in the rush to AI.</p><p>I&apos;ve come up with my own guardrails for AI and I think everyone should figure out what they&apos;re comfortable using it for and what they won&apos;t use it for before getting in too deep. </p><p>I tend to use AI for the beginnings of general research on something I don&apos;t know a lot about (instead of basic Google searches, because those have gone to shit over the past decade), but I use it as a cursory step to figure out where I should research on my own next. <strong>It&apos;s dangerous to trust AI</strong> completely on things you don&apos;t know deeply because it&apos;s just <em>guessing</em> what most people <em>think</em> is correct about a subject, in a ten-mile-up sense.</p><p><strong>AI is at its best when you have a good deal of knowledge about a subject</strong> that you&apos;re seeking help with, because you&apos;ll quickly spot where it is making mistakes, and what assumptions it is making that are misguided. It allows you to quickly course-correct and do things like I&apos;ve described here that save me oodles of time versus doing them myself.</p><p><strong>AI is going to kill the junior job market in every industry and that sucks</strong>. Working on a coding project in Claude feels a lot like when Slack had tons of interns eager to chip in on projects and they&apos;d fill our teams. Now, if I&apos;m using $20 worth of AI to automate rudimentary tasks in my own life, I know the Fortune 500 are doing it at a much larger scale and that makes me wonder who is going to hire people and let them become junior software developers who eventually become senior developers if we&apos;ve completely offloaded their introductory work to bots?</p><p><strong>An obvious guardrail</strong> for me is I don&apos;t use generative AI to write things for me or make ugly images or produce videos. I have seen almost zero upside and nothing but downsides to almost all of it. AI-produced images and video build distrust among everyone, as we all tend to fall for doctored images on a daily basis now, making everyone question everything.</p><p><strong>The downsides of AI are serious and problematic.</strong> There is an environmental cost to all the electricity needed by data centers. Companies and cities are ramming through data center construction projects that are propping up another tech bubble that will inevitably burst, wrecking our economy. AI seems to bring out the worst in everyone involved in business, much like crypto did.</p><p><strong>I don&apos;t think dozens of agents doing your bidding is a good approach to building things with AI</strong>. I feel like a weird Portland &quot;artisanal AI&quot; user because I still interact with Claude inside of chat sessions. I break tasks into small parts so I can review the output and see the approaches being taken. I debug stuff at every chance and come up with solutions to bugs myself more often than Claude does. Contrasting this with the idea of OpenClaw, or having dozens of agents building stuff for you, who check things for bugs, and fix it without any of your interaction or input, and that approach seems wild to me. I want to know what&apos;s going on under the hood and I make sure I keep tabs on what AI is doing. </p><p>I don&apos;t know what the future holds for the software industry, but it feels like every job role in tech is changing a bit to accommodate what is newly possible thanks to AI models, and there are plenty of downsides to its adoption.</p><p>I still think there&apos;s something worthwhile that AI can be safely used for, whether that&apos;s building utilities and prototypes for a small audience, or LLMs based on your own writing that help you analyze your own work, or the hours of IT help I get by asking Claude which linux commands I would type to fix the things that are broken in my tech stack.</p><p>I&apos;ve always had half a dozen iPhone app ideas, a couple dozen website ideas, and a bunch of things I&apos;d call art projects, but it was hard to carve out the space to work on them while I was doing other things. Now, I can knock things off a mental todo list in a day or two, when they might have been brewing in my mind for nearly a decade. When I sit down each night and take a crack at an idea I&apos;ve had and the results are better than I ever expected, that&apos;s pretty incredible.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/05/IMG_4850-2.JPG" class="kg-image" alt="Thinking about AI" loading="lazy" width="2000" height="1500" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/05/IMG_4850-2.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/05/IMG_4850-2.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/05/IMG_4850-2.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/05/IMG_4850-2.JPG 2400w" sizes="(min-width: 1200px) 1200px"><figcaption><span style="white-space: pre-wrap;">Gravel race mass start, April 2026</span></figcaption></figure>]]></content:encoded></item><item><title><![CDATA[My first thru fourth rides inside a *Waymo*]]></title><description><![CDATA[<p>It wasn&apos;t until the second day I was in LA last weekend when I realized oh shit! They have <a href="https://waymo.com/?ref=a.wholelottanothing.org" rel="noreferrer">Waymo</a> here! I&apos;ve should give one a try.</p><p>I&apos;ve been obsessed with the idea of self-driving cars for decades, having grown up reading WIRED and</p>]]></description><link>https://a.wholelottanothing.org/my-first-thru-fourth-rides-inside-a-waymo/</link><guid isPermaLink="false">69f225bf0793c0000145608c</guid><category><![CDATA[cars]]></category><category><![CDATA[reviews]]></category><category><![CDATA[clever]]></category><category><![CDATA[ai]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Wed, 29 Apr 2026 17:08:14 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_5119.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_5119.JPG" alt="My first thru fourth rides inside a *Waymo*"><p>It wasn&apos;t until the second day I was in LA last weekend when I realized oh shit! They have <a href="https://waymo.com/?ref=a.wholelottanothing.org" rel="noreferrer">Waymo</a> here! I&apos;ve should give one a try.</p><p>I&apos;ve been obsessed with the idea of self-driving cars for decades, having grown up reading WIRED and OMNI magazines. I assumed up until about ten years ago we&apos;d have more robot drivers than regular cars on the road <strong><em>any day now</em></strong>. </p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_5024.JPG" class="kg-image" alt="My first thru fourth rides inside a *Waymo*" loading="lazy" width="2000" height="1500" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_5024.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_5024.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_5024.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_5024.JPG 2400w" sizes="(min-width: 1200px) 1200px"></figure><p>It wasn&apos;t until I taught my kid how to drive over the course of 2020-2021 that I figured out self-driving cars actually had an insurmountable challenge before they could ever happen in the real world. Going through the whole process of teaching her what I was doing, I suddenly realized I&apos;m always monitoring a <em>hundred</em> different things whenever I drive and it&apos;s hard to impart this on a teen with zero experience. </p><p>I&apos;ve worked around the software industry for years and I can&apos;t imagine a 100% reliable self-driving program that can take into account not just the dozens of vehicles surrounding you and what each car might do next, but also the incredible variability in every street and curb and intersection since we have pretty flimsy road building standards in the US. Every time you drive a car today, there&apos;s a good chance you&apos;ll experience a situation you&apos;ve never encountered exactly before, but it&apos;s similar enough to something you&apos;ve done, so you figure it out on the fly, and it works out.</p><p>Can software ever do that?</p><h2 id="the-first-ride-total-insanity">The first ride: total insanity</h2><p>I was in Los Angeles, doing a blasphemous thing on a Sunday morning, which was going for a two-mile walk across town. I ended up at a cool coffee shop to grab some breakfast, but I wanted to get back to my hotel for a big day ahead, so I called my first Waymo in the app. </p><p>It said it&apos;d be there in 5 minutes to pick me up at a nearby intersection, then I got a few messages saying I wasn&apos;t standing in the right place, so I moved to another, safer, street corner, but was told to move back to the spot I originally launched the app. I don&apos;t think it&apos;s smart to pick up a rider at a four way stop being actively used by others, so I backtracked up the street a bit while ignoring the app&apos;s protests, and the approaching Waymo stopped for me where I wanted before the intersection and I got in.</p><p>It whisked me away quickly and I started freaking out in my head. </p><blockquote><strong>Holy shit</strong>, it&apos;s working. <br><br><strong>Holy crap</strong>, there <em>really</em> is no driver! <br><br><strong>Holy shit</strong>, we&apos;re really in the road with regular people that could be killed by this (and me too in the process)!</blockquote><p>I imagine my first thoughts could have been published a hundred years ago in a newspaper. </p><blockquote>Oh my god, <em><strong>where is the horse?!</strong></em> <br><br>How is this thing moving <em>without my buggy whip?!</em> <br><br>What will the city will look like when these new fangled things show up everywhere!</blockquote><p>Overall, the ride was whisper quiet, the car drove cautiously, but being an EV, it <em>was</em> accelerating a bit quicker than I expected. </p><p>It didn&apos;t take long to witness the software do something in an unusual situation as we approached an intersection where a kid was riding a bike. I happened to be filming a quick video to show a friend when it happened. </p><figure class="kg-card kg-video-card kg-width-wide kg-card-hascaption" data-kg-thumbnail="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/media/2026/04/IMG_5025_thumb.jpg" data-kg-custom-thumbnail>
            <div class="kg-video-container">
                <video src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/media/2026/04/IMG_5025.mp4" poster="https://img.spacergif.org/v1/1920x1080/0a/spacer.png" width="1920" height="1080" playsinline preload="metadata" style="background: transparent url(&apos;https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/media/2026/04/IMG_5025_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
                <div class="kg-video-overlay">
                    <button class="kg-video-large-play-icon" aria-label="Play video">
                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                        </svg>
                    </button>
                </div>
                <div class="kg-video-player-container">
                    <div class="kg-video-player">
                        <button class="kg-video-play-icon" aria-label="Play video">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-pause-icon kg-video-hide" aria-label="Pause video">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                            </svg>
                        </button>
                        <span class="kg-video-current-time">0:00</span>
                        <div class="kg-video-time">
                            /<span class="kg-video-duration">0:17</span>
                        </div>
                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
                        <button class="kg-video-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button>
                        <button class="kg-video-unmute-icon" aria-label="Unmute">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-mute-icon kg-video-hide" aria-label="Mute">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
                            </svg>
                        </button>
                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
                    </div>
                </div>
            </div>
            <figcaption><p><span style="white-space: pre-wrap;">(17 second video with a hint of chaos)</span></p></figcaption>
        </figure><p>Personally, I would have slowed down as I approached, given the cyclist there, but the car jammed the brakes and jerked the wheel to avoid the kid at the last moment, then proceeded to make its planned left turn, but the driver coming from the opposite direction was approaching slowly so we awkwardly turned behind the other car. </p><p>Not exactly <em>elegant</em>.</p><p>But my hotel was just a block up and it <em>was</em> a fast, cheap ride that saved me time, so maybe it had some promise?</p><h2 id="rides-number-2-and-3-from-nervousness-to-mundanity">Rides number 2 and 3: from nervousness to mundanity</h2><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_5129.JPG" class="kg-image" alt="My first thru fourth rides inside a *Waymo*" loading="lazy" width="2000" height="1500" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_5129.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_5129.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_5129.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_5129.JPG 2400w" sizes="(min-width: 1200px) 1200px"></figure><p>I met up with friends who were also in from out of town and had never tried a Waymo and they were looking forward to it. Since it was three of us in total, I took the front passenger seat and for some reason this felt <em>even more dangerous</em> on our trip <a href="https://unofficialnwsl.stadium.guide/bmo-stadium-los-angeles-california/?ref=a.wholelottanothing.org" rel="noreferrer">to LA&apos;s BMO stadium</a> about 3 miles away.</p><p>For this trip, we watched as the car dodged and weaved through small city side streets, usually driving cautiously but sometimes passing double-parked cars in narrow avenues. It was obvious the car was limited to specific areas by the City of Los Angeles as our route became hella circuitous. </p><p>But we got to experience something really interesting when a distant siren sound started to approach us. The car came to a stop before we could see an emergency vehicle, and it waited as we watched the center screens show a car with flashing lights on it go past. </p><p>When the fire truck was gone, we resumed our trip and got to the stadium uneventfully. </p><p><strong>The ride back was much the same</strong>, though given we walked out of a stadium with 16,000 other people looking to head home, traffic was gridlocked in all directions for blocks and after waiting 10 minutes for a Waymo we walked several blocks away from the stadium and told the Waymo where it could find us and we quickly got a ride back to our hotel.</p><p>On this third trip, my friends called the Waymo themselves because they wanted to <em>control the aux cable</em> as we got so used to how you could pair your phone&apos;s music to the car and control the temperature inside.</p><p>The trip home included another emergency vehicle and the car responded well, then resumed after an ambulance passed. It made a few major road crossings that would have made me nervous, but looking at the screens I could tell its own LIDAR sensors could see further and around parked cars in ways I couldn&apos;t. I was starting to get impressed.</p><h2 id="my-last-ride-home-to-lax-i-forgot-it-was-autonomous-entirely">My last ride home to LAX: I forgot it was autonomous entirely</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_5127.JPG" class="kg-image" alt="My first thru fourth rides inside a *Waymo*" loading="lazy" width="2000" height="2667" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_5127.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_5127.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_5127.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_5127.JPG 2400w" sizes="(min-width: 720px) 720px"></figure><p>I had to grab my stuff and head to the airport in the evening so I called my last Waymo from the hotel and it showed up promptly. I noticed it would only send me to LAX&apos;s new transit center where the bus and rail systems meet a couple miles from the main terminals, but free buses eventually whisk you away so you can catch your flight. I still can&apos;t imagine a self driving car navigating the most extreme circumstances of an airport departures area, where people are constantly stopping, blocking, and getting out of cars all over the place. </p><p>I spent my last Waymo trip looking up my flight and terminal info, as well as how to catch one of the LAX terminal buses and barely looked up from my phone during the whole trip. I already completely forgot what I was sitting in. I rode an LAX bus to my final terminal and it was fine.</p><h2 id="final-thoughts">Final thoughts</h2><ul><li>I couldn&apos;t believe how quickly I went from nervous apprehension to forgetting I was in a moving car with no driver, all in the course of a half a day.</li><li>Waymo is headed to Portland soon and people are freaking out about it locally, but I honestly can&apos;t wait as I think it&apos;ll be less chaotic than Los Angeles or San Francisco in terms of road layouts.</li><li>Waymo cars are generally a lot safer than human drivers and are doing a way better job than I ever imagined after having experienced a few rides myself. I have to eat my words a bit on where I thought this technology was at.</li><li><a href="https://philkoopman.substack.com/p/waymo-tap-dances-about-remote-drivers?ref=a.wholelottanothing.org" rel="noreferrer">I know Waymo employs human watcher/drivers</a> and at one point in the four trips I saw a message on the screen saying Waymo was &quot;taking over&quot; for a short while but we were driving down a street normally and I don&apos;t know why they sent the message or what they did since the driving characteristics didn&apos;t change at all. </li><li>After experiencing a few fire trucks and ambulances interacting with a Waymo while I was inside, I don&apos;t think even an army of humans would be enough to take over as quickly and as often as it would seem. I suspect the amount of actual human oversight is surprisingly low.</li><li>That said, last year while I was in San Francisco driving my own car, surrounded by Waymos, I noticed at one point traffic was illegally going around some double-parked cars and eventually each Waymo car followed regular people doing it, so I kind of <em>knew</em> not all of this was software, and probably humans that kicked in after cars were stuck for a couple minutes without movement.</li><li>I&apos;ve watched tons of videos of people inside a Waymo getting in weird situations and the software does a good job of being especially cautious around cyclists and pedestrians, so much so that I would prefer to ride my bike in a city filled with Waymos over one filled with normal cars.</li><li>While driving around a narrow street with bad visibility, I did think if we hit something, do I as the rider need to stick around? Am I at all liable for what the car does?</li><li>The pricing on it I would guess is about 25-50% less than a Uber or Lyft ride, and maybe that&apos;s artificially low due to investment money, but it seems like it should be cheaper than human options.</li><li>There are ample warnings everywhere that you are constantly being video recorded while you&apos;re inside a Waymo and since humans can do the worst possible things, I bet there&apos;s a supercut of people having sex inside Waymos somewhere on a hard drive under a desk at Waymo.</li><li>I generally don&apos;t like the whole &quot;robots taking jobs&quot; aspects of tech &quot;progress&quot;, but even though I love to drive cars personally, I don&apos;t think being an uber driver is a fulfilling, lucrative job that treats their drivers well. I know uber twists the knobs so drivers barely make enough money to keep doing it. I honestly don&apos;t know if gig driving is a job worth saving.</li><li>No driver means no creepy guy hassling riders for their phone number and I think that&apos;s really an underreported upside to Waymo for many folks.</li><li>I thought of my old friend <a href="https://en.wikipedia.org/wiki/Jerry_Michalski?ref=a.wholelottanothing.org" rel="noreferrer">Jerry Michalski</a> and how maybe 15 years ago he wrote about how self-driving cars would someday be so mundane that they&apos;d offer services while you&apos;re in them to differentiate which one you use, like a haircut from a barber in the car, or a mixed drink from a bartender, or even a dental cleaning while you head to work.</li><li>My favorite joke about Waymos is that the windshield wipers automatically operate when it rains, even though that&apos;s completely for <em>us</em>, and not <em>them</em>.</li><li>It sucks that we even needed to invent a Waymo. Public transit is useless to nonexistent in most US cities, a city like LA feels backwards and like it&#x2019;s in the dark ages since you need a car to get almost everywhere. After the soccer game I was embarrassed when looking around at four solid blocks of stopped cars all honking at each other, headed nowhere. FIFA World Cup and the Olympics are coming here and we clearly don&#x2019;t look like a serious society since we still rely on millions of stupid cars. </li></ul><p>In conclusion:<br></p><p>&#xAF;\_(&#x30C4;)_/&#xAF; <br></p><p>it&apos;s better at driving than I thought</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_5144.JPG" class="kg-image" alt="My first thru fourth rides inside a *Waymo*" loading="lazy" width="2000" height="1500" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_5144.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_5144.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_5144.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_5144.JPG 2400w" sizes="(min-width: 1200px) 1200px"></figure>]]></content:encoded></item><item><title><![CDATA[The Trump admin is doing everything it can to *bankrupt* the Southern Poverty Law Center]]></title><description><![CDATA[<p>Earlier this week, the Department of Justice announced it secured an indictment by a federal grand jury against <a href="https://www.splcenter.org/?ref=a.wholelottanothing.org" rel="noreferrer">the Southern Poverty Law Center</a>, a firm that&#x2019;s spent over 50 years researching, tracking, and fighting violent hate groups nationwide. </p><p>The SPLC is best known for bringing lawsuits that have</p>]]></description><link>https://a.wholelottanothing.org/the-trump-admin-is-doing-everything-it-can-to-bankrupt-the-southern-poverty-law-center/</link><guid isPermaLink="false">69ed13744a7f630001e3e44e</guid><category><![CDATA[politics]]></category><category><![CDATA[wtf]]></category><category><![CDATA[money]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Sun, 26 Apr 2026 06:46:21 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4357.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4357.jpeg" alt="The Trump admin is doing everything it can to *bankrupt* the Southern Poverty Law Center"><p>Earlier this week, the Department of Justice announced it secured an indictment by a federal grand jury against <a href="https://www.splcenter.org/?ref=a.wholelottanothing.org" rel="noreferrer">the Southern Poverty Law Center</a>, a firm that&#x2019;s spent over 50 years researching, tracking, and fighting violent hate groups nationwide. </p><p>The SPLC is best known for bringing lawsuits that have bankrupted white supremacist groups like the Ku Klux Klan and the Aryan Nation, as well as publishing annual Hate and Extremism reports that track organizations like the Proud Boys.</p><p>The charges seem baseless, accusing the SPLC of &#x201C;misleading their donors&#x201D; by paying informants to infiltrate groups to collect intelligence, the same thing the FBI does commonly in their investigations. <a href="https://alabamareflector.com/2026/04/23/legal-experts-skeptical-of-dojs-criminal-case-against-southern-poverty-law-center/?ref=a.wholelottanothing.org" rel="noreferrer">Legal experts say it&#x2019;s based on a flimsy premise that abuses the power of the DOJ</a> to go after who it sees as its &#x201C;enemies&#x201D;, which is the Trump admin&#x2019;s entire playbook.</p><p>But what I wasn&#x2019;t aware of (until today) was it this isn&#x2019;t just an attempt to derail the SPLC&#x2019;s important work temporarily, but it&#x2019;s a direct attack that attempts to remove their funding sources entirely.</p><h2 id="let%E2%80%99s-talk-about-donor-advised-funds-dafs-for-a-minute">Let&#x2019;s talk about donor advised funds (DAFs) for a minute</h2><p>Several years ago when I left Salesforce, a friend who had experienced an IPO suggested that before I cash out my final shares of employee stock, I should siphon some of them into a DAF, or <a href="https://en.wikipedia.org/wiki/Donor-advised_fund?ref=a.wholelottanothing.org" rel="noreferrer">a donor advised fund</a>. I hadn&#x2019;t heard of a DAF before but quickly learned they&#x2019;re one way people donate to causes that also allows the money to grow over time (tax-free) so the money can almost perpetually be donated to causes (I&#x2019;ll explain the mechanics in a bit). On top of that, you also get a tax break when you set one up that can offset taxes you&#x2019;d pay on regular stock sales.</p><p>So here&#x2019;s how a DAF works: you give away some shares of stock to a charitable account (mine is at Fidelity). And those shares are immediately sold to provide funds for the account. Whatever the stock sells at on that day is completely tax-free, so the new DAF gets 100% of the value of the sold stock.</p><p>Once the money is in a DAF, it&#x2019;s out of your hands and something you can&#x2018;t touch for personal gain, as it can only be given away to approved non-profits by the holding company. While the money sits in the account, it can grow with the markets like any other investment.</p><p>For my own DAF, I gave a couple hundred shares of Salesforce into a new account back in 2021, when the shares sold for about $50k. In the years since, I&#x2019;ve given away about $5k in donations on average each year to organizations like food banks, planned parenthood, and groups fighting for LGBTQA+ rights. </p><p>The funny thing is, since the ultra rich wrote the rules for these, it gives your money way more power than normal people donating to charities get.</p><p>I just looked at the transaction history of my own DAF, and I&#x2019;ve given out $29k to nonprofits since I started my DAF. And my account balance currently has over $33k in it. So my initial donation has turned into <em>at least</em> $62k of spending power in just a few short years.</p><h2 id="fidelity-says-no">Fidelity says no</h2><p>When the charges against the SPLC were announced this week, the group said they would fight them in court and I saw online calls for donations to support the SPLC. This was an easy choice for me, so I logged into my DAF account and did a search, found the SPLC, then started a grant request to send them $1k. Usually a day later you get a response saying the money went out to the organization like you asked.</p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4955.jpeg" width="1320" height="2173" loading="lazy" alt="The Trump admin is doing everything it can to *bankrupt* the Southern Poverty Law Center" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4955.jpeg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4955.jpeg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4955.jpeg 1320w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4957.jpeg" width="1320" height="2479" loading="lazy" alt="The Trump admin is doing everything it can to *bankrupt* the Southern Poverty Law Center" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4957.jpeg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4957.jpeg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4957.jpeg 1320w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>A day later, I got the following email saying my request was denied, due to pending investigations. I&#x2019;ll reach out to Fidelity for clarification, but I noticed that if I search for the SPLC now at Fidelity&#x2019;s DAF grant finder, it is no longer listed as an organization you can direct money to.</p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_0062.jpeg" width="2000" height="1207" loading="lazy" alt="The Trump admin is doing everything it can to *bankrupt* the Southern Poverty Law Center" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_0062.jpeg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_0062.jpeg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_0062.jpeg 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_0062.jpeg 2240w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_0063.jpeg" width="2000" height="1035" loading="lazy" alt="The Trump admin is doing everything it can to *bankrupt* the Southern Poverty Law Center" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_0063.jpeg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_0063.jpeg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_0063.jpeg 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_0063.jpeg 2220w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_0064.jpeg" width="2000" height="1171" loading="lazy" alt="The Trump admin is doing everything it can to *bankrupt* the Southern Poverty Law Center" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_0064.jpeg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_0064.jpeg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_0064.jpeg 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_0064.jpeg 2199w" sizes="(min-width: 720px) 720px"></div></div></div><figcaption><p><span style="white-space: pre-wrap;">No result search for SPLC, but The Heritage Foundation is there as well as TPUSA</span></p></figcaption></figure><p>Keep in mind the nonprofits you <em>can</em> fund aren&#x2019;t all innocuous ones as The Heritage Foundation (authors of Project 2025) and Turning Point USA are still listed as possible recipients.</p><h2 id="i-guess-i-learned-what-%E2%80%9Cadvised%E2%80%9D-means">I guess I learned what &#x201C;advised&#x201D; means</h2><p>I started a DAF because I&#x2019;d read about how it really stretches out your philanthropy dollars. As your money grows over time, it lets you donate more to causes you support. But it&#x2019;s not a fund I <em>own</em> completely or can ever take money out of personally, I can just <em>advise</em> the holders of where the funds should go. </p><p>It looks like the Trump administration is doing everything it can to dry up the SPLC&#x2019;s funding and prevent them from continuing their work on tracking hate groups and publishing their findings. </p><p>As to why this administration would do such a thing is an exercise left up to the reader.</p>]]></content:encoded></item><item><title><![CDATA[*Big* week]]></title><description><![CDATA[<p>I didn&apos;t intend to spend most of this week like I was doing a personal hackathon, but I&apos;ve been updating a bunch of projects at once and it was a ton of work in a short time, so it&apos;s time to show them off.</p>]]></description><link>https://a.wholelottanothing.org/big-week/</link><guid isPermaLink="false">69ebba0bb34267000180f5f9</guid><category><![CDATA[nwsl]]></category><category><![CDATA[personal]]></category><category><![CDATA[technology]]></category><category><![CDATA[web development]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Fri, 24 Apr 2026 19:22:43 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4889.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4889.JPG" alt="*Big* week"><p>I didn&apos;t intend to spend most of this week like I was doing a personal hackathon, but I&apos;ve been updating a bunch of projects at once and it was a ton of work in a short time, so it&apos;s time to show them off.</p><h2 id="statham-punch-gets-a-refresh">Statham Punch gets a refresh</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-24-at-11.52.57---AM.png" class="kg-image" alt="*Big* week" loading="lazy" width="2000" height="1019" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-24-at-11.52.57---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-24-at-11.52.57---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-24-at-11.52.57---AM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-24-at-11.52.57---AM.png 2376w" sizes="(min-width: 720px) 720px"></figure><p>Years ago, I was joking with a friend in a theater as we sat down to watch a new Expendables movie starring Jason Statham. I said &quot;I wonder how long it&apos;ll take before he punches someone in the face?&quot; and to continue that joke I started the timer on my watch and showed him my wrist. Later, I posted a screenshot of my watch to Twitter with the caption that it only takes 14 minutes to enjoy a punch in that flick, and people seemed to love it, so I kept doing it. Then I took all my tweets over the years and posted them to a single page website.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://time.to.stathampun.ch/?ref=a.wholelottanothing.org"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Time to Statham Punch</div><div class="kg-bookmark-description">How long into each Jason Statham film before he throws his first punch? The definitive TTSP dataset.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://static.ghost.org/v5.0.0/images/link-icon.svg" alt="*Big* week"></div></div><div class="kg-bookmark-thumbnail"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/thumbnail/header-still.jpg" alt="*Big* week" onerror="this.style.display = &apos;none&apos;"></div></a></figure><p>I recently added his latest movies and redesigned so it&apos;s easier to update in the future. </p><h2 id="haugheycom-gets-a-revamp">Haughey.com gets a revamp</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-24-at-11.52.26---AM.png" class="kg-image" alt="*Big* week" loading="lazy" width="2000" height="1253" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-24-at-11.52.26---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-24-at-11.52.26---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-24-at-11.52.26---AM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/Screenshot-2026-04-24-at-11.52.26---AM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>The first .com domain I ever bought was my last name, in 1997. I initially ran a blog there in 1999 but moved my blog here in 2001 to its own home. Ever since, my Haughey.com site has languished as a weird portfolio or resume or wiki and eventually it just became a one page way for anyone looking to contact me.</p><p>I decided to scrap the old one and make it a one-page portfolio that showcases my job experience, writing, and photography. It&apos;s still not the most useful site but it feels like a better representation of me.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.haughey.com/?ref=a.wholelottanothing.org"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Matthew Haughey</div><div class="kg-bookmark-description"></div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://static.ghost.org/v5.0.0/images/link-icon.svg" alt="*Big* week"></div></div><div class="kg-bookmark-thumbnail"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/thumbnail/IMG_2931.JPG" alt="*Big* week" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="our-nwsl-book-is-now-completely-online-and-free-to-read">Our NWSL book is now completely online and free to read</h2><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-24-at-11.54.01---AM.png" width="2000" height="1128" loading="lazy" alt="*Big* week" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-24-at-11.54.01---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-24-at-11.54.01---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-24-at-11.54.01---AM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/Screenshot-2026-04-24-at-11.54.01---AM.png 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-24-at-11.55.07---AM.png" width="2000" height="1227" loading="lazy" alt="*Big* week" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-24-at-11.55.07---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-24-at-11.55.07---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-24-at-11.55.07---AM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/Screenshot-2026-04-24-at-11.55.07---AM.png 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-24-at-11.54.32---AM.png" width="2000" height="1398" loading="lazy" alt="*Big* week" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-24-at-11.54.32---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-24-at-11.54.32---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-24-at-11.54.32---AM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-24-at-11.54.32---AM.png 2366w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>My wife and I have followed women&apos;s pro soccer closely for over a decade and when the league was adding new teams several years ago, I thought about how I&apos;d personally been to almost half the stadiums, and with a few flights I could see the other half and write it all up for anyone else traveling to see pro soccer games in unfamiliar stadiums.</p><p>Over the course of three months of 2024, I visited every stadium in the country and started writing a detailed guide on the best places to sit and best things to eat in every stadium, along with what stadiums do right and what they get wrong. I didn&apos;t finish the project until the end of 2024 when I put it out as an ebook, but I never liked the slowness and lack of control even self-publishing gives you. I always wanted to make it public and web-native, where edits and updates could be instant and regular (and the whole thing could be a living project that lasts for years instead of being frozen in amber on paper).</p><p>So it&apos;s now all online here, and I&apos;ll be updating it throughout the year with two new teams and one new stadium for an older team left to review. I&apos;m in LA this weekend for a game and will revamp the BMO stadium review after my third revisit when I get back.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://unofficialnwsl.stadium.guide/chapters/?ref=a.wholelottanothing.org"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Chapters</div><div class="kg-bookmark-description">A fan&#x2019;s guide to all National Women&#x2019;s Soccer League stadiums &#x2014; written after visiting every one starting in 2024. Find food tips, seating guides, neighborhood picks, and honest takes for every venue.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://static.ghost.org/v5.0.0/images/link-icon.svg" alt="*Big* week"><span class="kg-bookmark-author">Unofficial NWSL Stadium Guide</span><span class="kg-bookmark-publisher">Matthew Haughey</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/thumbnail/nwsl-ebook-cover-2.png" alt="*Big* week" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="more-projects-and-updates">More projects and updates</h2><p>I redesigned this blog and added a bunch of features to the Ghost CMS that I always wanted. I built a personal gym app that tracks my specific workouts and lets me record weights and view those as graphs over time. I&apos;m knee-deep in three different woodworking projects with a couple more on the horizon. It&apos;s also Spring in Oregon and that means I mowed a few acres of lawn, weedwhacked another acre of overgrown grasses, and I&apos;ve rewired an electric mower and had to jump start my tractor, all this week. </p><p>This has been my most productive week in months, so I&apos;ll be taking a long nap today to celebrate.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4939.JPG" class="kg-image" alt="*Big* week" loading="lazy" width="2000" height="2667" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4939.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4939.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4939.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4939.JPG 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Cloudy and Eugene chilling out on the deck</span></figcaption></figure>]]></content:encoded></item><item><title><![CDATA[*Pro-level* travel tips]]></title><description><![CDATA[<p>I love traveling to new places and getting to enjoy new experiences. And as much as I love travel, it can be chaotic.</p><p>A friend once said that if you&#x2019;ve ever tried to meditate and failed to quiet your jumbled mind, you should take a trip instead.&#xA0;</p>]]></description><link>https://a.wholelottanothing.org/pro-level-travel-tips/</link><guid isPermaLink="false">69e7ae0a9eff6b0001a57b16</guid><category><![CDATA[travel]]></category><category><![CDATA[howto]]></category><category><![CDATA[tips]]></category><category><![CDATA[tailscale]]></category><category><![CDATA[AppleTV]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Tue, 21 Apr 2026 19:02:02 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_0464-1-1.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_0464-1-1.JPG" alt="*Pro-level* travel tips"><p>I love traveling to new places and getting to enjoy new experiences. And as much as I love travel, it can be chaotic.</p><p>A friend once said that if you&#x2019;ve ever tried to meditate and failed to quiet your jumbled mind, you should take a trip instead.&#xA0;</p><p>Because when you travel, your entire world distills down to finishing a single task to keep yourself safe and alive, letting everything else fall away (just like meditation!). </p><p>First, you have to find your plane. Then you have to find your luggage. Next, you have to find your hotel. Then&#x2014;surprise!&#x2014;you need to find dinner at 9pm in a city you&#x2019;ve never set foot in. Good luck!</p><p>So here&apos;s a bunch of tips I use to keep the chaos at bay, to feel more at home when I&apos;m traveling, and bring some semblance of control back into my time in new places.</p><h2 id="have-a-dedicated-electronics-travel-bag">Have a dedicated electronics travel bag</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/TB0967-VKPL-CoPilot-SaguaroBallistic-PersimmonCerylon.png" class="kg-image" alt="*Pro-level* travel tips" loading="lazy" width="1200" height="800" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/TB0967-VKPL-CoPilot-SaguaroBallistic-PersimmonCerylon.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/TB0967-VKPL-CoPilot-SaguaroBallistic-PersimmonCerylon.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/TB0967-VKPL-CoPilot-SaguaroBallistic-PersimmonCerylon.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>I put this off for years and it wasn&apos;t until <a href="https://a.wholelottanothing.org/recent-camping-and-travel-reviews/" rel="noreferrer">last summer</a> when I finally bought a dedicated bag to hold all my electronics that is <strong>ONLY</strong> used for travel. I&apos;ve stuck to my promise to never touch anything inside <a href="https://www.tombihn.com/products/co-pilot?variant=45240443207869&amp;ref=a.wholelottanothing.org" rel="noreferrer">my bag</a> when I&apos;m at home, so it&apos;s always fully stocked and ready for a trip. This has been <em>such</em> a game changer. </p><p>Here&apos;s what&apos;s always in the bag:</p><ul><li>A wall charger with 4 high-speed usb-c charge ports</li><li>Two usb-c to usb-c cables</li><li>A couple usb-a to usb-c cables because you never know what a rental car or hotel room might have for extra charge ports</li><li>A usb-c to lightning cable for my headphones</li><li>A usb-c to Apple Watch charger in <a href="https://makerworld.com/en/models/940742-apple-watch-compact-travel-case?ref=a.wholelottanothing.org" rel="noreferrer">a 3D printed case</a> to keep things tidy</li></ul><p>For each trip I add these things from home:</p><ul><li><a href="https://amzn.to/3QiYcoN?ref=a.wholelottanothing.org" rel="noreferrer">A Bivo water bottle</a> that fits in the bottle slot in the bag</li><li>My iPad Pro with Magic keyboard (I only bring a laptop when I must for work, otherwise this is enough)</li><li>AirPod Max headphones for noise canceling on the plane, AirPods 4 headphones for walking around</li></ul><p>I also recently added two new things to the permanently-in-the-bag pile.</p><h2 id="take-an-old-appletv-and-hdmi-cord-with-you">Take an old AppleTV and HDMI cord with you</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-21-at-10.32.21---AM.png" class="kg-image" alt="*Pro-level* travel tips" loading="lazy" width="1946" height="1012" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-21-at-10.32.21---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-21-at-10.32.21---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-21-at-10.32.21---AM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-21-at-10.32.21---AM.png 1946w" sizes="(min-width: 720px) 720px"></figure><p>The AppleTV is my absolute favorite set-top box and I have two of them at home. I tend to upgrade them whenever a new version comes out, so I have a few older AppleTVs laying around and I recently started bringing one with a power cord and a short HDMI cable with me on trips.</p><p>Every hotel I stay in has a modern flat screen TV but it&apos;s rare for them to support any screencasting technology (maybe 1 in 10 hotels have this feature in my experience?). But every hotel TV has a HDMI port and I&apos;ve yet to have any issues plugging in my own AppleTV while using my phone as the remote for controlling it.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-21-at-10.37.11---AM.png" class="kg-image" alt="*Pro-level* travel tips" loading="lazy" width="2000" height="1075" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-21-at-10.37.11---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-21-at-10.37.11---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-21-at-10.37.11---AM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-21-at-10.37.11---AM.png 2110w" sizes="(min-width: 1200px) 1200px"></figure><p>If you use profiles on your AppleTV, you can even make your travel AppleTV mirror exactly the same apps you have at home. This means after a long day, you&apos;ll get a little slice of home wherever you are, and you can keep up with shows before you drift off to sleep. </p><p>But how do you connect it to the hotel&apos;s wifi? </p><h2 id="use-a-travel-router">Use a travel router</h2><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-21-at-10.42.27---AM.png" class="kg-image" alt="*Pro-level* travel tips" loading="lazy" width="1644" height="968" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-21-at-10.42.27---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-21-at-10.42.27---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-21-at-10.42.27---AM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-21-at-10.42.27---AM.png 1644w" sizes="(min-width: 1200px) 1200px"><figcaption><span style="white-space: pre-wrap;">My Beryl travel router plugged into a hotel clock for power</span></figcaption></figure><p>I&apos;ve heard about the benefits of a travel router for years but it wasn&apos;t until last month that I finally picked up <a href="https://amzn.to/4sXPuKk?ref=a.wholelottanothing.org" rel="noreferrer">a Beryl 7 travel router</a> and after a couple trips, I wish I bought it sooner.</p><p>First, they&apos;re great for sharing a connection with all your devices, which means gadgets like an AppleTV or Apple Watch that can&apos;t connect to a hotel&apos;s WiFi now get can get online. It also means you can buy WiFi on a plane for $8 and share it with everyone in your party if you want.</p><p>A travel router has a couple ethernet ports but also a couple wifi points inside it. It&apos;s got flexibility so it can take any outside internet connection and funnel it into its own WiFi point that all your devices connect to normally with a simple password.</p><p>Here&apos;s how it works:</p><ul><li>Plug it into usb-c power and give it a few seconds to boot up</li><li>Connect to the router&apos;s WiFi and pull up its own internal website (the default is at http://192.168.8.1)</li><li>Use the website&apos;s wizard to log into whatever system you&apos;re trying to connect to, including hotels, planes, trains, or cruise ship wifi</li><li>Once you&apos;re logged in, anything connecting to your travel router shares a single outside connection</li></ul><p>You can do more things with a travel router like share files and tunnel all your connections through a VPN but at its core, getting to share one connection with all your devices is really handy.</p><h2 id="install-tailscale-at-home-and-setup-an-exit-node">Install Tailscale at home and setup an exit node</h2><p>I&apos;ve said it many times before but <a href="https://tailscale.com/?ref=a.wholelottanothing.org" rel="noreferrer">Tailscale</a> is the glue that holds my tech stack together, and you can level up your travel experience by installing it at home onto an always-on device like a desktop Mac, Raspberry Pi, or an AppleTV (in my case it&apos;s on a Synology NAS server).</p><p>Next, set up <a href="https://tailscale.com/docs/features/exit-nodes?ref=a.wholelottanothing.org" rel="noreferrer">an Exit Node</a> so you can pipe all your traffic through your house connection, no matter where you are.</p><p>I bring this up because whenever I travel, I like to unwind before bed by watching an hour or so of TV and movies.&#xA0;</p><p>But I remember one trip to Vancouver where I popped open my laptop to finish a show I was watching at home, and instead I got an error that I couldn&apos;t view it because it&#x2019;s wasn&apos;t available on Canadian Netflix. </p><p>The worst experience was when I was flying into SFO and I spent most of the flight watching a Golden State Warriors game using my $17/mo NBA League Pass, but we landed with ten minutes left in the game. I pulled it up on my phone once I got into the terminal but all I saw was a blackout screen blocking playback and I missed the end of the game I&apos;d watched for the past 90 minutes.</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4642.JPG" class="kg-image" alt="*Pro-level* travel tips" loading="lazy" width="2000" height="1208" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4642.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4642.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4642.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4642.JPG 2400w" sizes="(min-width: 720px) 720px"></figure><p>I get that companies have complex broadcast rules governed by your geo-location but I pay streaming services hundreds of dollars a year to use them and last week when I got a cutesy error on the Peacock app while trying to watch a baseball game, I felt like I, as a customer, was being treated like a child. It&apos;s patronizing and annoying as hell.</p><p>The good news is that if you use an app like Tailscale, you can avoid this when you travel, because you&#x2019;ll be able to do <strong><em>everything</em></strong> you can at home, as you&apos;ll actually be sharing your home&apos;s IP address when you connect your phone or AppleTV to your Exit Node. Everything you use will be <strong>exactly</strong> as if you were at home, no matter where you are on earth.</p><p><strong>Bonus tip</strong>: If you run a network-level adblocker at home like <a href="https://pi-hole.net/?ref=a.wholelottanothing.org" rel="noreferrer">Pi-hole</a> or <a href="https://adguard.com/en/welcome.html?ref=a.wholelottanothing.org" rel="noreferrer">Adguard</a>, you can set Tailscale to use that as your DNS server. So that means the setup I have to keep ads off for anyone using my home network works outside of my house too, since my phone is always connected to Tailscale. </p><p>Now, when I read the New York Times (that I also pay for!) on my phone while I&apos;m out and about, all the movie ads and junk in the middle of articles is gone, just like when I&apos;m on home WiFi.</p><h2 id="the-old-internet-classic-use-the-pants-hanger-hack-to-sleep-in">The old internet classic: use the pants hanger hack to sleep in</h2><p>I don&apos;t remember where I first heard about this but it was probably around 2008 or so. You&apos;ve probably have seen this tip, but if it&apos;s new to you, you&apos;re in luck because it&apos;ll change your life while traveling.</p><p>Most hotel chains have blackout curtains but they always seem to not quite meet in the middle correctly. So you get a searing beam of light piercing your eyes at 7am when you really wanted to sleep in and feel well-rested after a long flight. </p><p>The next time you travel, look for a hanger in the hotel closet with spring-loaded clasps for hanging pants, and use those to clamp the blackout curtains tightly together the night you get into your room. Then put the do not disturb sign on your door. </p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_6197.JPG" class="kg-image" alt="*Pro-level* travel tips" loading="lazy" width="2000" height="2667" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_6197.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_6197.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_6197.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_6197.JPG 2400w" sizes="(min-width: 720px) 720px"></figure><p>The next morning, you&apos;ll sleep like a baby.</p><h2 id="two-classic-apps-i-never-travel-without">Two classic apps I never travel without</h2><p>Speaking of internet classics, there are two apps I&apos;ve been using every time I travel, one for over 10 years and the other for 20.</p><p>The oldest one is <a href="https://www.tripit.com/web?ref=a.wholelottanothing.org" rel="noreferrer">TripIt</a>, which I joined when it launched in the 2000s and all it does is check your email for travel-related confirmation emails, then adds them to your calendar along with all the confirmation numbers and addresses and proper flight times. It&apos;s worked flawlessly for years doing that one function very well.</p><p>The other app is <a href="https://www.flightaware.com/?ref=a.wholelottanothing.org" rel="noreferrer">FlightAware</a>. I run the iOS app and any time you fly, you put in your airline and flight number and it&apos;ll show you the flight history over the past few days, how often the plane was late, etc, but there&apos;s a button marked &quot;Where is my plane?&quot; that you can hit on the day of your flight and see in realtime exactly where your plane is located, and quickly determine if your flight will leave on time, or if it&apos;s backed up from three late arrivals earlier today. Honestly, this little app gives me more information than the airline ever would, and I love it to death.</p><h2 id="last-one-every-hotel-has-room-service-thanks-to-food-delivery-apps">Last one: every hotel has room service thanks to food delivery apps</h2><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_2262.JPG" class="kg-image" alt="*Pro-level* travel tips" loading="lazy" width="2000" height="1664" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_2262.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_2262.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_2262.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_2262.JPG 2400w" sizes="(min-width: 1200px) 1200px"></figure><p>I&apos;ve never been a big user of DoorDash, Uber Eats, Toast, or any of the local restaurant delivery apps because most of the time adding delivery doubles the order cost and I can drive myself to pickup my food just as quickly.</p><p>But when I&apos;m in a strange town and I&apos;m exhausted and it&apos;s late and I don&apos;t know anything good to eat at nearby, I pull up a food delivery app, search for something that would hit the spot, and treat myself by getting something delivered. It&apos;s been great on trips, as I often fly to cities and skip renting a car, using public transit or walking as much as possible.</p><p>After a long day on a plane, nothing hits the spot like getting to eat my favorite Indian dish that was brought to my lobby at the same time I was settling in and unpacking my clothes.</p>]]></content:encoded></item><item><title><![CDATA[I designed my own Ghost theme *from scratch* (with help)]]></title><description><![CDATA[<p>It&apos;s been about two years since I exported my blog from a hosted Wordpress install to Ghost Pro and one aspect that never quite sat well with me was the lack of great template designs. Back around 2010, I gave up on creating all my own templates from</p>]]></description><link>https://a.wholelottanothing.org/i-designed-my-own-ghost-theme-from-scratch-with-help/</link><guid isPermaLink="false">69e51426c199ea000102e5bd</guid><category><![CDATA[design]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Sun, 19 Apr 2026 18:40:22 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4911.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4911.JPG" alt="I designed my own Ghost theme *from scratch* (with help)"><p>It&apos;s been about two years since I exported my blog from a hosted Wordpress install to Ghost Pro and one aspect that never quite sat well with me was the lack of great template designs. Back around 2010, I gave up on creating all my own templates from scratch in photoshop and HTML, because back then CSS and mobile-friendly frameworks became so good that you suddenly had dozens of great, flexible designs you could build off of.</p><p>I suspect Ghost&apos;s template language is a little finicky and their build/deploy process is unusual, so it probably keeps most designers away. The default free templates from Ghost are good but it&apos;s pretty hard to locate more indie-developed, blog-focused designs. I&apos;ve searched all over for the past two years and I&apos;ve even paid up to $100 for Ghost templates I liked, but once deployed on my own writing, I&apos;d find bug after bug (most theme designers are good about fixing them) but I&apos;d always want tweaks that usually only suited my needs.</p><h2 id="the-beginnings">The beginnings</h2><p>I started with some mockups around a text-heavy layout that also features my photographs prominently, and it had to use soft colors. I tried a few directions then asked Claude Design to try and come up with some ideas and tweaked on the one I liked the most.</p><p>I started with a homepage design that is just a bunch of featured images and excerpts that link to the blog posts. I added some variety so the homepage isn&apos;t just a giant grid.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-19-at-10.57.36---AM.png" class="kg-image" alt="I designed my own Ghost theme *from scratch* (with help)" loading="lazy" width="1504" height="1634" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-19-at-10.57.36---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-19-at-10.57.36---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-19-at-10.57.36---AM.png 1504w" sizes="(min-width: 1200px) 1200px"></figure><p>Then I focused on the single blog post page. It had to be comfortable to read, so the line length isn&apos;t too wide, but images are displayed widely, as are photo galleries and YouTube video players.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-19-at-10.58.27---AM.png" class="kg-image" alt="I designed my own Ghost theme *from scratch* (with help)" loading="lazy" width="1368" height="1302" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-19-at-10.58.27---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-19-at-10.58.27---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-19-at-10.58.27---AM.png 1368w" sizes="(min-width: 1200px) 1200px"></figure><p>Then the top needed a sticky nav and then a footer that complimented the page. To get into Ghost&apos;s theme system, I had Claude Code convert the mockups into working ghost templates. I spun up a ghost staging server on my home network with my posts restored from backup so I could test out dozens of small tweaks, but after a bunch of iterations when it got to a good place I went ahead and uploaded it to this live site.</p><h2 id="stuff-i-really-like-that-i-couldnt-find-anywhere-else-and-had-to-make">Stuff I really like that I couldn&apos;t find anywhere else and had to make</h2><p>Ghost is a blogging engine, but it&apos;s used for all sorts of sites and for some reason none of the default templates (or even ones you can buy) have a good solution for presenting deep, old archives to the reader. </p><p>I know I&apos;m an outlier because I have almost 3,700 posts while most blogs are set up to show you 20 posts per page with pagination in the footer to let you get to everything. But with thousands of posts I need a date-based, quite compact view for flying through the past in a hurry and I like the one I developed over a bunch of iterations.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-19-at-10.59.46---AM.png" class="kg-image" alt="I designed my own Ghost theme *from scratch* (with help)" loading="lazy" width="1354" height="1354" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-19-at-10.59.46---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-19-at-10.59.46---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-19-at-10.59.46---AM.png 1354w" sizes="(min-width: 1200px) 1200px"></figure><p>It&apos;s a year-by-year, at-a-glance look that is easy to scroll through so you can see multiple years on the same page, currently showing 50 posts at a time. You can also use the search icon in the nav to locate stuff using Ghost&apos;s native search box (which I don&apos;t love and might be my next project)</p><p>The other big feature I always wanted in Ghost but it never had was <strong><em>an edit button for the author when viewing their own entries</em></strong>. </p><p>I get why Ghost never developed this; my blog is located on my custom domain name, but my ghost admin cookies are from another server. But I wanted to find a way to fix this because whenever I review my own blog post after publishing, I <strong><em>always</em></strong> spot at least one small typo.</p><p>Now, the Ghost-approved shortcut is to type <code>/edit</code> on the end of any existing blog URL in your address bar, then Ghost loads your admin UI with that post in it and you can fix any typo. But I always wanted a button on my template that only I could see and now I have that:</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-19-at-10.37.21---AM-2.png" class="kg-image" alt="I designed my own Ghost theme *from scratch* (with help)" loading="lazy" width="2000" height="111" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-19-at-10.37.21---AM-2.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-19-at-10.37.21---AM-2.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-19-at-10.37.21---AM-2.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-19-at-10.37.21---AM-2.png 2096w" sizes="(min-width: 1200px) 1200px"></figure><p>I set a custom admin cookie for myself to toggle the button for just me, so now I get one-click access to fix typos as I spot them. I know I already love this feature because I&apos;ve used it 40 times in the last 24 hours.</p><p>The last tweaks to the template were adding light and dark modes, then more Ghost native features like image light boxes for galleries when you click on images to see them larger, the subtle email subscription option in the corner, and making sure every feature still works on mobile layouts.</p><p>I decided to go with a serif body font for easy readability and a book-like look for the pages, but I wasn&apos;t completely sold on it until I stumbled onto a old post with an ampersand in it. I was immediately hooked, that ampersand <em>is to die for</em>.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-19-at-10.34.25---AM.png" class="kg-image" alt="I designed my own Ghost theme *from scratch* (with help)" loading="lazy" width="2000" height="566" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-19-at-10.34.25---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-19-at-10.34.25---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-19-at-10.34.25---AM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-19-at-10.34.25---AM.png 2182w" sizes="(min-width: 1200px) 1200px"></figure><h2 id="stuff-im-still-tweakingnot-sure-of">Stuff I&apos;m still tweaking/not-sure-of</h2><p>I like the subtle red accents on titles to break up the text, but those require me to put markdown asterisks <em>in my titles</em> and those do appear in RSS feeds. I know you should never tweak content for presentation reasons but honestly I don&apos;t mind it as the emphasis is meant to highlight some aspect of the title.</p><p>I&apos;ve gone back and redone tags and featured images and added accents in titles for the past couple years of blog posts but I eventually need to work through the rest. For years, I ignored tagging my posts and now I wish I stuck with it. I&apos;ll probably have to build a small tool to help speed up the process of doing each entry one by one.</p><p>If you spot anything weird or missing, feel free to reach out to me via email in the nav or reply on mastodon and I&apos;ll do my best to patch things up.</p><h2 id="bottom-line">Bottom line</h2><p>The good news if you&apos;re a Ghost user, Claude is <strong>very good</strong> at understanding the subtleties of Ghost APIs and anything you can mock up as a static image can be turned into a full-on Ghost theme in about a day by it.</p>]]></content:encoded></item><item><title><![CDATA[E-bikes are a *thorny* issue for trails and parks]]></title><description><![CDATA[<p>I ran across this article on the LA Times site about the friction developing around shared trails in the Los Angeles area between e-bikes, bikes, horses, hikers, and dog walkers. It does a good job summing up everyone&apos;s issues but it barely scratches the surface of just how</p>]]></description><link>https://a.wholelottanothing.org/e-bikes-are-a-thorny-issue-for-trails-and-parks/</link><guid isPermaLink="false">69dfbe02c199ea000102deb6</guid><category><![CDATA[cycling]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Thu, 16 Apr 2026 22:57:29 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_2177-1.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_2177-1.JPG" alt="E-bikes are a *thorny* issue for trails and parks"><p>I ran across this article on the LA Times site about the friction developing around shared trails in the Los Angeles area between e-bikes, bikes, horses, hikers, and dog walkers. It does a good job summing up everyone&apos;s issues but it barely scratches the surface of just how complicated trying to regulate e-bikes can be.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.latimes.com/california/story/2026-04-15/e-bikes-are-all-over-mountain-trails-some-want-them-banned?ref=a.wholelottanothing.org"><div class="kg-bookmark-content"><div class="kg-bookmark-title">E-bikes are all over mountain trails. Some want them banned</div><div class="kg-bookmark-description">The intrusion of e-bikes is sparking a fierce backlash from traditional trail users and forcing land managers into a confusing new debate over safety and fairness.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/icon/apple-touch-icon.png" alt="E-bikes are a *thorny* issue for trails and parks"><span class="kg-bookmark-author">Los Angeles Times</span><span class="kg-bookmark-publisher">Jack Dolan</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/thumbnail/75" alt="E-bikes are a *thorny* issue for trails and parks" onerror="this.style.display = &apos;none&apos;"></div></a></figure><p>I want to walk through all the competing viewpoints, hopefully giving everyone some background context on how hard it is to develop future laws around these devices.</p><h2 id="my-bona-fides">My bona fides</h2><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/b23349dd125b31a707232509de86d06549c71ce28a0a53c242386f7f90f2fbab.jpg" class="kg-image" alt="E-bikes are a *thorny* issue for trails and parks" loading="lazy" width="1200" height="800" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/b23349dd125b31a707232509de86d06549c71ce28a0a53c242386f7f90f2fbab.jpg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/b23349dd125b31a707232509de86d06549c71ce28a0a53c242386f7f90f2fbab.jpg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/b23349dd125b31a707232509de86d06549c71ce28a0a53c242386f7f90f2fbab.jpg 1200w" sizes="(min-width: 1200px) 1200px"><figcaption><span style="white-space: pre-wrap;">Me, jumping the finish line in the middle of the pack in a short track MTB race in 2016</span></figcaption></figure><p>I first learned to ride a bike at age 7 and never stopped. It gave me the freedom to go anywhere and see the world, and that&apos;s what I use bikes for. I&apos;ve regularly competed in bike events since I was twelve, all the way up to last weekend when I raced in a 40mi gravel event. If you ask me how many bikes I currently own I know I sound like an asshole when I say &quot;I dunno, somewhere between 8 and 10ish maybe?&quot; I&apos;ve collected loads of bikes and parts over the decades and so that tends to happen.</p><p>I disliked the concept of e-bikes when I first heard about them like every other bike racer. They seem like &quot;cheating&quot; and the idea seemed silly because why would you let a motor do all the fun of actual bike riding? Eventually I learned the origin story and understood it better (more on that in a bit), but I still couldn&apos;t imagine myself owning or even wanting one.</p><p>Then one day back in 2019, I was at my local bike shop getting some parts and saw a big rack of city-focused e-bikes all charged and ready for test rides, so I took one out for a 20 minute spin around town. Long story short, I had a smile on my face bigger than any I could remember since I was seven years old doing it without training wheels for the first time. It was liberating and felt safer now that I could keep up with car traffic, it was endlessly fun to have a motor to back up your movements, and I saw how it could open the possibilities of what you could do on a bike. I was instantly converted and bought my first one for running errands around town.</p><h2 id="my-current-stance-on-e-bikes">My current stance on e-bikes</h2><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_6166.JPG" class="kg-image" alt="E-bikes are a *thorny* issue for trails and parks" loading="lazy" width="2000" height="1500" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_6166.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_6166.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_6166.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_6166.JPG 2400w" sizes="(min-width: 1200px) 1200px"><figcaption><span style="white-space: pre-wrap;">My Trek eMTB (I also own an e-bike for riding in the city by Trek)</span></figcaption></figure><p>Over the years I&apos;ve tried all sorts of e-bikes. The kind of e-bikes I own and enjoy are pedal-assisting Class 1 types (top motor speed: 20mph), which is the most mild of the e-bike varieties. They ride like normal bikes and the motor doesn&apos;t kick until you&apos;re actively pedaling, offering an added push to let you go further and faster. They tend to have about 10 to 20 pounds of additional weight compared to a normal bike.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-16-at-1.45.13---PM.png" class="kg-image" alt="E-bikes are a *thorny* issue for trails and parks" loading="lazy" width="1180" height="984" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-16-at-1.45.13---PM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-16-at-1.45.13---PM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-16-at-1.45.13---PM.png 1180w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">A screenshot from a Minnesota police account trying to educate the public about bikes</span></figcaption></figure><p>Class 1 e-bikes make up about 50% of bike sales in the US and I&apos;m all for more people getting to enjoy them in more places. I&apos;m less of a fan of Class 2 e-bikes, which are those that use a throttle and don&apos;t require pedaling, although they do have a 20mph motor limit. People tend to use Class 2 bikes like mopeds around town. The ones I most dislike the higher powered &quot;e-motos&quot; that come with a throttle and either no pedals or a joke set of sprockets and chains to still be classified loosely as a bike by some regulatory body. They&apos;re backed by much larger motors and batteries and are essentially electric motorcycles but are often sold as e-bikes in the marketplace. These are significantly heavier and much faster, sometimes weighing as much as motorcycles, so the chance for injury or damage from impacts is much higher.</p><h2 id="the-physical-abilities-angle">The physical abilities angle</h2><p>The origin story of e-bikes is worth knowing. I remember when they were first developed in The Netherlands, primarily for a specific population. Amsterdam is famous as a place where you can run many short errands on a bike so much so that it&apos;s often easier than a car to get around. Middle-aged people there often ride 5-20 miles a day while they go to work, run errands, and ride home, but as people age into their 70s, 80s, and beyond, it&apos;s harder to cover that much distance in a day, and that&apos;s where the e-bike concept was born. It makes perfect sense for that specific audience as it lets you ride further while also saving effort.</p><p>I also have a friend that suffered a serious illness a few years ago, requiring an organ transplant, and they were formerly a competitive cyclist. Thanks to e-bikes, today that friend can hang onto group rides with their old bike racing buddies, because of their e-bike&apos;s additional propulsion.</p><p><strong>The bottom line:</strong> An e-bike is revolutionary for anyone that wants to continue riding a bike and covering distances when some other factor is keeping them from doing that. It&apos;s important to know that any kind of a blanket e-bike ban means a small subset of e-bike riders using them as assistive devices will lose their access to the outdoors and exercise.</p><h2 id="the-safety-angle">The safety angle</h2><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/TR0C9311.JPG" class="kg-image" alt="E-bikes are a *thorny* issue for trails and parks" loading="lazy" width="2000" height="1333" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/TR0C9311.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/TR0C9311.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/TR0C9311.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/TR0C9311.JPG 2400w" sizes="(min-width: 1200px) 1200px"><figcaption><span style="white-space: pre-wrap;">Bike race crash I captured at a cyclocross race in 2014</span></figcaption></figure><p>Another obvious issue around e-bikes is that the faster you go on a bike, the more you can get hurt (and hurt others in the process). Bikes handle differently at different speeds and seasoned riders know you put your weight back and slow down any turning when you&apos;re flying downhill at high speed, but e-bikes often end up in the hands of newer riders and casual cyclists who ride less often. They might only be used to riding bikes at 10mph but when their bike can now hit 25mph+, bad things can happen. Helmets are way more important for e-bikes and collisions with walkers and hikers are going to happen when people are moving faster.</p><p>Lately there&apos;s been a rash of stories about tweens and teens getting seriously injured on powerful e-bikes with at least one lawsuit against an e-bike manufacturer brought on by the parents of a child who died in a crash riding one of those e-bikes. To date, most e-bike companies say you should be at least 18 to ride so kids getting hurt isn&apos;t their fault, legally speaking.</p><p><strong>The bottom line:</strong> The safety of riders and people around them is vital to crafting any legislation around e-bikes, but it&apos;s really difficult to set the specifics into law that make sense. I do think high powered &quot;e-moto&quot; types of e-bikes should be kept out of the hands of kids and remain off-road use only. But it&apos;s tough to justify a blanket e-bike ban on safety concerns when a Class 1 e-bike generally gets to the same speeds as a bike without a motor. Lawmakers often end up trying to craft nuanced rules around which e-bikes are ok versus which are not, but the public often views any bike with a motor an e-bike they&apos;d like to see stopped.</p><h2 id="the-legal-angle">The legal angle</h2><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-16-at-10.14.10---AM.png" class="kg-image" alt="E-bikes are a *thorny* issue for trails and parks" loading="lazy" width="1774" height="1224" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-16-at-10.14.10---AM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-16-at-10.14.10---AM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-16-at-10.14.10---AM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-16-at-10.14.10---AM.png 1774w" sizes="(min-width: 1200px) 1200px"><figcaption><span style="white-space: pre-wrap;">I honestly can&apos;t tell you what class a Super73 is by just looking at it</span></figcaption></figure><p>There is lots of confusion around all the varieties of e-bikes and not just in how the general public views e-bikes but even among owners of the bikes themselves. The Class 1, 2, 3, and beyond system I describe isn&apos;t totally clear when you walk up to any random e-bike and look at it, or even if you&apos;re riding one. Different manufacturers build different features into their e-bikes based on what sells and there isn&apos;t a strict process or vetting of which bikes are classified into each class. There isn&apos;t even accurate labeling around it! When I look at any random instagram ad I get for an e-bike, speaking as someone that spent years working at bike shops I can&apos;t tell you which class of e-bike something is unless I look at a detailed spec sheet of what the bike has on it.</p><p><strong>The bottom line:</strong> It&apos;s incredibly difficult to put up rules or signs banning certain types of bikes when even the riders might not even know what they&apos;re riding. It&apos;s also tough to train people to enforce e-bike laws because it&apos;s usually not clear what power levels, top speeds, or features a specific e-bike has, just based on looking at them.</p><h2 id="the-trail-access-angle">The trail access angle</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/D48F1A9E-4EEC-4E0B-B710-5D308E088C74.jpg" class="kg-image" alt="E-bikes are a *thorny* issue for trails and parks" loading="lazy" width="1440" height="1800" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/D48F1A9E-4EEC-4E0B-B710-5D308E088C74.jpg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/D48F1A9E-4EEC-4E0B-B710-5D308E088C74.jpg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/D48F1A9E-4EEC-4E0B-B710-5D308E088C74.jpg 1440w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Quick stop during a group gravel ride in 2022</span></figcaption></figure><p>Access to trails is vital, and finding good places to ride anywhere in the US isn&apos;t easy. My current favorite MTB trails are located two hours away from me and though they&apos;ve been around for about a decade, any changes to state or federal funding could close them up instantly. A couple of years ago they allowed Class 1 e-bikes on those same trails, but any sorts of bans could take those away.</p><p>A typical MTB trail system involves driving to a trailhead parking lot, then riding your bike up a long slow climb to the top, where you&apos;ll find a variety of downhill trails to get back to where you started. Most places I end up climbing for 45 minutes or so, then enjoying a 10-15 minute quick jaunt back down to the bottom. Usually I do another lap or two, until I feel exhausted.</p><p>A Class 1 e-bike makes the long climb up much easier, as you can get to the top of that same trail system in about 15 minutes, then ride down as normal. Instead of being exhausted after a couple laps on a normal mountain bike, an eMTB might let you do 3-4 laps in the same time it&apos;d take you to complete 1 or 2.</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_1371.JPG" class="kg-image" alt="E-bikes are a *thorny* issue for trails and parks" loading="lazy" width="2000" height="1500" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_1371.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_1371.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_1371.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_1371.JPG 2400w" sizes="(min-width: 720px) 720px"></figure><p>A couple years ago, I rode trails in the Gemini Bridges area of Moab, Utah. At each trailhead there were signs that said all not only were all e-bikes were banned on MTB trails in Moab, but you could be fined thousands of dollars, have your bike confiscated, and risk up to 6 months in jail for your first infraction. I thought that was pretty extreme, so I only brought my regular mountain bike on the trip.</p><p>The trails were great fun, but at 6,000&apos; above sea level, after an hour I was close to exhaustion. While I was resting on a ride, I saw an older couple likely in their 70s riding downhill towards me and they looked happy. I noticed their mountain bikes had large downtubes (where batteries are stored on e-bikes) and though they were toying with some pretty steep penalties, those trails were the perfect place and reason to use a mild e-bike on MTB trails.</p><p>A lot of organizations that maintain trails want to keep them safe for hikers, walkers, and horse riders so they don&apos;t get hit, and they want trails to last year after year. A Class 1 eMTB usually only weighs about 10-15lbs more than a regular MTB, and though people on them might do more laps, I would argue the additional impact on trails from eMTBs is minimal.</p><p>But without a blanket ban, you might see more of the e-moto type &quot;bikes&quot; show up and those can be 100-200lb bikes with up to 80 horsepower and larger 3-5&quot; wide tires that can really tear a trail system up because they are basically motorcycles and will have a much larger impact from usage.</p><p><strong>The bottom line:</strong> Trail access is vital to riders but that access has always been tenuous and can go away at any time, so riders tend to defend their trails. Blanket bans on e-bikes can certainly curtail impacts and dangers of all the various kinds of e-bikes, but my hope is any trail access includes Class 1 e-bikes as they&apos;re closer to regular bikes than anything else in the mix of what is generally considered &quot;an e-bike&quot;. It&apos;s a little nuanced, but I really do hope all MTB trails eventually allow Class 1 e-bikes for all the previously mentioned reasons, while trying to keep the faster/larger bikes/e-motos out.</p><h2 id="whats-the-ultimate-solution">What&apos;s the ultimate solution?</h2><p>Unfortunately there&apos;s no easy way out of this, as here are the competing problems:</p><ul><li>The bike industry is largely unregulated and there&apos;s not much oversight or standardization across e-bikes. Even if we wanted consistent labeling on e-bikes, it would be a difficult thing to implement. Any mix of features can end up on any kind of e-bike as there are almost no requirements around most e-bikes.</li><li>People in charge of trails are getting complaints about riders (likely on e-motos) and they can do much more damage to trails that require increased maintenance costs to the trail owners. They&apos;re also potentially reaching dangerous speeds and endangering others and that is worth talking about, but a blanket ban, while easier to enforce, goes too far.</li><li>There&apos;s a rash of teens and kids getting seriously hurt on high powered, high speed &quot;e-bikes.&quot; I see people riding them on streets like real motorcycles but an e-bike has no special licensing process, whereas getting a motorcycle license in Oregon is an expensive, month-long process with hours of classroom training and parking lot testing. There&apos;s a lot of lawmaking that would be required to get e-moto &quot;bikes&quot; treated more like motorcycles,</li><li>Implementing a blanket e-bike ban for anything with two wheels and a motor makes enforcement easier, since you don&apos;t have to figure out which class an e-bike is part of. Laws that carve out access for Class 1 bikes will need to be nuanced and training will be required for those enforcing any rules.</li><li>Any ban on e-bikes in outdoor spaces is going to restrict people using them for assistive purposes, which likely isn&apos;t the goal of any e-bike laws and will be an unfortunate side effect.</li></ul><p>Honestly this is a complicated issue on several fronts, but I do believe Class 1 e-bikes to be the safest and most mild variety of motor assist, and should be able to go wherever most bikes can go. But I also see why bikes with a throttle stop being quite like a regular bike and more like something else while larger e-motos shouldn&apos;t be considered e-bikes and instead classified as motorcycles.</p><p>Hopefully this clears up why it&apos;s so hard to make rules around e-bikes, and why some cities are implementing new laws, trying things out to curtail the bad effects of e-bikes while still allowing for some e-bikes.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_9672.JPG" class="kg-image" alt="E-bikes are a *thorny* issue for trails and parks" loading="lazy" width="2000" height="1500" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_9672.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_9672.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_9672.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_9672.JPG 2400w" sizes="(min-width: 1200px) 1200px"><figcaption><span style="white-space: pre-wrap;">Riding my old fat bike in Sunriver, Oregon back in 2016</span></figcaption></figure>]]></content:encoded></item><item><title><![CDATA[How to *vibe code* your own custom home dashboard]]></title><description><![CDATA[<p>The other day I was doing maintenance on the Synology file server in my house, and whenever I ran into a problem, I&apos;d ask Claude.ai how to fix things. Then I asked it to help me secure it and how to automate keeping all the services up</p>]]></description><link>https://a.wholelottanothing.org/how-to-vibe-code-your-own-custom-home-dashboard/</link><guid isPermaLink="false">69d81948eec29700010ee922</guid><category><![CDATA[hacks]]></category><category><![CDATA[vibe coding]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Fri, 10 Apr 2026 05:37:59 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4843.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4843.JPG" alt="How to *vibe code* your own custom home dashboard"><p>The other day I was doing maintenance on the Synology file server in my house, and whenever I ran into a problem, I&apos;d ask Claude.ai how to fix things. Then I asked it to help me secure it and how to automate keeping all the services up to date.</p><p>When I was done, I wondered if Claude could help me build the ultimate home dashboard I&apos;ve always wanted. Most services I use have some sort of dashboard, and even though the big ones from Apple Home and Home Assistant offer loads of custom options, nothing quite hits all the vital info I want about the status of everything going on inside my house.</p><p>So I started building one. </p><p>Claude knows I run a couple different Synology servers, and it also knows I run a dozen different services on those boxes. It knows I have solar panels on the roof, a few security cameras, and everything is tied together with Tailscale. Most things I use have an API of some sort and Claude is great at creating small widgets that can ping APIs, grab info, and display it however you need.</p><p>I started by asking Claude to create a very basic homelab homepage for my house, then I started adding one feature at a time to get information displayed exactly how I wanted on my home&apos;s new dashboard. What&apos;s funny is every stage of this project usually required an update or installation of new tools and services on my Synology server, but Claude would send the commands to spin up another Docker container running a small instance of something and I&apos;d plug it in and it&apos;d always work. </p><h2 id="what-it-looks-like-in-action">What it looks like in action</h2><p>After a couple hours of refining ideas and living with it for a week, I got to something I like that gives me a ton of vital things I can think of on a single page. Then I styled the CSS to kinda resemble <a href="https://www.webdesignmuseum.org/gallery/kaliber10000-2003?ref=a.wholelottanothing.org" rel="noreferrer">the old k10k design site</a> aesthetic.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-09-at-3.07.35---PM.png" class="kg-image" alt="How to *vibe code* your own custom home dashboard" loading="lazy" width="1368" height="2154" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-09-at-3.07.35---PM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-09-at-3.07.35---PM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-09-at-3.07.35---PM.png 1368w" sizes="(min-width: 1200px) 1200px"></figure><p>From the top down, it&apos;s a report of my current uptime status of every computer I have connected to Tailscale, recent downloads to my Plex server (so I don&apos;t have to turn on a TV and navigate to the app to see if there&apos;s anything new to watch), the current energy production I&apos;m getting from my rooftop solar versus the current energy draw, a weather forecast, some security camera live feeds from around the house that stream inside the browser, and finally shortcuts to all the services I commonly use along the storage capacity of the server.</p><p>Thanks to Tailscale&apos;s magic DNS, my home dashboard comes up when I type <strong>http://plexology/</strong> into any browser (it&apos;s the name of my main Synology box running the dashboard&apos;s HTML files in Synology&apos;s web station app).</p><p>The best part is I can add any feature I can think of in just minutes. Today I wanted to know what the disk space situation was on my file server, so I asked Claude, then pasted the newly minted code into the existing page, and now it&apos;s on my dashboard. </p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-09-at-2.54.53---PM.png" class="kg-image" alt="How to *vibe code* your own custom home dashboard" loading="lazy" width="1778" height="1494" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-09-at-2.54.53---PM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-09-at-2.54.53---PM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-09-at-2.54.53---PM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-09-at-2.54.53---PM.png 1778w" sizes="(min-width: 1200px) 1200px"></figure><p>I just asked Claude if I can display my 3D printer&apos;s current status on the page so that I instantly know if it&apos;s free to let me send a new model to print. Claude&apos;s response is that I can query the printer over the network and display the results using a Home Assistant plugin, so my next project will be setting all that up. Anything I can think about wanting to see, I can add it to the page using code from Claude, and so far it&apos;s worked great.</p><p>I&apos;m sure a year from now the page will look something like this:</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/hq720-2.jpg" class="kg-image" alt="How to *vibe code* your own custom home dashboard" loading="lazy" width="686" height="386" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/hq720-2.jpg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/hq720-2.jpg 686w"></figure><h2 id="how-to-build-this-for-your-own-home">How to build this for your own home</h2><p>I could publish the code for my home server on my GitHub account but it&apos;s totally customized to just the things I run locally. However, it&apos;s easy enough for anyone to replicate this for their own smart home. </p><p>You can start by asking Claude to whip up a basic &quot;homelab dashboard&quot; for your house. Then list each service you run in your home that you&apos;d like to track. Claude can walk you through all the <a href="https://en.wiktionary.org/wiki/yak_shaving?ref=a.wholelottanothing.org" rel="noreferrer">yak-shaving</a> steps necessary to query various APIs that can grab your information that&apos;s then displayed on your dashboard.</p><p>If you put all this on a server you run Tailscale on, you don&apos;t need to expose it to the world through firewalls or port forwarding, as only you or people on your tailnet can access the internal Tailscale names and IP addresses, instantly blocking out the rest of the world.</p><p>Honestly, I really love how this little project turned out. It started with about 10-15 minutes of tinkering and eventually grew into everything what I&apos;ve always wanted to monitor in various systems running in my house. </p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4646.JPG" class="kg-image" alt="How to *vibe code* your own custom home dashboard" loading="lazy" width="2000" height="2667" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4646.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4646.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4646.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4646.JPG 2400w" sizes="(min-width: 720px) 720px"></figure><p>The other day I finally mastered how to make a mushroom, zucchini, potato, and feta frittata like the ones I used to eat as a kid since my mom&apos;s family always brought frittatas to family events. After making it, I thought about how I need to add the recipe to my <a href="https://mealie.io/?ref=a.wholelottanothing.org" rel="noreferrer">Mealie</a> app that&apos;s also running on my home network on the Synology box. Then I realized I could eventually add a new widget on my dashboard: a random daily recipe could pop up from my internal Mealie database I&apos;m slowly adding all my favorite recipes to.</p><p>The possibilities are endless, and thanks to Claude, it&apos;s easy enough for anyone to build.</p>]]></content:encoded></item><item><title><![CDATA[My *annual visit* to the tulip fields]]></title><description><![CDATA[<p>Every Spring I watch the local weather for weeks, waiting until <a href="https://www.woodenshoe.com/?ref=a.wholelottanothing.org" rel="noreferrer">the Woodburn Tulip Farm</a> is nearing peak bloom that also happens to fall on a sunny day (it&apos;s normally a rainy season). This isn&apos;t my first rodeo, and here are my photos from previous visits</p>]]></description><link>https://a.wholelottanothing.org/my-annual-visit-to-the-tulip-fields/</link><guid isPermaLink="false">69d8135aeec29700010ee7ce</guid><category><![CDATA[photos]]></category><category><![CDATA[tulips]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Thu, 09 Apr 2026 21:09:29 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4680.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4680.JPG" alt="My *annual visit* to the tulip fields"><p>Every Spring I watch the local weather for weeks, waiting until <a href="https://www.woodenshoe.com/?ref=a.wholelottanothing.org" rel="noreferrer">the Woodburn Tulip Farm</a> is nearing peak bloom that also happens to fall on a sunny day (it&apos;s normally a rainy season). This isn&apos;t my first rodeo, and here are my photos from previous visits in <a href="https://a.wholelottanothing.org/2025-woodburn-tulip-farm-visit/" rel="noreferrer">2025</a>, <a href="https://a.wholelottanothing.org/the-annual-visit-to-the-woodburn-tulip-farm/" rel="noreferrer">2024</a>, <a href="https://a.wholelottanothing.org/woodburn-oregon-tulip-festival-2019/" rel="noreferrer">2019</a>, &amp; <a href="https://a.wholelottanothing.org/things-are-good/" rel="noreferrer">2010</a>. </p><p>This year we had a mild winter and the blooms were a tad ahead of schedule and so far there&apos;s been over a week of solid sunny skies amidst the full tulip blooms.</p><p>Here are my favorites from my recent visit to the Woodburn farm.</p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4660.JPG" width="2000" height="2667" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4660.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4660.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4660.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4660.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4674.JPG" width="2000" height="2667" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4674.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4674.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4674.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4674.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4679.JPG" width="2000" height="1500" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4679.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4679.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4679.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4679.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4685.JPG" width="2000" height="2667" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4685.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4685.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4685.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4685.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4694.JPG" width="2000" height="1500" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4694.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4694.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4694.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4694.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4695.JPG" width="2000" height="1500" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4695.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4695.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4695.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4695.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4700.JPG" width="2000" height="1500" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4700.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4700.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4700.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4700.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4707.JPG" width="2000" height="1500" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4707.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4707.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4707.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4707.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4741.JPG" width="2000" height="2667" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4741.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4741.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4741.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4741.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4796.JPG" width="2000" height="2667" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4796.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4796.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4796.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4796.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4817.JPG" width="2000" height="1500" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4817.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4817.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4817.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4817.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4829.JPG" width="2000" height="1833" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4829.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4829.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4829.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4829.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4833.JPG" width="2000" height="1500" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4833.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4833.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4833.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4833.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4835.JPG" width="2000" height="1500" loading="lazy" alt="My *annual visit* to the tulip fields" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4835.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4835.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4835.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4835.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure>]]></content:encoded></item><item><title><![CDATA[Updating my *5 acre wifi network*]]></title><description><![CDATA[<p>Back in 2019, <a href="https://a.wholelottanothing.org/how-to-build-a-5-acre-wifi-network-cheap-reliable-long-range-wireless-points-make-amazing-things-possible/" rel="noreferrer">I wrote a post</a> about how I set up a point-to-multi-point (PtMP) network to give every outbuilding around my house an internet connection. Each building also has wifi for when you are near them and everything is on the same local network so I can control lights,</p>]]></description><link>https://a.wholelottanothing.org/updating-my-5-acre-wifi-network/</link><guid isPermaLink="false">69cedb69ffb9340001fe6c3b</guid><category><![CDATA[home]]></category><category><![CDATA[home automation]]></category><category><![CDATA[home tips]]></category><category><![CDATA[hacks]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Fri, 03 Apr 2026 00:06:26 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4601.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4601.JPG" alt="Updating my *5 acre wifi network*"><p>Back in 2019, <a href="https://a.wholelottanothing.org/how-to-build-a-5-acre-wifi-network-cheap-reliable-long-range-wireless-points-make-amazing-things-possible/" rel="noreferrer">I wrote a post</a> about how I set up a point-to-multi-point (PtMP) network to give every outbuilding around my house an internet connection. Each building also has wifi for when you are near them and everything is on the same local network so I can control lights, plugs, wall switches, and garage doors in each outbuilding.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://a.wholelottanothing.org/how-to-build-a-5-acre-wifi-network-cheap-reliable-long-range-wireless-points-make-amazing-things-possible/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How to build a 5-acre WiFi network: cheap, reliable, long-range wireless points make anything possible</div><div class="kg-bookmark-description">Last year I moved to a house with some property, and it had a separate garage a hundred feet or so away from the main house. At first, I tried Netgear Orbi mesh networking points to connect them but I couldn&#x2019;t reliably get one wireless point in my house&#x2019;s window</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/icon/favicon-5.ico" alt="Updating my *5 acre wifi network*"><span class="kg-bookmark-author">A Whole Lotta Nothing</span><span class="kg-bookmark-publisher">mathowie</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/thumbnail/photo-1520869562399-e772f042f422" alt="Updating my *5 acre wifi network*" onerror="this.style.display = &apos;none&apos;"></div></a></figure><p>It worked great at first and felt like magic. It was a long process to get everything set up (I had to hire someone to help) as each device had to be carefully configured, the antennas aimed, and traffic shaped through it.</p><p>I put it together back in 2019, but a lot of the technology was already outdated then. The main house antenna only supported a 100Mbps connection over 2.4Ghz, so each building could only transfer data at around 40-80Mbps. When I first set it up, I had a 25Mbps DSL internet connection so the network wasn&apos;t a bottleneck, but now that I have 600Mbps fiber I figured it was time to make everything work better.</p><h2 id="goals-for-a-2026-update">Goals for a 2026 update</h2><p>I wanted to modernize my network and I had a few features in mind:</p><ul><li>The main house antenna must operate at 1Gbps throughput</li><li>Hopefully increase each outbuilding&apos;s wifi connection from a typical 40-60Mbps to 100+Mbps</li><li>Make software updates on the devices easier, and track performance</li></ul><h2 id="lets-search-for-unifi-gear">Let&apos;s search for UniFi gear</h2><p>My easiest path was to keep everything as-is, but upgrade the main house antenna to a slightly newer model that supported a 1Gbps connection in the 2.4Ghz wireless space. I went with 2.4Ghz back in 2019 because I was worried about wireless connections shooting through the many trees around my house, and 5Ghz connections don&apos;t work as well with obstructions.</p><p>I had a hard time finding anything that met my criteria and the one I wanted most was on extended backorder (or if reddit commenters are to be believed, it was canceled completely). <a href="https://store.ui.com/us/en/category/all-wireless?ref=a.wholelottanothing.org" rel="noreferrer">UniFi&apos;s entire wireless catalog</a> is pretty baffling as they list 73(!!!) different antennas, dishes, and points to connect buildings to one another over wireless. It&apos;s why I initially hired a network engineer to help me plan it all out that first time.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-02-at-3.31.46---PM.png" class="kg-image" alt="Updating my *5 acre wifi network*" loading="lazy" width="2000" height="1348" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-02-at-3.31.46---PM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-02-at-3.31.46---PM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-02-at-3.31.46---PM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/Screenshot-2026-04-02-at-3.31.46---PM.png 2400w" sizes="(min-width: 1200px) 1200px"><figcaption><span style="white-space: pre-wrap;">UniFi&apos;s store for Wireless ISPs has way, way too many options</span></figcaption></figure><p>Thankfully, UniFi has wised up and they moved most of those devices to a page dedicated to professionals working for ISPs. Now, if you go to <a href="https://store.ui.com/us/en?ref=a.wholelottanothing.org" rel="noreferrer">store.ui.com</a> and look at bridging options for connections between buildings, they show just seven products to cover almost any home or small business need to connect networks between buildings wirelessly.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-02-at-3.30.33---PM.png" class="kg-image" alt="Updating my *5 acre wifi network*" loading="lazy" width="2000" height="1284" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-02-at-3.30.33---PM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-02-at-3.30.33---PM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-02-at-3.30.33---PM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/Screenshot-2026-04-02-at-3.30.33---PM.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><h2 id="what-you-get-in-new-equipment-vs-the-old">What you get in new equipment vs. the old</h2><p>Before I took the plunge on new gear, I watched countless videos from IT nerds explaining the new features in the Device Bridge Pro line like the one below.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/7QS4zymmUro?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Unifi Device Bridge Pro Review &amp; Setup &#x2013; Easy 5km Wireless Link for Cameras &amp; Access Points!"></iframe></figure><p>The AirMax wireless points I used to use required apps separate from UniFi&apos;s OS you use to control your home network (they&apos;re both made by the same company, so it was always strange). You would connect to each building&apos;s wireless point via its local IP address and you&apos;d get a network analyzer in the browser you could tweak. If you misconfigured anything, it would fall off the network and be unreachable, requiring a physical reset (up a ladder, pushing a reset button). It took about an hour to configure each point to have a static IP and you&apos;d have to do it on a test switch on your network before deploying it outside</p><p>The new wireless gear finally integrates into the existing UniFi OS. I can now see all my wireless building points right next to the wifi points within each building, along with the network switches that control each of them, all in one screen.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-02-at-3.38.43---PM.png" class="kg-image" alt="Updating my *5 acre wifi network*" loading="lazy" width="2000" height="1007" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-02-at-3.38.43---PM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-02-at-3.38.43---PM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-02-at-3.38.43---PM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/Screenshot-2026-04-02-at-3.38.43---PM.png 2400w" sizes="(min-width: 1200px) 1200px"><figcaption><span style="white-space: pre-wrap;">Devices attached to my main Dream Machine Pro. The House UDB Pro Sector and outbuilding UDB Pros can be seen in the list</span></figcaption></figure><p>I ended up buying a Device Bridge Pro Sector for the main house antenna, and four Device Bridge Pros for the outbuildings that got pointed at the main Sector. Since each item was $199, the total was right around $1,000. </p><h2 id="setup-and-deployment-of-new-gear">Setup and deployment of new gear</h2><p>Swapping points was simple since the hardest part of running ethernet wires through a house and putting up pole mounts on buildings was done 7 years ago. The main house antenna took only 15 minutes, as I just needed a ladder to get on the roof, a quick disconnect of the old antenna, then bolting the new one onto the existing pole and plugging in the same PoE cable. (bonus: the old wireless point became a wasp nest at some point, thank god it was winter time and wasp-free)</p><p>At each outbuilding, I climbed a ladder, disconnected the old wireless point, plugged a new Device Bridge Pro into the existing ethernet line, then aimed it at the house and tightened the mount. It was 5-10 minutes per building.</p><p>The magic of these new Device Bridge devices is that they ship from the factory pre-configured. You don&apos;t have to do all the crazy configuration by hand the old devices required. If you plug ethernet that has a live internet connection into one of the new units, it will broadcast that connection to other devices that can mesh and connect with it to share that connection over the air. When you plug in one of them without a connection, it searches out other wireless points, forms a mesh network automatically, and shares the connection.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4603.JPG" class="kg-image" alt="Updating my *5 acre wifi network*" loading="lazy" width="2000" height="2667" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4603.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4603.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4603.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4603.JPG 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The main house connection: a Device Bridge Pro Sector</span></figcaption></figure><p>The Device Bridge Pro Sector attached to my house was the only one with an internet connection, and it came online quickly after I adopted it in the UniFi Console. Then each building came online, updated their firmware, and connected.</p><p>The Sector supports a 90&#xBA; spread (my old wireless antenna was 360&#xBA;, or omnidirectional) so it is aimed down towards the center of my property. I was concerned about aiming each device successfully, but so far it hasn&apos;t been much of an issue, even for one building well outside of the 90&#xBA; view. The jump to a 5Ghz system hasn&apos;t affected the connections and it all works fine even though 7 years ago, I found 5Ghz connections didn&apos;t do well in trees.</p><p>Here are the four Device Bridge Pros mounted on each building, top left is our unattached garage, then the corner of our chicken coop, the top of our barn&apos;s cupola, and then the back corner of an art shed. </p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4604.JPG" width="2000" height="2667" loading="lazy" alt="Updating my *5 acre wifi network*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4604.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4604.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4604.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4604.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4609.JPG" width="2000" height="2667" loading="lazy" alt="Updating my *5 acre wifi network*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4609.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4609.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4609.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4609.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4600.JPG" width="2000" height="2667" loading="lazy" alt="Updating my *5 acre wifi network*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4600.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4600.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4600.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4600.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4599.JPG" width="2000" height="2667" loading="lazy" alt="Updating my *5 acre wifi network*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4599.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4599.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4599.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4599.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>Here&apos;s how the network looks in my UniFi console.</p><figure class="kg-card kg-image-card kg-width-full"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-02-at-3.36.52---PM.png" class="kg-image" alt="Updating my *5 acre wifi network*" loading="lazy" width="2000" height="608" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-02-at-3.36.52---PM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/Screenshot-2026-04-02-at-3.36.52---PM.png 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/Screenshot-2026-04-02-at-3.36.52---PM.png 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/Screenshot-2026-04-02-at-3.36.52---PM.png 2400w"></figure><p>Each building has a network switch that supports PoE, along with a WiFi point and a few UniFi cameras that work over PoE to monitor people coming and going and where the chickens are and what they&apos;re up to.</p><h2 id="performance-aspects-of-the-new-devices">Performance aspects of the new devices</h2><p>I will say the new devices have positives and negatives over the old ones. It&apos;s great they show up in my main UniFi console, but they offer only limited monitoring if you want to optimize them. Here&apos;s the details on the Device Bridge Sector that is attached to my house, showing each of the outbuilding connections.</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-02-at-3.08.54---PM.png" class="kg-image" alt="Updating my *5 acre wifi network*" loading="lazy" width="748" height="1152" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-02-at-3.08.54---PM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-02-at-3.08.54---PM.png 748w" sizes="(min-width: 720px) 720px"></figure><p>Gone are the days of the AirMax browser tools (which could be a pain as I said before), but offered much deeper graphs and logs of how strong your connection is that helped with real-time aiming of the devices. With the new stuff, you just get on a ladder and tweak your dish aim, then pull up the console to check the Link Quality. Also? They don&apos;t expose this data on their mobile app or mobile website, you have to view it from a desktop to see link quality. </p><p>I assume they&apos;ll improve the tools to help with aiming and tweaking wireless mounts on buildings, it&apos;s probably because these units have only been out for about a year and the transition to the new software is recent.</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-02-at-3.09.03---PM.png" class="kg-image" alt="Updating my *5 acre wifi network*" loading="lazy" width="728" height="368" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/Screenshot-2026-04-02-at-3.09.03---PM.png 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/Screenshot-2026-04-02-at-3.09.03---PM.png 728w" sizes="(min-width: 720px) 720px"></figure><p>My garage is only about 100 feet from my house with zero obstructions. The Chicken Coop is a couple hundred feet further, but has a few branches in the way. The Barn roof has to shoot through an entire forest, and I&apos;m surprised it works as well as it does. The Art Shed is on the other side of our house, well outside of the main 90&#xBA; &quot;window&quot; that the Sector can see, and surrounded by trees. I am impressed that it even connects, and it works fine.</p><p>Here are the network speeds I get from different locations using iPerf3 talking to my main desktop Mac. The top left is inside my home office, so it represents optimal WiFi speed on the network. The 161Mbps result is from the garage with zero obstructions, the 88Mbps is the chicken coop, the barn gets 120Mbps, and the art shed in the forest gets 43Mbps.</p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4595.jpeg" width="1320" height="798" loading="lazy" alt="Updating my *5 acre wifi network*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4595.jpeg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4595.jpeg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4595.jpeg 1320w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4596.jpeg" width="1320" height="781" loading="lazy" alt="Updating my *5 acre wifi network*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4596.jpeg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4596.jpeg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4596.jpeg 1320w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4597.jpeg" width="1320" height="792" loading="lazy" alt="Updating my *5 acre wifi network*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4597.jpeg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4597.jpeg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4597.jpeg 1320w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4602.jpeg" width="1320" height="792" loading="lazy" alt="Updating my *5 acre wifi network*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4602.jpeg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4602.jpeg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4602.jpeg 1320w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4598.jpeg" width="1320" height="756" loading="lazy" alt="Updating my *5 acre wifi network*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4598.jpeg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4598.jpeg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4598.jpeg 1320w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>Each outbuilding (aside from the art shed) has at least one 4K UniFi camera attached to it, which uses up some of the bandwidth (the coop has three cameras, which might explain the lower test speeds), but overall I&apos;m impressed with how well it all works. Gone are the days of 40-50Mbps max at each spot, as now I can reach devices and transmit 4K video to my NVR console with no trouble from any building. WiFi connections at each building are noticeably faster too. The local LLM server and Mac mini running in the Barn feel way faster now.</p><h2 id="conclusion">Conclusion</h2><p>UniFi&apos;s new Device Bridge gear is dead simple to use and if you have a backyard deck, or a pool house, or a home office set up in an outbuilding shed that suffers from spotty wifi too far from your house, buy a couple Device Bridge Pros and plug them in to transmit internet across any distance. You will need to have a switch and a wifi point at the remote end, but all in you can set this up in an afternoon for around $500.</p><p>Post-upgrade, everything on my home network feels totally dialed. My AppleTV displays video when someone walks onto my driveway or hits our doorbell, and the video is smoother and comes up faster than it used to. Transferring files between servers is quicker, all my HomeKit connections to light switches and plugs in other buildings are more reliable, and the setup couldn&apos;t have been easier. It was a night-and-day better experience than setting the complex old UniFi gear with static IPs and complex configurations.</p><p>I can&apos;t recommend UniFi&apos;s new Device Bridge hardware enough, it lets you span distances from hundreds of feet to a few miles and in my case, seems to work great even through a thick forest.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/04/IMG_4593.JPG" class="kg-image" alt="Updating my *5 acre wifi network*" loading="lazy" width="2000" height="1500" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/04/IMG_4593.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/04/IMG_4593.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/04/IMG_4593.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/04/IMG_4593.JPG 2400w"><figcaption><span style="white-space: pre-wrap;">Flying home last night, the moon looked bright and gigantic over central California, but mobile phone photos of the moon will always remain underwhelming</span></figcaption></figure>]]></content:encoded></item><item><title><![CDATA[Woodworking *updates*]]></title><description><![CDATA[<p>For the past few months I&apos;ve been doing a bunch of woodworking, and I wanted to post-slash-brag about my recently completed projects.</p><h2 id="a-bathtub-shelf">A bathtub shelf</h2><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_3918.JPG" width="2000" height="1818" loading="lazy" alt srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_3918.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_3918.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_3918.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_3918.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4437.JPG" width="2000" height="1500" loading="lazy" alt srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4437.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4437.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4437.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4437.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>My first real project outside of my beginner woodworking class was <a href="https://www.youtube.com/watch?v=Myxm3yjW-7w&amp;ref=a.wholelottanothing.org" rel="noreferrer">following this video</a> to make a custom shelf for our bathtub. My</p>]]></description><link>https://a.wholelottanothing.org/woodworking-updates/</link><guid isPermaLink="false">69c9c3ca5d7e410001a25a96</guid><category><![CDATA[woodworking]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Mon, 30 Mar 2026 01:48:54 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4413.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4413.JPG" alt="Woodworking *updates*"><p>For the past few months I&apos;ve been doing a bunch of woodworking, and I wanted to post-slash-brag about my recently completed projects.</p><h2 id="a-bathtub-shelf">A bathtub shelf</h2><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_3918.JPG" width="2000" height="1818" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_3918.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_3918.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_3918.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_3918.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4437.JPG" width="2000" height="1500" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4437.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4437.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4437.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4437.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>My first real project outside of my beginner woodworking class was <a href="https://www.youtube.com/watch?v=Myxm3yjW-7w&amp;ref=a.wholelottanothing.org" rel="noreferrer">following this video</a> to make a custom shelf for our bathtub. My wife likes to read in the bath and I wanted to learn how to do mitered, waterfall corners and joinery with dowels. It&apos;s sapele wood (often called African Mahogany) and the grain runs continuously from one end to the other, all connected at every 45&#xBA; joint which took a surprising amount of practice and patience to get all correct. Angles are hard!<br><br>After using a roundover router bit to soften all the edges and lots of sanding, I gave it a quick coat of polyurethane and added a MagSafe stand to hold her phone and I like how it turned out, as it matches the existing cabinets in our bathroom. </p><h2 id="cutting-boards">Cutting boards</h2><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4412.JPG" width="2000" height="1500" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4412.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4412.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4412.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4412.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4415.JPG" width="2000" height="1195" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4415.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4415.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4415.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4415.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>Once I started working with hardwoods, I quickly learned making cutting boards is a great way to use all the off-cuts from other projects. My first cutting board was a walnut and cherry combo that I decided to cut up again as an end-grain board and it turned out well. We use it daily in our kitchen.</p><p>I started another board using more exotic woods including walnut, hard maple, purple heartwood, and bloodwood, and I liked how it looked as an edge-grain board, but cut it up to become another end-grain board. I also put a 45&#xBA; chamfer on the bottom before attaching some feet.</p><p>Now that I&apos;ve got these under my belt, I&apos;ll probably just stick to edge-grain boards from now on, since those can go through the planer easily, cutting down on all the sanding work that end-grain boards require.</p><h2 id="a-chess-board">A chess board</h2><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4423.JPG" width="2000" height="2667" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4423.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4423.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4423.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4423.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4432.JPG" width="2000" height="2667" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4432.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4432.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4432.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4432.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4435.JPG" width="2000" height="2667" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4435.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4435.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4435.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4435.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>The next kind of project I was surprised to learn wasn&apos;t too difficult was making a chess board. I milled down some 3/4&quot; thick walnut and maple boards and cut them into 2&quot; strips, glued them into a big striped board, then crosscut that board into 2&quot; strips, flipping the pattern to re-glue into a checkerboard. I glued up some maple and walnut borders and cut them with miters, then glued it all together, and used spray adhesive to attach cotton batting and brown felt to the bottom. The whole thing was finished in some <a href="https://amzn.to/4dNEYB9?ref=a.wholelottanothing.org" rel="noreferrer">Osmo PolyX clear</a>. The last step was to get <a href="https://amzn.to/4ditPYX?ref=a.wholelottanothing.org" rel="noreferrer">large chess pieces from Amazon</a> and I even got to play my first game on it today (which I lost).</p><h2 id="a-coffee-table">A coffee table</h2><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4261-1.JPG" width="2000" height="1455" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4261-1.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4261-1.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4261-1.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4261-1.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4266.JPG" width="2000" height="2559" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4266.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4266.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4266.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4266.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4187.JPG" width="2000" height="2667" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4187.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4187.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4187.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4187.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4130.JPG" width="2000" height="1500" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4130.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4130.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4130.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4130.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4133.JPG" width="2000" height="2667" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4133.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4133.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4133.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4133.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4135.JPG" width="2000" height="2667" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4135.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4135.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4135.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4135.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>My most ambitious project was <a href="https://www.foureyesfurniture.com/?ref=a.wholelottanothing.org" rel="noreferrer">the Spider Coffee Table from Foureyes Furniture</a>. They sell detailed plans along with a comprehensive video series for each design and I really enjoyed this build. It took me about a month, and I had to redo a few things to really get everything right. Foureyes charges around $100 for their online courses but I will say they&apos;re worth it, as the videos cover way more than their YouTube channel and their plans are extensive and even include 3D models.</p><p>I love how this turned out. It&apos;s all cherry wood with a Osmo PolyX oil finish, and anyone that comes over to see it can&apos;t believe this all came from a rough pile of lumber. What I enjoyed most about this project was learning a bunch of new techniques, including cutting splines, making jigs for consistent repeatable cuts, joining up my first tabletop, and joinery with Festool dominos.</p><h2 id="tools">Tools</h2><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4241-1.JPG" width="2000" height="1683" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4241-1.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4241-1.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4241-1.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4241-1.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_3894.JPG" width="2000" height="2667" loading="lazy" alt="Woodworking *updates*" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_3894.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_3894.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_3894.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_3894.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>Since I got to spend months inside a large woodshop taking classes, I got used to having good tools around and went on a bit of a spending spree to get everything I needed in my own shop.</p><p>Here are some tools I use and recommend:</p><ul><li>My <a href="https://www.rockler.com/laguna-f2-fusion-1-75hp-table-saw-36-ripfence?ref=a.wholelottanothing.org" rel="noreferrer">Laguna F2 table saw</a> is a fantastic upgrade over my jobsite dewalt table saw. It lets me do large, consistent cuts that are accurate. It was super affordable compared to SawStop cabinet saws and comes close in terms of features (without the obvious safety tech of a SawStop).</li><li>I love the performance of <a href="https://www.harborfreight.com/12-gallon-osha-compliant-hepa-dust-extractor-58966.html?ref=a.wholelottanothing.org" rel="noreferrer">Harbor Freight&apos;s dust collector</a>. I added a cyclone to capture buckets of sawdust before they hit the vacuum, and it cut down on the harmful dust in my shop. I also upgraded it with <a href="https://amzn.to/4v0o0pl?ref=a.wholelottanothing.org" rel="noreferrer">a better hose</a>.</li><li>The other Harbor Freight item I enjoy using is <a href="https://www.harborfreight.com/15-amp-12-12-in-portable-thickness-planer-59313.html?ref=a.wholelottanothing.org" rel="noreferrer">their planer</a>. It&apos;s cheap and it works, without too much sniping.</li><li>I got <a href="https://amzn.to/4lXNhwv?ref=a.wholelottanothing.org" rel="noreferrer">a Cutech tabletop jointer</a> on sale and it&apos;s great for milling down rough hardwood boards and thanks to being all cast iron, it&apos;s surprisingly accurate.</li><li>My <a href="https://amzn.to/4bToepM?ref=a.wholelottanothing.org" rel="noreferrer">12&quot; sliding miter saw from Bosch</a> has been reliable and great.</li><li>The <a href="https://a.co/d/01vF3ax8?ref=a.wholelottanothing.org" rel="noreferrer">Festool domino</a> router is crazy expensive but after weeks of searching I never found anyone selling one used and now that I have one I know it&apos;s a game changer for doing hidden joinery that is strong and easily repeatable. I can see why furniture shops love these, they really speed up building complex shapes.</li></ul><p>The rest of my tools are mostly Craftsman cordless models like their orbital sander, belt sander, and trim router, and I picked Craftsman just because I already owned the batteries and chargers for other tools in the past.</p><p>I also bought a ton of what I&apos;d loosely call measurement devices, like woodworking tape measures, digital calipers, angle gauges, and loads of levels and rulers and steel blocks to make sure everything is 90&#xBA; and accurate.</p><p>My next big shop project is redoing my miter saw table and then building storage for clamps and wood. After that, I plan to build a custom table to go behind one of our sofas, to hold surround sound speakers while also hiding all the wires and chargers for game controllers. Then I might build my first dining table after that.</p><hr><p>Overall, the thing I&apos;ve loved most from the past few months is learning so much about how woodworking projects go together. Learning all the basics of wood joinery means I can now look at something in a store and usually figure out how I could recreate it on my own using my supplies and tools. It&apos;s a pretty good feeling, and makes me want to learn all sorts of new trades as well.</p>]]></content:encoded></item><item><title><![CDATA[The *Portland Roadster* Show]]></title><description><![CDATA[<p>This weekend I popped into the Portland Expo Center to check out the annual roadster show. It was a fun mix of mostly 1960s customs and rods. I don&apos;t have any shots from my absolute favorite display, which is a local high school&apos;s body shop where</p>]]></description><link>https://a.wholelottanothing.org/the-portland-roadster-show/</link><guid isPermaLink="false">69c1844f8287460001b6beec</guid><category><![CDATA[cars]]></category><category><![CDATA[photos]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Mon, 23 Mar 2026 18:25:39 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4325.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4325.JPG" alt="The *Portland Roadster* Show"><p>This weekend I popped into the Portland Expo Center to check out the annual roadster show. It was a fun mix of mostly 1960s customs and rods. I don&apos;t have any shots from my absolute favorite display, which is a local high school&apos;s body shop where kids display their wild creations, and you get lots of crazy cool stuff like a station wagon cut into a truck or a $500 beater car with a chopped top.</p><p>Anyway,  here are some of my favorites.</p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4316.JPG" width="2000" height="1625" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4316.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4316.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4316.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4316.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4317.JPG" width="2000" height="2667" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4317.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4317.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4317.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4317.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4323.JPG" width="2000" height="1421" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4323.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4323.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4323.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4323.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4321.JPG" width="2000" height="1500" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4321.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4321.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4321.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4321.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4322.JPG" width="2000" height="1280" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4322.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4322.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4322.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4322.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4320.JPG" width="2000" height="1424" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4320.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4320.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4320.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4320.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4326.JPG" width="2000" height="1584" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4326.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4326.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4326.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4326.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4327.JPG" width="2000" height="1500" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4327.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4327.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4327.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4327.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4328.JPG" width="2000" height="1500" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4328.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4328.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4328.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4328.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4331.JPG" width="2000" height="1216" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4331.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4331.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4331.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4331.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4333.JPG" width="2000" height="1295" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4333.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4333.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4333.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4333.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4335.JPG" width="2000" height="1500" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4335.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4335.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4335.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4335.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4340.JPG" width="2000" height="1648" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4340.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4340.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4340.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4340.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4342.JPG" width="2000" height="2667" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4342.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4342.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4342.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4342.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4343.JPG" width="2000" height="1348" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4343.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4343.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4343.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4343.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4346.JPG" width="2000" height="1438" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4346.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4346.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4346.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4346.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4347.JPG" width="2000" height="1500" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4347.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4347.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4347.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4347.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4348.JPG" width="2000" height="1500" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4348.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4348.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4348.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4348.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4349.JPG" width="2000" height="1252" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4349.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4349.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4349.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4349.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4353.JPG" width="2000" height="1303" loading="lazy" alt="The *Portland Roadster* Show" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4353.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4353.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4353.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4353.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure>]]></content:encoded></item><item><title><![CDATA[A thing we should acknowledge about *AI*]]></title><description><![CDATA[<p>Last week, I was doing regular maintenance tasks on my home file server, a Synology running its own Linux-style OS. I tend to put off updates for weeks because sometimes things break after upgrades and that means needing an extra couple of hours to clean things up. This time I</p>]]></description><link>https://a.wholelottanothing.org/a-thing-we-should-acknowledge-about-ai/</link><guid isPermaLink="false">69bd90078287460001b6bcd2</guid><category><![CDATA[vibe coding]]></category><category><![CDATA[ai]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Fri, 20 Mar 2026 20:22:13 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4283.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4283.JPG" alt="A thing we should acknowledge about *AI*"><p>Last week, I was doing regular maintenance tasks on my home file server, a Synology running its own Linux-style OS. I tend to put off updates for weeks because sometimes things break after upgrades and that means needing an extra couple of hours to clean things up. This time I did all the things I needed to do, then I noticed one of the main apps was no longer being updated and it turns out I installed it from the Synology community, where the maintainer of it abandoned the project (they were doing free work for years so I understand).</p><p>I decided to ask <a href="https://claude.ai/?ref=a.wholelottanothing.org" rel="noreferrer">Claude.ai</a> if it could help me reinstall the app from the official site, and it suggested I run it on my Docker instance. In the past, I&apos;ve had my ups and downs using Docker, so I asked Claude for all the info on migrating my old setup to a completely new one. It gave me steps to backup my old app, remove it, then all the commands to install the new one, and how to restore from my backups.</p><p>Much to my surprise, after just a few minutes of tinkering it all worked. Everything was deleted, rebuilt, and functioned. The app was exactly as it used to be but with the most recent updates. It has run flawlessly since.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4227.JPG" class="kg-image" alt="A thing we should acknowledge about *AI*" loading="lazy" width="2000" height="2798" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4227.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4227.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4227.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4227.JPG 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">First ride after an atmospheric river meant new waterfalls</span></figcaption></figure><h2 id="lets-try-some-new-stuff">Let&apos;s try some new stuff</h2><p>Feeling emboldened by my good fortune, I decided to ask Claude how to fix a bunch of other things I&apos;d been putting off for months. There were several apps I never really got working quite right, so I asked Claude.</p><p>And it <em>delivered</em>.</p><p>Overall, Claude gave me correct info about 90% of the time, and when it didn&apos;t know or gave incorrect advice, I could upload a screenshot of errors and it&apos;d tell me exactly what should be changed which fixed them. I continued, and got half a dozen utilities I&apos;d always wanted running on my home network to function correctly for the first time. Plus, all my existing stuff was running like a top. In less than an hour, I&apos;d transformed what my home file server could do.</p><h2 id="it-was-refreshing-honestly">It was refreshing, honestly</h2><p>Any question, no matter how dumb I thought it was, got a helpful answer from Claude. It felt different than looking up StackExchange or reddit posts or wading into forums to ask for help. </p><p>I thought back to every tech community I&apos;ve interacted with, and how even if they aim to be open and supportive, it&apos;s intimidating to ask questions that make you sound naive, and it&apos;s always a crapshoot on whether or not you&apos;ll get the help you need.</p><p>It was also refreshing because Claude answered every question without judgment. I don&apos;t usually memorize linux commands because I don&apos;t use them often enough, so if I had to ask Claude how to recursively delete files in a directory, I&apos;d get a command I could copy and paste with a complete explanation of every flag and option enabled, and it&apos;d work. I wasn&apos;t getting &quot;oh my GOD how have you not memorized that super basic command YET?!&quot;</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4261.JPG" class="kg-image" alt="A thing we should acknowledge about *AI*" loading="lazy" width="2000" height="1455" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4261.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4261.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4261.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4261.JPG 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">I finished my first major furniture project, building our new coffee table</span></figcaption></figure><h2 id="wood-you-rather">Wood you rather?</h2><p>I was also thinking about my helpful Claude interactions this week when I was setting up my first real pro-level table saw I recently bought. Saws need to be accurate to be reliable for woodworking and I reached out the state&apos;s woodworker&apos;s guild to float the idea of hiring a veteran to help me nail the new saw perfectly before I start building more stuff.</p><p>My thinking is that it&apos;s much like hiring a piano tuner when you get your first real piano, so you can be sure things sound good while you learn to play it. A lot of woodworking accuracy tools cost hundreds of dollars and are rarely used, so I offered up $200-300 for an hour of anyone&apos;s time to help get all my tolerances within a thousandths of an inch for the new saw.</p><p>I eventually got a response, from someone who once wrote for a popular woodworking magazine and said he had all the tools needed to do it. But when we discussed when he could meet up, he told me I should instead learn it all myself, buy my own measurement tools and look on eBay for any out-of-print copies of his articles and DVDs from 30 years ago that perfectly explain the process. </p><p>I know that it&apos;s important to be able to fix your own tools and I&apos;m regularly picking up those skills over time, but I wanted to pay someone for a quick in-person tutorial (while also getting to see how specialized, precision tools are used correctly to make sure everything is perfect). Instead I got a lecture and homework.</p><h2 id="i-guess-i-understand-why-some-weirdos-think-theyve-fallen-in-love-with-a-ai-bot">I guess I understand why some weirdos think they&apos;ve fallen in love with a AI bot?</h2><p>I have plenty of reservations about the spread of AI and the many downsides of it, but I have to acknowledge how refreshing it was on the day I worked on dozens of annoying tasks I&apos;d been putting off for months. Claude gave me working answers that saved me loads of time researching and troubleshooting, all without judgment or gatekeeping.</p><p>There are a shitload of downsides to using AI, but I have to admit that even if you think it&apos;s just a clumsy word salad robot, giving out helpful advice freely is a refreshing contrast to how most online communities treat their newest members and I have to acknowledge that it&apos;s a real upside in AI tools.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4258.JPG" class="kg-image" alt="A thing we should acknowledge about *AI*" loading="lazy" width="2000" height="1459" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4258.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4258.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4258.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4258.JPG 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Lucy takes a break among blossoms earlier this week</span></figcaption></figure>]]></content:encoded></item><item><title><![CDATA[Random bits and bobs]]></title><description><![CDATA[<p>Over the last week I&apos;ve jotted down a bunch of notes in a &quot;Things to Blog&quot; text file so I&apos;m just gonna dump them here in no particular order.</p><h2 id="bleeding-edge-ai-fueled-fraud">Bleeding edge, AI-fueled fraud</h2><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/nP2WQ676R9o?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="My Scammer Pleaded Guilty &amp; Was Sentenced"></iframe></figure><p>One of my favorite mountain bike YouTubers, Seth from Berm Peak</p>]]></description><link>https://a.wholelottanothing.org/random-bits-and-bobs/</link><guid isPermaLink="false">69a62074a7bf850001d5d4bc</guid><category><![CDATA[junkdrawer]]></category><category><![CDATA[disney]]></category><category><![CDATA[woodworking]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Tue, 03 Mar 2026 06:27:18 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4014.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4014.JPG" alt="Random bits and bobs"><p>Over the last week I&apos;ve jotted down a bunch of notes in a &quot;Things to Blog&quot; text file so I&apos;m just gonna dump them here in no particular order.</p><h2 id="bleeding-edge-ai-fueled-fraud">Bleeding edge, AI-fueled fraud</h2><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/nP2WQ676R9o?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="My Scammer Pleaded Guilty &amp; Was Sentenced"></iframe></figure><p>One of my favorite mountain bike YouTubers, Seth from Berm Peak recently learned someone spent a year posing as him online to scam companies out of thousands of dollars worth of gear. The person claimed to work for the YouTube channel as they reached out to bike companies and got dozens of bikes sent to them for free to &quot;review&quot;. Eventually, the scam as noticed, the person doing it was identified and now they&apos;re being sentenced to some jail time. What&apos;s really fascinating to me is I bet this is a small peek into our future, 5-10 years from now when stuff like this might be rampant. </p><p>The scammer who did it leaned on ChatGPT to craft their emails so they sounded like Seth&apos;s writing, as he&apos;s been publishing online for over a decade. It&apos;s not hard to imagine someone taking this concept further, someday leaving voice messages that sound uncannily like someone else based on their hundreds of hours of videos and podcasts online. You could even create fake videos posing as someone else using current bleeding edge tools. </p><p>Scams like this are way more believable and they will definitely trick more people into all sorts of chicanery in the future. This honestly feels like the tip of an iceberg that is unfortunately coming for all of us who have years of writing and content posted online. I don&#x2019;t know what the solution to this problem is, but I hope someone is working on ways to someday combat it. </p><h2 id="ken-burns-american-revolution-documentary-series-is-an-amazing-podcast-that-doesnt-know-it-yet">Ken Burns&apos; American Revolution documentary series is an amazing podcast (that doesn&apos;t know it yet)</h2><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/lruEtNTN9oY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="The American Revolution | A Film by Ken Burns, Sarah Botstein &amp; David Schmidt | Official Trailer"></iframe></figure><p>Over the past couple weeks, each night before I&apos;d drift off to sleep I&apos;d watch about an hour of Ken Burns&apos; newest series on the American Revolution. </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.pbs.org/show/the-american-revolution/?ref=a.wholelottanothing.org"><div class="kg-bookmark-content"><div class="kg-bookmark-title">The American Revolution</div><div class="kg-bookmark-description">Thirteen colonies unite in rebellion, win their independence, and found the United States.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/icon/favicon.svg" alt="Random bits and bobs"><span class="kg-bookmark-author">The U.S. and the Holocaust</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/thumbnail/NPzl6HV-background-QZS1z0D.jpg" alt="Random bits and bobs" onerror="this.style.display = &apos;none&apos;"></div></a></figure><p>It&apos;s roughly 12 to 13 hours in total spread over six episodes and honestly after finishing it I can say two things about it:</p><ul><li>I loved every second and even though it&apos;s long. I was riveted while hearing so many stories I never heard in any history class, even the US history courses I took in college. It draws a fuller picture of all the issues and various forces and factions involved in the war, and it gives great context for what the world was like when this war was taking place. I learned a great deal more about the revolution than I ever knew.</li><li>More importantly: this series would make for a really great podcast and you&apos;d barely lose anything by just listening to it. Unlike Ken Burns&apos; other work, the visuals played a fairly minor role in the overall storytelling. Since there&apos;s no photos or videos of the 1700s, most visuals ended up being lots of slow pans over oil paintings and about the only time I paid attention to the screen was when they showed maps of troop movements in a battle. Honestly, someone should just make the whole thing into a series of MP3 files and I&apos;d say next time you&apos;ve got a long road trip you should give it a listen.</li></ul><h2 id="cities-arent-loud-cars-are">&quot;Cities aren&apos;t loud, cars are&quot;</h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://maximumfun.org/episodes/walkin-about/hells-kitchen-to-central-park-with-charlie-todd-part-one/?ref=a.wholelottanothing.org"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Hell&#x2019;s Kitchen to Central Park with Charlie Todd (Part One) | Maximum Fun</div><div class="kg-bookmark-description">In Part One of this 2-part New York walk, Allan and Charlie Todd hoof it around Midtown Manhattan, from Hell&#x2019;s Kitchen to Central Park.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/icon/cropped-favicon-512x512-180x180.png" alt="Random bits and bobs"><span class="kg-bookmark-author">Maximum Fun</span><span class="kg-bookmark-publisher">Harry Nelson</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/thumbnail/cropped-favicon-512x512.png" alt="Random bits and bobs" onerror="this.style.display = &apos;none&apos;"></div></a></figure><div class="kg-card kg-audio-card"><img src alt="Random bits and bobs" class="kg-audio-thumbnail kg-audio-hide"><div class="kg-audio-thumbnail placeholder"><svg width="24" height="24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5 15.33a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm-2.25.75a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0ZM15 13.83a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm-2.25.75a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M14.486 6.81A2.25 2.25 0 0 1 17.25 9v5.579a.75.75 0 0 1-1.5 0v-5.58a.75.75 0 0 0-.932-.727.755.755 0 0 1-.059.013l-4.465.744a.75.75 0 0 0-.544.72v6.33a.75.75 0 0 1-1.5 0v-6.33a2.25 2.25 0 0 1 1.763-2.194l4.473-.746Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M3 1.5a.75.75 0 0 0-.75.75v19.5a.75.75 0 0 0 .75.75h18a.75.75 0 0 0 .75-.75V5.133a.75.75 0 0 0-.225-.535l-.002-.002-3-2.883A.75.75 0 0 0 18 1.5H3ZM1.409.659A2.25 2.25 0 0 1 3 0h15a2.25 2.25 0 0 1 1.568.637l.003.002 3 2.883a2.25 2.25 0 0 1 .679 1.61V21.75A2.25 2.25 0 0 1 21 24H3a2.25 2.25 0 0 1-2.25-2.25V2.25c0-.597.237-1.169.659-1.591Z"/></svg></div><div class="kg-audio-player-container"><audio src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/media/2026/03/walking.mp3" preload="metadata"></audio><div class="kg-audio-title">Walking</div><div class="kg-audio-player"><button class="kg-audio-play-icon" aria-label="Play audio"><svg viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-audio-pause-icon kg-audio-hide" aria-label="Pause audio"><svg viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-audio-current-time">0:00</span><div class="kg-audio-time">/<span class="kg-audio-duration">3441.4497959183673</span></div><input type="range" class="kg-audio-seek-slider" max="100" value="0"><button class="kg-audio-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button><button class="kg-audio-unmute-icon" aria-label="Unmute"><svg viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-audio-mute-icon kg-audio-hide" aria-label="Mute"><svg viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-audio-volume-slider" max="100" value="100"></div></div></div><p><a href="https://a.wholelottanothing.org/a-new-podcast-favorite/" rel="noreferrer">I&apos;ve mentioned that one of my recent favorite new podcasts is Walkin&apos; About</a> and in this episode, Allan the host is walking around with Charlie Todd of the <a href="https://improveverywhere.com/?ref=a.wholelottanothing.org" rel="noreferrer">Improv Everywhere</a> group on the streets of Manhattan. The whole time they&apos;re recording with lapel microphones and walking around the city but they also accidentally capture an amazing moment right around the 30 minute mark, as they turn a corner to head down a quiet residential avenue.</p><p>The audio up to that point is thirty full minutes of occasional sirens, constant road noise, and general NYC ruckus but it drops to almost nothing when they enter a residential neighborhood and Charlie utters a phrase I&apos;ve never heard before but rings true, especially in this instance: &quot;<em>Cities aren&apos;t loud, cars are.</em>&quot;</p><h2 id="updates-on-my-glp-1-experiences">Updates on my GLP-1 experiences</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/79A365E7-ACC6-4E58-9E21-A0B760681B3A.jpeg" class="kg-image" alt="Random bits and bobs" loading="lazy" width="2000" height="2355" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/79A365E7-ACC6-4E58-9E21-A0B760681B3A.jpeg 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/79A365E7-ACC6-4E58-9E21-A0B760681B3A.jpeg 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/79A365E7-ACC6-4E58-9E21-A0B760681B3A.jpeg 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/79A365E7-ACC6-4E58-9E21-A0B760681B3A.jpeg 2400w" sizes="(min-width: 720px) 720px"></figure><p>A few months ago <a href="https://a.wholelottanothing.org/zepboundin-my-first-month-on-a-glp-1/" rel="noreferrer">I started taking Zepbound</a> to control my weight and type 2 diabetes and a few people have asked for an update so here it is. </p><p>Months later it&apos;s been mostly a good experience. I still have way less hunger cravings than I used to but I&apos;ve taken things very slowly and only upped my dosage one level up from the baseline to date. Side effects are still not fun (constipation and heartburn, mostly) and I still feel terrible if I ever eat like I used to, which is tough when you love to cook and eat. I&apos;ve lost about 20 pounds and have another 20-30 to go and it&apos;s a pretty slow rate of just a pound or two a week. My clothes are fitting better now but the one time I actually felt any different post-zepbound was a recent bike ride around the local hills. Riding up steep grades felt SO MUCH easier with some weight gone and I can&apos;t wait to ride more now that we&apos;re mostly done with Winter up here.</p><h2 id="my-first-woodshop-class-is-coming-to-an-end">My first woodshop class is coming to an end</h2><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4088.JPG" width="2000" height="1931" loading="lazy" alt="Random bits and bobs" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4088.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4088.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4088.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4088.JPG 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4089.JPG" width="2000" height="2184" loading="lazy" alt="Random bits and bobs" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4089.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4089.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4089.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4089.JPG 2400w" sizes="(min-width: 720px) 720px"></div></div></div></figure><p>Tomorrow is the final meeting for my intro woodworking class and we&apos;re almost completely done with our first project, a step stool. We learned how to use a bunch of tools while also picking up a whole host of furniture building techniques. I had a blast and I&apos;m currently working on a few custom furniture projects around the house I hope to share soon. I&apos;ll probably jump into another class or two taught in the same workshop, to keep the lessons going as I continue to build out my own shop space at home.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/p1eiruU6v5I?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Tick Stick: The Carpentry Tool That Does the Impossible"></iframe></figure><p>Speaking of woodworking, after learning how to use a bunch of tools in a working shop, I was totally blown away by this video above, about how an old shipbuilding trick from hundreds of years ago can help people make unique, awkward shapes without using any sort of rulers or calipers or anything fancy to measure things. The video above is really remarkable.</p><h2 id="a-brief-break-at-disneyland">A brief break at Disneyland </h2><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_4003.JPG" class="kg-image" alt="Random bits and bobs" loading="lazy" width="2000" height="2667" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_4003.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_4003.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_4003.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_4003.JPG 2400w" sizes="(min-width: 1200px) 1200px"></figure><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_3987.JPG" class="kg-image" alt="Random bits and bobs" loading="lazy" width="2000" height="1500" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_3987.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_3987.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_3987.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_3987.JPG 2400w" sizes="(min-width: 1200px) 1200px"></figure><figure class="kg-card kg-image-card kg-width-wide"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/03/IMG_3983.JPG" class="kg-image" alt="Random bits and bobs" loading="lazy" width="2000" height="2667" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/03/IMG_3983.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/03/IMG_3983.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/03/IMG_3983.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/03/IMG_3983.JPG 2400w" sizes="(min-width: 1200px) 1200px"></figure><p>Last month I got to spend a day in Disneyland, which was a nice break from the long Oregon winter. It felt like the first vitamin D I soaked up in months.</p>]]></content:encoded></item><item><title><![CDATA[Trying AI *(and failing)*]]></title><description><![CDATA[<p>I&apos;m generally skeptical about AI, mostly because we&apos;re currently living in a hype bubble about it, with stories both good and bad, everywhere.</p><p>It&apos;s clearly not going away so I decided that instead I should treat AI like any other technology that may have</p>]]></description><link>https://a.wholelottanothing.org/trying-ai-and-failing/</link><guid isPermaLink="false">69963c82e3b2130001ec8c23</guid><category><![CDATA[vibe coding]]></category><dc:creator><![CDATA[Matthew Haughey]]></dc:creator><pubDate>Wed, 18 Feb 2026 23:41:49 GMT</pubDate><media:content url="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/02/IMG_2861.JPG" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/02/IMG_2861.JPG" alt="Trying AI *(and failing)*"><p>I&apos;m generally skeptical about AI, mostly because we&apos;re currently living in a hype bubble about it, with stories both good and bad, everywhere.</p><p>It&apos;s clearly not going away so I decided that instead I should treat AI like any other technology that may have good or bad qualities, by evaluating it on its own merits whenever I could. I&apos;ve heard enough good stories from people I know doing amazing things with AI that save them time and effort that I&apos;m still willing to give it a try from time to time.</p><p>Lately, everyone is into AI agents and <a href="https://www.nytimes.com/2026/02/18/opinion/ai-software.html?searchResultPosition=1&amp;ref=a.wholelottanothing.org" rel="noreferrer">Paul Ford wrote a great piece</a> about it that mirrors what I&apos;ve heard from programmer friends also using them. I even dipped my own toes into this water last week when I asked Claude to code up an iOS app that I&apos;ve had in my head for years and in less than two minutes it cranked out the swift code and files I need to dump into Xcode to test my new app out (haven&apos;t done that part yet but it definitely shows promise).</p><h2 id="so-lets-try-and-save-time-with-ai">So let&apos;s try and save time with AI!</h2><p>The things I&apos;m most interested in are automations that reduce tedious things I have to do by hand, so asking AI to look up anything I&apos;ve written in the past on a certain subject and find it for me, or turn a meeting transcript into an outline of things to do next on a project are both things that seem easy enough for a pattern-recognition engine to complete.</p><p>Someone at my work asked me to compile a list of a previous articles I&apos;ve written over the past year that had already been edited and vetted by our in-house experts, so we could re-use them as internal documentation or in other contexts. </p><p>I thought this could be a perfect job for AI to save some time for me.</p><p>I tend to write a handful of pieces each week, so after a year of working there, I&apos;ve got a couple hundred articles in my Google account. Google Doc&apos;s &quot;last opened by you&quot; interface means it&apos;s not easy to look up all my previous docs on a single screen, much less be able to go through them easily. It would take literal hours to open hundreds of docs by hand, read them a bit, then categorize them myself.</p><h3 id="claude-trips-and-falls">Claude trips and falls</h3><p>I fired up Claude.ai and asked it to look at everything I authored in my Google Docs account, and produce a list of article titles that linked to the docs, all grouped into categories of related subjects. </p><p>Claude told me it didn&apos;t have access to my google account, even though I use Google sign-on as my login. Claude said I needed to install a Google plugin, and while digging around for that I figured out I was <em>already</em> connected to Google&apos;s API (again, from my login).</p><p>I told Claude and it apologized with a &quot;oh right, my bad&quot; which was 4-5 minutes wasted tracking down an already existing Google connection. Not a great sign.</p><p>So I asked Claude to dig up my old articles and found out Claude doesn&apos;t have API access to searching specific files in my Google Drive or Docs so instead it asked me to create, then copy and paste a &quot;share link&quot; for every single thing I&apos;ve written.</p><p>I decided it was time for me to try using Google&apos;s own AI instead.</p><h3 id="gemini-save-me">Gemini save me!</h3><p>I started my first ever session with Gemini, as I figured it should have no issues dealing with Google APIs, so I asked it to compile a list of pieces I&apos;ve written over the last year about disaster recovery and toss them into some categories for me.</p><p>At first it gave me a list of 17 articles spread across four or five categories. I knew this was barely scratching the surface, so from memory I started expanding my requests, asking for all the things I wrote about fires and floods in addition to the stuff it found about hurricanes.</p><p>It gathered 30 pieces and eventually over 40 titles of old content and the categories expanded to over a dozen. As I read through results, I kept thinking of more things I wasn&apos;t seeing and I&apos;d ask it to gather additional pieces on specific subjects.</p><p>What&apos;s wild is each time I&apos;d ask for an updated list, it would return a different number of items. Sometimes it would drop back down to 17, other times over 50 would be returned. Mostly about 30 docs I wrote would be shared in the list. Every two or three times I&apos;d make a new request, it&apos;d stop numbering my list and go back to plain bullet points. Then I&apos;d ask it to reinstate the numbers.</p><p>I kept going, getting frustrated with the inconsistent output. After an hour of futzing, I eventually tailored my request to docs I&apos;d been the original author of, that had more than a couple hundred words, and to omit any meeting transcripts, since a lot of those were brainstorm sessions with 3-4 people throwing ideas around. Gemini thought some of the ideas pitched in meetings were actual articles and some of my resulting items were things I once pitched but never wrote.</p><h2 id="the-wheels-come-off-the-bus">The wheels come off the bus</h2><p>When I thought my list was finally looking comprehensive, I started checking each of the links to my old Google Docs. A few article titles linked to meeting transcripts. A few linked to my resume which I guess I uploaded at some point. I started seeing a couple articles I <em>know</em> I didn&apos;t write, like something about earthquake strapping on buildings to prevent damage, and when I&apos;d follow the link to see what Gemini was using as a source, it was a piece I wrote on how to protect your home from prolonged freezing temperatures.</p><p>I know I&apos;m supposed to mention errors to AI so it can fix things. So I asked Gemini why it was hallucinating an article I never wrote about earthquakes, and why it linked to an unrelated piece. I got apologies and muddled excuses. I noticed half the links to my shared Google Docs linked to a google.com search instead of a docs.google.com URL. Again I asked Gemini to be sure and link directly to actual pieces and I got more apologies.</p><p>I asked Gemini to save the list output as a new doc in my account and was told it wasn&apos;t allowed to create new files even though it&apos;s Google&apos;s Gemini in my Google account accessing my Google Docs.</p><p>Eventually, I copied and pasted the results from a few dozen Gemini outputs into one giant long document. I found about 50 unique pieces I had to categorize and share, and as I worked on those by hand, the titles continued to jog my memory about <em>other</em> pieces I&apos;d written but weren&apos;t mentioned so I&apos;d search Google Docs and add them to the list myself.</p><h2 id="conclusion-not-good">Conclusion: not good</h2><p>A thing I thought might take five minutes and save me oodles of tedious work ended up taking over two hours to produce a long list, half done by hand, half by Gemini, after removing erroneous links and straight up hallucinations.</p><p>I think my request of &quot;Hey Gemini, show me a list of all the articles I wrote over the last year and arrange them into categories by subject&quot; is a straightforward one, and I came away from this experience surprised that Gemini shipped these features as bleeding edge AI to customers when it never really delivered for me.</p><p>I&apos;ve had a few good experiences with AI actually saving me time and effort (especially around transcribing audio and video to text I can later edit/transform into stories) but in this case I can&apos;t believe we&apos;re boiling oceans and burning forests and firing everyone in the tech industry for AI systems that can&apos;t complete fairly simple tasks.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/2026/02/IMG_4998.JPG" class="kg-image" alt="Trying AI *(and failing)*" loading="lazy" width="2000" height="1500" srcset="https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w600/2026/02/IMG_4998.JPG 600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1000/2026/02/IMG_4998.JPG 1000w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w1600/2026/02/IMG_4998.JPG 1600w, https://storage.ghost.io/c/91/15/9115e440-4672-4090-9706-8335a7b154ee/content/images/size/w2400/2026/02/IMG_4998.JPG 2400w" sizes="(min-width: 1200px) 1200px"><figcaption><span style="white-space: pre-wrap;">Newport, Oregon sand dunes in 2013</span></figcaption></figure>]]></content:encoded></item></channel></rss>