<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>All Posts - log - Nicholas Ward</title><link>https://log.nicholas.uuard.com/posts/</link><description>All Posts | log - Nicholas Ward</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>nicholaspward@outlook.com (Nicholas Ward)</managingEditor><webMaster>nicholaspward@outlook.com (Nicholas Ward)</webMaster><lastBuildDate>Mon, 03 Aug 2026 10:00:00 -0500</lastBuildDate><atom:link href="https://log.nicholas.uuard.com/posts/" rel="self" type="application/rss+xml"/><item><title>☎️ Local Voice Agent</title><link>https://log.nicholas.uuard.com/posts/2026-08-03-local-voice-agent/</link><pubDate>Mon, 03 Aug 2026 10:00:00 -0500</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/2026-08-03-local-voice-agent/</guid><description><![CDATA[<p>In a <a href="/posts/2026-03-01-voip/" rel="">previous post</a>, I built a small telephone system with FreePBX and a low-cost SIP carrier, BulkVS. This gave me a real phone number, extensions, softphones, a ring group, and voicemail. This would serve as the perfect entry point for a self-hosted voice agent.</p>
<p>I have configured the system such that when my phone number is dialed, a voice describes a telephone menu where the caller can dial a selection:</p>]]></description></item><item><title>🌿 2026 Herb Garden</title><link>https://log.nicholas.uuard.com/posts/2026-07-09-herb-garden/</link><pubDate>Thu, 09 Jul 2026 10:00:00 -0500</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/2026-07-09-herb-garden/</guid><description><![CDATA[<p>All the classic herbs this year. Everything did O.K. except cilantro (or oregano? I do not know) since it rained heavily for a couple weeks and the roof drainage repeatedly dumped a bajillion gallons of water directly on top of this section all at once, drowning them&hellip;so not a great yield. It is no great loss if cilantro.</p>
<p>As a child I was occasionally served a certain type of frozen pizza (Totino&rsquo;s Party Pizza, perhaps?) as a special treat, which to me tasted faintly of soap. I would tell my mother this each time, she would taste it for herself insisting that she rinsed her hands of all traces of soap this time, then report tasting nothing unusual. We all shrug and move on, repeat.</p>]]></description></item><item><title>🏗️ Home Ops Upgrades</title><link>https://log.nicholas.uuard.com/posts/2026-07-07-home-ops/</link><pubDate>Tue, 07 Jul 2026 10:00:00 -0500</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/2026-07-07-home-ops/</guid><description><![CDATA[<p>As the number of self-hosted services I use regularly has grown, managing them by hand began to feel wrong, and occasionally annoying and tedious. It ends now!</p>






<figure>
  <a
    class="lightgallery"
    href="https://files.web-log.uuard.com/2026-07-07-home-ops/images/portainer-container-dashboard.png"
    data-thumbnail="https://files.web-log.uuard.com/2026-07-07-home-ops/images/portainer-container-dashboard.png"
    data-sub-html="Container dashboard - many apps">
    
  </a>

  
    <figcaption>Container dashboard - many apps</figcaption>
  
</figure>

<p>In the beginning, my workflow was pretty sloppy since much of the deployment/management depended on me remembering to restart a container or update a version, manually copy a secret here and there. Things like this. Totally maintainable, sustainable with some effort, but it is not <em>the way</em>. And to some degree these manual interventions will always be necessary, but it will serve me well to reduce them and automate them away as much as reasonable to help these apps live far into the future with little fuss. Many of these apps have proven their usefulness to me over many years, so I have begun to take their management more seriously, slowly taking steps toward git-ops patterns and best practices. Before: scattered <code>.env</code> files. Flat directory of compose files. No documentation. Manually copying secrets by hand. Manually rebuilding host dependencies by hand. Now: a single command issued by a single click of a button (maybe I am overstating the simplicity here&hellip;nevertheless) will handle mostly everything I care about. Host setup, Compose projects, rendered secrets, state directories, validation, and deployment are all described in one place. Easy!</p>]]></description></item><item><title>💨 Replacing a Stuck-Open Purge Valve</title><link>https://log.nicholas.uuard.com/posts/2026-07-06-replacing-purge-valve/</link><pubDate>Mon, 06 Jul 2026 20:00:00 +0000</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/2026-07-06-replacing-purge-valve/</guid><description><![CDATA[<p>This car is a money pit to be sure. I have replaced this exact component once before, under exactly the same circumstances. The same set of symtoms: rough idle, RPM guage bouncing around a little, stumbles and shakes like a pathetic little wet rat upon starting for the first time after refueling.</p>
<p>The part functioned for a few years, and here we are again. Luckily it is stupid easy to replace, and apparently dirt cheap on Amazon. I paid something like 50 USD for this part only for it to fail after a couple of years. I shudder to think how long a $15 part will last&hellip;</p>]]></description></item><item><title>🪴 Plant Repotting</title><link>https://log.nicholas.uuard.com/posts/2026-05-31-plant-repot/</link><pubDate>Sun, 31 May 2026 10:00:00 -0600</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/2026-05-31-plant-repot/</guid><description><![CDATA[<p>The plants need new pots more fitting of their beauty and vitality not some ugly slimy plastic. I prefer clay: better aesthetics, drier soil and easier to control pests.</p>
<h2 id="ficus-audrey">Ficus Audrey</h2>
<p>For two years this tree did nothing. No growth, no changes, nothing at all. So we attempted to induce some kind of growth by snipping off a small length of growth at the top: the <strong>apical meristem</strong>. This shortly prompted the smallest of growths to develop on the node just beneath the cut, barely detectable, a small green nub.</p>]]></description></item><item><title>☎️ VoIP</title><link>https://log.nicholas.uuard.com/posts/2026-03-01-voip/</link><pubDate>Sun, 01 Mar 2026 08:00:00 +0000</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/2026-03-01-voip/</guid><description>&lt;p>I pay my share of the family phone plan ($15/mo), and in return I get unlimited texts, 1000 minutes of calls, and 1 GB of data. This is already extraordinarily cheap, but for how little I use the service I think I can do better, at least in terms of raw cost of owning a phone number on which I can make and receive voice calls. I can get the cost down to pennies a month, depending on how much time I spend in a phone call.&lt;/p></description></item><item><title>🔝 Server Top</title><link>https://log.nicholas.uuard.com/posts/2026-01-22-server-top/</link><pubDate>Thu, 22 Jan 2026 20:00:00 +0000</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/2026-01-22-server-top/</guid><description><![CDATA[<p>I used a piece of plywood to cover the void of the server rack. Its purpose is to enable me to place things atop it. I must remind myself of this singular purpose to cope with its ugliness.</p>
<p>The stain looked great, then I completely ruined the look by encasing it in a thick layer of polyurethane plastic. Now it has a wet-looking orange glow to it, and probably sheds a trillion microplastic particles into the air each day. I am a little ashamed of the decision, but life goes on and the finish is totally inconsequential to the tabletop&rsquo;s stated purpose.</p>]]></description></item><item><title>🌡️ Replacing Thermostat Housing Assembly</title><link>https://log.nicholas.uuard.com/posts/2026-01-06-replace-thermostat/</link><pubDate>Tue, 06 Jan 2026 16:00:00 +0000</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/2026-01-06-replace-thermostat/</guid><description><![CDATA[<p>The engine coolant temperature gauge reports temperatures that are too low. The engine never reaches the proper operating temperature. The cabin air heating system produces only slightly hotter-than-ambient air. The upper radiator hose begins to warm immediately on starting the car. These are all symptoms of a thermostat that is stuck in the open position. I bought a new one from automotive store.</p>
<h2 id="-parts-and-equipment">🛠️ Parts and equipment</h2>
<p>I need a few tools and the replacement part:</p>]]></description></item><item><title>🔌 Cable Managing</title><link>https://log.nicholas.uuard.com/posts/2025-12-10-cable-management/</link><pubDate>Wed, 10 Dec 2025 20:03:00 -0600</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/2025-12-10-cable-management/</guid><description><![CDATA[<p>My computer rack would benefit from some better cable management. To facilitate this I need to make some modifications to the rack:</p>
<ul>
<li>Extend the rack to ≈30 in, up from ≈24 in. This wil give me more space at the rear to route cables.</li>
<li>Move server chassis down for 0U gap. This will give me more space at the top.</li>
<li>Put wheels back on the rack. This will allow me to roll out the entire rack from the wall for better access.</li>
</ul>
<p>I purchased these server rack tie bars to give me something to fasten the cables to. I use hook-and-loop straps for this.</p>]]></description></item><item><title>🫓 Par-baking Pizza Crusts</title><link>https://log.nicholas.uuard.com/posts/2025-12-07-mod-pizza-crust-par-bake/</link><pubDate>Sun, 07 Dec 2025 09:00:00 +0000</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/2025-12-07-mod-pizza-crust-par-bake/</guid><description>&lt;p>It is winter time. We live on the third and top floor of an apartment complex, top of the thermal strata. My downstairs neighbors&amp;rsquo; gas heaters, 250 W of plant lights, a server rack of computer equipment (which I have made some effort to make energy efficient for summertime), and various other, now 100% efficient heat-making household electrical appliances are all that are needed to heat our apartment, even at sustained temperatures as low as ~20°F.&lt;/p></description></item></channel></rss>