<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Build - Category - log - Nicholas Ward</title><link>https://log.nicholas.uuard.com/categories/build/</link><description>Build - Category - 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>Tue, 07 Jul 2026 10:00:00 -0500</lastBuildDate><atom:link href="https://log.nicholas.uuard.com/categories/build/" rel="self" type="application/rss+xml"/><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>🔝 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>🔌 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>🔦 Bicycle Battery Box and Headlamp</title><link>https://log.nicholas.uuard.com/posts/bicycle-headlamp/</link><pubDate>Tue, 12 Aug 2025 12:15:00 -0500</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/bicycle-headlamp/</guid><description><![CDATA[<p>Nighttime bicycle rides in the summer are ideal:</p>
<ul>
<li>🧊 cool temperatures</li>
<li>🚘 little traffic</li>
<li>🦝 nocturnal wildlife</li>
</ul>
<p>But it is not easy to see in the dark, so I bring a headlamp and <em>okay, fine, this works</em>. With my current headlamp I can see and be seen just fine. But there are some limitations. I see wonderfully directly ahead of me in the narrow cone of light provided, but at the edges of this light cone I see practically nothing at all, as though I am looking through a paper towel roll. The beam pattern is optimized for riding in a straight line, with little regard for what lies in the periphery. <strong>I would like a greater field of view, so I will need a lamp with a wide beam pattern.</strong></p>]]></description></item><item><title>🪫 Hoverboard Battery Salvage, Replacement</title><link>https://log.nicholas.uuard.com/posts/hoverboard-battery-salvage-replacement/</link><pubDate>Sun, 10 Aug 2025 11:00:00 -0500</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/hoverboard-battery-salvage-replacement/</guid><description><![CDATA[<p>I came into the possession of a malfunctioning hoverboard, volunteering to attempt a repair &ndash; at the very least a diagnosis. The nature of the malfunction was not known, but my initial guess was that the battery died. I took it home to see if I could fix it, hoping that I would be lucky and need only re-connect a loose connection.</p>
<h2 id="-troubleshooting">🔍 Troubleshooting</h2>
<p>I open up the electronics enclosure to expose the wiring to confirm my suspicion.</p>]]></description></item><item><title>🛒 Plant Cart Upgrade</title><link>https://log.nicholas.uuard.com/posts/2025-08-08-plant-cart-upgrade/</link><pubDate>Fri, 08 Aug 2025 08:00:00 -0500</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/2025-08-08-plant-cart-upgrade/</guid><description><![CDATA[<p>I need to upsize the plant cart. The current cart is undersized so I will replace it with a very large wire shelving unit.</p>
<h2 id="overview">Overview</h2>
<p>I use cable ties to affix the shop lights to the underside of the wire shelves. There are now three light units:</p>
<ul>
<li>4 ft shop light (2)</li>
<li>2 ft shop light</li>
</ul>
<p>The 2 ft shop light was meant for the old smaller plant cart. New lights are 4 ft long, matching the length of the shelving unit.The lights are powered by a power strip with a 6 ft cord. It is attached to the side of the wire shelf with yet more cable ties. I also removed the overhead EMT conduit-mounted spotlights since they have been replaced by a shop light. It is a cleaner look.</p>]]></description></item><item><title>🧂 Seasoning Labels</title><link>https://log.nicholas.uuard.com/posts/seasoning-labels/</link><pubDate>Wed, 23 Jul 2025 17:00:00 -0500</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/seasoning-labels/</guid><description>&lt;p>Based on my understanding of the food service industry and certain of its practices that most closely parallel those of a home cook (an understanding largely acquired passively by watching television shows and reading forum posts) one of the most recommended methods of seasoning storage is to place each seasoning in its own transparent plastic deli container &amp;ndash; lidded, labeled, and stacked. Elegant and simple. The rationale behind this container standard, which I have confirmed through firsthand experience, is as follows:&lt;/p></description></item><item><title>🚲 Bicycle Brakes Replacement</title><link>https://log.nicholas.uuard.com/posts/bicycle-brakes-replacement/</link><pubDate>Fri, 04 Jul 2025 19:00:00 -0500</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/bicycle-brakes-replacement/</guid><description><![CDATA[<h2 id="-bad-brakes">⚠️ Bad Brakes</h2>
<p>The brakes on my <strong>Trek FX 2 Disc Gen 3</strong> are not working well, and are of low quality generally. The main problem is the front brake lever piston push rod that is meant to convey the force of the brake lever to the hydraulic fluid came free from its socket. The brake still works, provided that the linkage is carefully positioned. Otherwise if it is out of its socket, it will not link the brake lever to the hydraulic lines and there will be no braking. This is adequate, most of the time (except that the brakes need to be bled constantly and are just not very good brakes), but brakes are too important to be merely <em>adequate, most of the time</em>. Both the front and rear will be replaced. Again, not totally necessary since each of the brakes still technically work.</p>]]></description></item><item><title>🧼 Whiteboard Build</title><link>https://log.nicholas.uuard.com/posts/whiteboard/</link><pubDate>Fri, 02 May 2025 12:00:00 -0600</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/whiteboard/</guid><description><![CDATA[<p>I need a sturdy, medium-sized whiteboard, and I would not like to pay much money. Mostly because I won&rsquo;t feel as bad when it is inevitably damaged or degraded as is inevitable with any cheap whiteboard. I can either buy a very small whiteboard of poor build quality, or I can make a fairly large one for roughly the same price. Easy decision.</p>
<hr>
<h2 id="plan">Plan</h2>
<p>I will buy a piece of hardboard with a smooth gloss whiteboard finish. Uncut, this would give me a 8′ × 4′ whiteboard, which is enormous for the space I have. 3′ × 3′ will be ideal.</p>]]></description></item><item><title>💡 Houseplant Grow Lights</title><link>https://log.nicholas.uuard.com/posts/grow-lights/</link><pubDate>Wed, 01 Jan 2025 16:30:00 +0000</pubDate><author>nicholas</author><guid>https://log.nicholas.uuard.com/posts/grow-lights/</guid><description><![CDATA[<p>It is winter and the days are short and dark. House plants grow better with more light. I will build two grow lights using off the shelf electric supplies.</p>



<figure class="video">
<video controls preload="metadata" width="100%"  autoplay="true" loop="true">
<source src="https://files.web-log.uuard.com/grow-lights/videos/timelapse-plant-full.webm" >
</video>
</figure>
<h2 id="summary">Summary</h2>
<p>The plants sit on a wire shelf cart. Some are not looking so good. The 4 notched posts that support the shelves are hollow inside, with an inner diameter that is a bit more than the outer diameter of 1/2&quot; EMT conduit. This is lucky, as it allows me to slot in a length of EMT conduit upon which I build the rest of the lamp. I am able to rotate the conduit inside the posts to change the direction of light, and the lamp holder adds an additional degree of freedom by allowing me to change the vertical tilt of the lamp. There is enough slop / allowance between the cart posts and the conduit that rotate easily, but not so much that the lamp is unstable. Thanks to electrical standards, all of the components I build off of the EMT conduit can be made compatible with each other. I plug an outlet strip into a remote switch my parents gave me for my birthday. The plants now reach directly upward instead of angling toward whichever direction the window happens to be that day (the cart moves a lot). The cart can still move around even tethered to a wall outlet. Mounting the lamps to the cart means no floor clutter to bump into. I am pleased with how the build process went, and the result.</p>]]></description></item></channel></rss>