<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on @schrockwell</title><link>https://schrockwell.com/</link><description>Recent content in Home on @schrockwell</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 02 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://schrockwell.com/index.xml" rel="self" type="application/rss+xml"/><item><title>MeshCore Repeater Setup</title><link>https://schrockwell.com/articles/meshcore-repeaters/</link><pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/articles/meshcore-repeaters/</guid><description>&lt;p&gt;Jump to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#sensecap-solar-node-p1-pro"&gt;SenseCAP Solar Node P1-Pro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#heltec-meshtower-v2"&gt;Heltec MeshTower V2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="repeater-settings"&gt;Repeater Settings&lt;/h1&gt;
&lt;p&gt;These are specific to the &lt;a href="https://ctmesh.org/"&gt;CT Mesh&lt;/a&gt;, particularly the 2-byte path hash (important!).&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Setting&lt;/th&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Public key (optional)&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;generate a custom 4-digit hex prefix, if desired&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Name&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;set&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Latitude &amp;amp; longitude&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;set&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Admin password&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;set&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Guest password&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;leave blank&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Radio settings&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;USA/Canada&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;TX Power (dBm)&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;22&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Advanced &amp;gt; Path hash mode&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;2-byte (1)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h1 id="sensecap-solar-node-p1-pro"&gt;&lt;a href="https://www.seeedstudio.com/SenseCAP-Solar-Node-P1-Pro-for-Meshtastic-LoRa-p-6412.html"&gt;SenseCAP Solar Node P1-Pro&lt;/a&gt;&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;Flashing
&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="https://meshcore.io/flasher"&gt;https://meshcore.io/flasher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Search for &amp;ldquo;Seeed Studio SenseCAP Solar&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Select &amp;ldquo;Repeater&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Connect USB-C&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Enter DFU mode&amp;rdquo;, select USB serial device, wait for checkmark on button&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Flash!&amp;rdquo; and wait for completion&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Settings
&lt;ol&gt;
&lt;li&gt;Bring up repeater settings page, either:
&lt;ol&gt;
&lt;li&gt;After flashing, click &amp;ldquo;Configure via USB&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Go to &lt;a href="https://meshcore.io/flasher"&gt;https://meshcore.io/flasher&lt;/a&gt; and click &amp;ldquo;Repeater Setup&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Connect&amp;rdquo;, select device&lt;/li&gt;
&lt;li&gt;Apply settings from the table, above&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Save settings&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="heltec-meshtower-v2"&gt;Heltec MeshTower V2&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://wiki.heltec.org/docs/devices/open-source-hardware/nrf52840-series/mesh-tower-v2/Usage"&gt;[Complete Docs]&lt;/a&gt;&lt;/p&gt;</description></item><item><title>August 2026</title><link>https://schrockwell.com/then/2026-08/</link><pubDate>Sat, 01 Aug 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/then/2026-08/</guid><description>&lt;h1 id="work"&gt;Work&lt;/h1&gt;
&lt;p&gt;I am currently splitting time between Remote Ham Radio and TRMNL.&lt;/p&gt;
&lt;p&gt;At RHR, the migration from Flex to Icom radios continues. 26 down, 32 to go. Not a lot else to report - it&amp;rsquo;s business as usual.&lt;/p&gt;
&lt;p&gt;At TRMNL, work continues to streamline the firmware development process. The number of open PRs is steadily declining, particularly the open-source contributions from our users. There have been some bumps along the way, but that&amp;rsquo;s expected with a faster release cadence. Things will improve over time, especially now that I have some free time to begin shoring up code quality.&lt;/p&gt;</description></item><item><title>July 2026</title><link>https://schrockwell.com/then/2026-07/</link><pubDate>Fri, 10 Jul 2026 17:05:39 -0400</pubDate><guid>https://schrockwell.com/then/2026-07/</guid><description>&lt;h1 id="worked"&gt;Worked&lt;/h1&gt;
&lt;p&gt;I&amp;rsquo;m currently splitting my time between &lt;a href="https://www.remotehamradio.com/"&gt;Remote Ham Radio&lt;/a&gt; and &lt;a href="https://trmnl.com/"&gt;TRMNL&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At RHR, we focused on shoring up the Icom radio transition - fixing bugs, improving speed and reliability, and so on. We have 15 radios live in the field now.&lt;/p&gt;
&lt;p&gt;At TRMNL, I have transitioned my work to primarily on firmware. My main goal right now is to improve our firmware release cadence by adopting new branching and release strategies, being proactive about triaging new issues and PRs, and just trying to stay unblocked in general. Some days of wrangling branches feel like a huge time sink with not a lot accomplished, but the effort is paying off, and things are continuing to improve. Soon, we wil be able to focus more on refactoring to take better advantage of OOP principles and reduce merge conflicts.&lt;/p&gt;</description></item><item><title>Classic Mac resources</title><link>https://schrockwell.com/articles/classic-mac/</link><pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/articles/classic-mac/</guid><description>&lt;h2 id="favorite-system-6-software"&gt;Favorite System 6 software&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://jcs.org/wallops"&gt;Wallops&lt;/a&gt; - modern (!) IRC client&lt;/li&gt;
&lt;li&gt;&lt;a href="https://macintoshgarden.org/apps/ncsa-telnet"&gt;NCSA Telnet 2.x&lt;/a&gt; - for BBSes and ham radio DX clusters&lt;/li&gt;
&lt;li&gt;&lt;a href="https://macintoshgarden.org/apps/fetch-212"&gt;Fetch&lt;/a&gt; - FTP client&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="development"&gt;Development&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bumbershootsoft.wordpress.com/platform-guide-classic-mac/"&gt;Platform Guide: Classic Mac | Bumbershoot Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/library/archive/documentation/mac/pdf/MacintoshToolboxEssentials.pdf"&gt;Macintosh Toolbox Essentials&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="repairs--maintenance"&gt;Repairs &amp;amp; Maintenance&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.cultofmac.com/804204/check-an-old-computer/"&gt;How to check an old computer before turning it on | Cult of Mac&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://siber-sonic.com/mac/MFSbootfloppy.html"&gt;Making a 400k MFS Boot Floppy on Any Beige Mac&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://recapamac.com.au/"&gt;Home - Recap-a-Mac&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=eC1nUblJpwQ"&gt;Tune-O-Gear Ejection FIX &amp;amp; LUBE for Apple 800K &amp;amp; 1.44MB floppy drives - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="information"&gt;Information&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://whitefiles.org/tec/pgs/h10b.htm"&gt;Classic Mac Ports&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://macintoshgarden.org/"&gt;Macintosh Garden - Celebrating Macintosh Abandonware!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://68kmla.org/bb/index.php"&gt;68kMLA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://siber-sonic.com/mac/newmillfloppy.html"&gt;Working with Macintosh Floppy Disks in the New Millennium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apple.fandom.com/wiki/List_of_Finder_versions"&gt;List of Finder versions | Apple Wiki | Fandom&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bluescsi.com/docs/WiFi-DaynaPORT"&gt;WiFi DaynaPORT - BlueSCSI v2 Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://web.archive.org/web/20000524123352/http://home.wanadoo.nl/ruud.dingemans/html/system6.html"&gt;System6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lowendmac.com/compact-macs/"&gt;Compact Macs | Low End Mac&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20061016102319/http://www.jagshouse.com/GetYourCompactMacOnTheWeb.html"&gt;Get Your Old Mac Online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bluescsi.com/docs/Compatibility"&gt;Compatibility - BlueSCSI v2 Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lowendmac.com/trouble/setboot.shtml"&gt;Changing Your Startup Drive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tinkerdifferent.com/resources/vintage-mac-boot-key-combos.146/"&gt;Vintage Mac Boot Key Combos | TinkerDifferent&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="accessories--hardware"&gt;Accessories &amp;amp; Hardware&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://rescuemyclassicmac.com/"&gt;RescueMyClassicMac&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.bigmessowires.com/floppy-emu/"&gt;Floppy Emu Disk Emulator for Apple II, Macintosh, and Lisa | Big Mess o&amp;rsquo; Wires&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.floppydisk.com/"&gt;floppydisk.com | floppy disk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.tindie.com/stores/ttdesign/"&gt;Browse products by TT Design on Tindie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bluescsi.com/"&gt;BlueSCSI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://diskjockey.onegeekarmy.eu/"&gt;Disk Jockey&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://applerescueofdenver.com/"&gt;Apple Rescue of Denver – We are the Life Preserver of your Mac – Both old and new!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://os9.shop/"&gt;OS9.shop - Buy the Ultimate Mac OS 9 Machine, an Upgraded Mac mini G4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lowendmac.com/2009/wifi-pc-cards-for-powerbooks-running-mac-os-9/"&gt;WiFi PC Cards for PowerBooks Running Mac OS 9 - Low End MacLow End Mac&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/VintageApple/comments/9qnfem/comment/e8cbr9u/?utm_source=share&amp;amp;utm_medium=web3x&amp;amp;utm_name=web3xcss&amp;amp;utm_term=1&amp;amp;utm_content=share_button"&gt;PCMCIA Ethernet Card with MacOS 8.5 Support? : r/VintageApple&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="software"&gt;Software&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The MOTHERLODE! &lt;a href="ftp://macos.retro-os.live"&gt;ftp://macos.retro-os.live&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tenox7/wrp"&gt;GitHub - tenox7/wrp: Web Rendering Proxy: Use vintage, historical, legacy browsers on modern web&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://macintoshgarden.org/"&gt;Macintosh Garden - Celebrating Macintosh Abandonware!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bluescsi.com/docs/BlueSCSI-Images"&gt;BlueSCSI Images - BlueSCSI v2 Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.synack.net/~bbraun/macapps.html"&gt;Classic MacOS Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.emaculation.com/home.html"&gt;E-Maculation Home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/CamHenlin/MessagesForMacintosh?tab=readme-ov-file"&gt;GitHub - CamHenlin/MessagesForMacintosh: An Apple iMessage client for classic Macintosh (System 2.0 - MacOS 9.2.2)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jcs.org/system6c"&gt;Series: C Programming on System 6 - joshua stein&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ambrosiaarchive.com/"&gt;Ambrosia archive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="ftp://repo1.macintoshgarden.org"&gt;ftp://repo1.macintoshgarden.org&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;macgarden&lt;/code&gt; / &lt;code&gt;publicdl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://machut.net"&gt;Mac Hut - Vintage Apple Mac Archives &amp;amp; Mac Abandonware&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://winworldpc.com/library/operating-systems"&gt;WinWorld: Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/hunterirving/macweb-2.0c-plus"&gt;GitHub - hunterirving/macweb-2.0c-plus: the MacWeb 2.0 browser, enhanced for black and white Macs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://68kmla.org/bb/index.php?threads/macintosh-se-30-system-7-5-3-8-1-hda-image-for-rom-upgraded-macs.40522/"&gt;Macintosh SE/30 System 7.5.3 &amp;amp; 8.1 HDA image for ROM upgraded Macs | 68kMLA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="disk-formats"&gt;Disk formats&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;SS/DD is a 400k disk&lt;/li&gt;
&lt;li&gt;DS/DD is an 800k disk&lt;/li&gt;
&lt;li&gt;According to &lt;a href="https://siber-sonic.com/mac/newmillfloppy.html"&gt;this page&lt;/a&gt;, some later floppies were marked as as SS when they were actually DS media, so that would explain why they are showing up as 800K&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="installing-mactcp-and-daynaport-on-system-6-on-mac-plus"&gt;Installing MacTCP and DaynaPORT on System 6 on Mac Plus&lt;/h2&gt;
&lt;p&gt;Based on &lt;a href="https://bluescsi.com/docs/WiFi-DaynaPORT"&gt;the official guide&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Flying</title><link>https://schrockwell.com/articles/flying/</link><pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/articles/flying/</guid><description>&lt;p&gt;I&amp;rsquo;m a licensed Private Pilot, and co-owner of a 1977 Piper Archer II.&lt;/p&gt;
&lt;figure class="img"&gt;
 &lt;a href="https://schrockwell.com/articles/flying/archer_hu_e482df0d30f774b2.jpeg"&gt;
 &lt;img src="https://schrockwell.com/articles/flying/archer_hu_e482df0d30f774b2.jpeg" width="1600" height="1067"
 alt="" loading="lazy"&gt;
 &lt;/a&gt;&lt;/figure&gt;</description></item><item><title>Hosting AIM &amp; ICQ</title><link>https://schrockwell.com/articles/aim-icq/</link><pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/articles/aim-icq/</guid><description>&lt;h2 id="server-setup"&gt;Server setup&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/mk6i/retro-aim-server"&gt;retro-aim-server&lt;/a&gt; - &lt;a href="https://github.com/mk6i/retro-aim-server/blob/main/docs/LINUX.md"&gt;Installation instructions&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set up DNS&lt;/li&gt;
&lt;li&gt;Configure &lt;code&gt;settings.env&lt;/code&gt;
&lt;ol&gt;
&lt;li&gt;Set &lt;code&gt;API_HOST&lt;/code&gt; and &lt;code&gt;OSCAR_HOST&lt;/code&gt; to hostname&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open TCP ports 5190-5197 in firewall&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="creating-systemd-service"&gt;Creating systemd service&lt;/h3&gt;
&lt;p&gt;As root:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ vim /etc/systemd/system/retro_aim_server.service &lt;span style="color:#75715e"&gt;# contents below!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ systemctl daemon-reload
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ systemctl enable retro_aim_server.service
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ systemctl start retro_aim_server.service
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Verify it&amp;#39;s running&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ systemctl status retro_aim_server.service
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Logs (-f to follow)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ journalctl -u retro_aim_server.service
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Contents of &lt;code&gt;/etc/systemd/system/retro_aim_server.service&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-systemd" data-lang="systemd"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;[Unit]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;Description&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;Retro AIM Server&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;After&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;network.target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;[Service]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;ExecStart&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;/root/retro_aim_server/retro_aim_server&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;WorkingDirectory&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;/root/retro_aim_server&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;Restart&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;always&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;User&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;root&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;[Install]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;WantedBy&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;multi-user.target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="aim-client"&gt;AIM client&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/mk6i/aim-for-macos"&gt;AIM client for macOS&lt;/a&gt; - version 5.9 is the latest and greatest&lt;/p&gt;</description></item><item><title>Palm OS resources</title><link>https://schrockwell.com/articles/palm/</link><pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/articles/palm/</guid><description>&lt;h2 id="emulation"&gt;Emulation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://cloudpilot-emu.github.io/app/#/tab/emulation"&gt;CloudpilotEmu&lt;/a&gt; - Web emulator&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apps.apple.com/us/app/cloudpilotemu/id6478502699"&gt;CloudpilotEmu iOS&lt;/a&gt; - iOS emulator&lt;/li&gt;
&lt;li&gt;&lt;a href="https://palmdb.net/app/palm-roms-complete"&gt;ROMS on PalmDB&lt;/a&gt; - for said emulators&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="apps"&gt;Apps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://palmdb.net/"&gt;PalmDB&lt;/a&gt; - every app you could want&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="modern"&gt;Modern&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jichu4n/palm-sync"&gt;palm-sync&lt;/a&gt; - HotSync drivers in JavaScript&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dmitry.gr/?r=05.Projects&amp;amp;proj=34.%20springSD"&gt;SpringSD&lt;/a&gt; - SD card interface for Handspring Visor&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Reading and writing HFS floppies</title><link>https://schrockwell.com/articles/hfs-floppies/</link><pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/articles/hfs-floppies/</guid><description>&lt;p&gt;&lt;a href="https://manpages.debian.org/jessie/hfsutils/index.html"&gt;hfsutils manpage&lt;/a&gt; :: &lt;a href="https://osxdaily.com/2024/02/27/how-to-mount-copy-hfs-classic-mac-drives-on-macos/"&gt;OS X Daily article&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a slightly-janky way to copy files to and from HFS-formatted floppies created on System 6 or 7. It works on modern macOS with a &lt;a href="https://amzn.to/4rX7GUc"&gt;USB floppy drive&lt;/a&gt; and 1.44 MB disks. 400K and 800K disks don&amp;rsquo;t work in modern drives.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;Install &lt;code&gt;hfsutils&lt;/code&gt; via Homebrew.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install hfsutils
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You need root access to do anything else beyond this point, so run &lt;code&gt;sudo -s&lt;/code&gt; to get a root shell.&lt;/p&gt;</description></item><item><title>Setting up FTP servers and clients</title><link>https://schrockwell.com/articles/ftp/</link><pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/articles/ftp/</guid><description>&lt;p&gt;FTP is convenient for vintage computers that are online but do not support SFTP.&lt;/p&gt;
&lt;h2 id="ftp-clients"&gt;FTP clients&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://macintoshgarden.org/apps/fetch-212"&gt;Fetch&lt;/a&gt; for System 6.x - Mac OS&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="set-up-an-ftp-server"&gt;Set up an FTP server&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;: FTP is an outdated, insecure protocol on the modern Internet. Use firewall rules to ensure the server only exposed to trusted IP addresses.&lt;/p&gt;
&lt;p&gt;This server uses &lt;a href="https://security.appspot.com/vsftpd.html"&gt;vsftpd&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;On Ubuntu:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install vsftpd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;adduser &lt;span style="color:#75715e"&gt;# to make a new FTP user&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Edit &lt;code&gt;/etc/vsftpd.conf&lt;/code&gt; and change:&lt;/p&gt;</description></item><item><title>My development stack</title><link>https://schrockwell.com/articles/dev-tools/</link><pubDate>Sat, 13 Jun 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/articles/dev-tools/</guid><description>&lt;h3 id="coding"&gt;Coding&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/"&gt;Visual Studio Code&lt;/a&gt; - editor &lt;em&gt;du jour&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gitfox.app/"&gt;Gitfox&lt;/a&gt; - git GUI client&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tableplus.com/"&gt;TablePlus&lt;/a&gt; - client for &lt;em&gt;all&lt;/em&gt; the databases&lt;/li&gt;
&lt;li&gt;&lt;a href="https://iterm2.com/"&gt;iTerm2&lt;/a&gt; - terminal&lt;/li&gt;
&lt;li&gt;&lt;a href="https://claude.ai/login"&gt;Claude&lt;/a&gt; - a great assistant&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://obsidian.md/"&gt;Obsidian&lt;/a&gt; - note-taking, documenting&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.omnigroup.com/omnigraffle"&gt;OmniGraffle&lt;/a&gt; - diagramming&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cleanshot.com/"&gt;CleanShot X&lt;/a&gt; - screenshots&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="tooling"&gt;Tooling&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://asdf-vm.com/"&gt;asdf&lt;/a&gt; - runtime management for Ruby, Node, Go, Elixir, etc.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://direnv.net/"&gt;direnv&lt;/a&gt; - local environment vars&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/schrockwell/sse"&gt;sse&lt;/a&gt; - secrets management&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Personal web app hosting</title><link>https://schrockwell.com/articles/hosting/</link><pubDate>Sat, 13 Jun 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/articles/hosting/</guid><description>&lt;p&gt;I have a lot of solo side-projects. Many of them are web apps with very modest resource requirements. Managing their deployments isn&amp;rsquo;t fun. And it&amp;rsquo;s easy to forget how to do them in the months (or years) between releases.&lt;/p&gt;
&lt;p&gt;So here&amp;rsquo;s my simple, standardized, reproducible, inexpensive playbook for easy deployments.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="hosting"&gt;Hosting&lt;/h2&gt;
&lt;p&gt;I use &lt;a href="https://m.do.co/c/93be971f59d7"&gt;DigitalOcean&lt;/a&gt;. Linode could work too.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;VM&lt;/strong&gt;: one &lt;a href="https://m.do.co/c/93be971f59d7"&gt;DigitalOcean&lt;/a&gt; Droplet
&lt;ul&gt;
&lt;li&gt;2 GB RAM / 50 GB disk ($12/mo + $3/mo for backups)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Database&lt;/strong&gt;: SQLite (free)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Storage&lt;/strong&gt;: &lt;a href="https://m.do.co/c/93be971f59d7"&gt;DigitalOcean&lt;/a&gt; Spaces Object Storage ($5/mo)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Domains and DNS&lt;/strong&gt;: &lt;a href="https://hover.com/7SJP3hBt"&gt;Hover&lt;/a&gt; and &lt;a href="https://m.do.co/c/93be971f59d7"&gt;DigitalOcean&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="secrets"&gt;Secrets&lt;/h2&gt;
&lt;p&gt;Secret environment variables like API keys are manged by &lt;a href="https://github.com/schrockwell/sse"&gt;SSE&lt;/a&gt;, a tool I wrote to fulfill this exact need.&lt;/p&gt;</description></item><item><title>June 2026</title><link>https://schrockwell.com/then/2026-06/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/then/2026-06/</guid><description>&lt;h2 id="worked"&gt;Worked&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m currently splitting time betwen &lt;a href="https://www.remotehamradio.com"&gt;Remote Ham Radio&lt;/a&gt; and &lt;a href="https://trmnl.com"&gt;TRMNL&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At RHR, the transition from FlexRadio to Icom continues at full steam. As of today, 14 stations have been migrated, with 39 to go. It sounds like a lot, but it&amp;rsquo;s going quickly. Check back next month.&lt;/p&gt;
&lt;p&gt;Integration with third-party hardware and software continues to be a pain point. Users want to connect their native applications and physical devices to RHR, but of course we are sandboxed in the browser, which limits our connectivity options. Luckily &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API"&gt;Web Serial&lt;/a&gt; and &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API"&gt;Web MIDI&lt;/a&gt; APIs have come a long way recently (Firefox just added WebSerial this month!), enabling us to integrate whole classes of hardware controllers without any external dependencies.&lt;/p&gt;</description></item><item><title>May 2026</title><link>https://schrockwell.com/then/2026-05/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/then/2026-05/</guid><description>&lt;h2 id="worked"&gt;Worked&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m currently splitting time betwen &lt;a href="https://www.remotehamradio.com"&gt;Remote Ham Radio&lt;/a&gt; and &lt;a href="https://trmnl.com"&gt;TRMNL&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At RHR, we began rolling out Icom radio to our stations. This includes the IC-7300MK2, IC-7610, and IC-9700. As a collection, these models will enable us to easily cover all bands from 160m through 23cm. The biggest unknowns and challenges so far have been related to integrating with external hardware like amplifiers and tuners, but we haven&amp;rsquo;t found any show-stoppers yet. We started the business with the Elecraft K3 in 2012, transitioned to Flex Radio in 2019, and we&amp;rsquo;d like to finish this latest transition by the end of 2026. I guess these things come every seven years. Like cicadas? Anyway, check back in 2033.&lt;/p&gt;</description></item><item><title>April 2026</title><link>https://schrockwell.com/then/2026-04/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/then/2026-04/</guid><description>&lt;h2 id="work"&gt;Work&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m currently splitting time betwen &lt;a href="https://www.remotehamradio.com"&gt;Remote Ham Radio&lt;/a&gt; and &lt;a href="https://trmnl.com"&gt;TRMNL&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At RHR, we&amp;rsquo;re focusing on application and hardware stability. This involves a lot of deep-dive bug fixes and stripping down existing functionality to the core features that people actually use.&lt;/p&gt;
&lt;p&gt;We had a week-long TRMNL company retreat which was an amazing experience. I got to meet my teammates in person for the first time, and all things considered there was a lot of hang-out-and-code-in-the-same-room going on. I even got to use my 3D-printing design skills for something practicable.&lt;/p&gt;</description></item><item><title>March 2026</title><link>https://schrockwell.com/then/2026-03/</link><pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/then/2026-03/</guid><description>&lt;h2 id="work"&gt;Work&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m currently splitting time betwen &lt;a href="https://www.remotehamradio.com"&gt;Remote Ham Radio&lt;/a&gt; and &lt;a href="https://trmnl.com"&gt;TRMNL&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At RHR, the &lt;a href="https://desecheo2026.com/kp5/"&gt;Desecho Island DXpeditino&lt;/a&gt; has passed 100,000 contacts in just over a month. It&amp;rsquo;s been about 50% FT4 and FT8, 30% CW, and 20% phone. Not bad for an unattended station with marginal antennas.&lt;/p&gt;
&lt;p&gt;At &lt;a href="https://trmnl.com/"&gt;TRMNL&lt;/a&gt;, work continues to prepare to TRMNL X. We are also doing a lot in the BYOD (Bring Your Own Device) space.&lt;/p&gt;
&lt;h2 id="rewriting-sota-goat-in-swift"&gt;Rewriting SOTA Goat in Swift&lt;/h2&gt;
&lt;p&gt;My iOS app &lt;a href="https://ww1x.radio/sotagoat/"&gt;SOTA Goat&lt;/a&gt; has been written entirely in Objective-C since its inception in 2012. I didn&amp;rsquo;t hate that, but it was a barrier that prevented me from actively working on the app. It badly needed updates for iOS 26, plus I wanted to add some features that folks had been requesting for years.&lt;/p&gt;</description></item><item><title>February 2026</title><link>https://schrockwell.com/then/2026-02/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid>https://schrockwell.com/then/2026-02/</guid><description>&lt;h2 id="work"&gt;Work&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m currently splitting time betwen &lt;a href="https://www.remotehamradio.com"&gt;Remote Ham Radio&lt;/a&gt; and &lt;a href="https://trmnl.com"&gt;TRMNL&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At RHR, we have been working hard supporting the &lt;a href="https://desecheo2026.com/kp5/"&gt;Desecho Island DXpedition&lt;/a&gt;. Over 50,000 contacts have been made from the remotely-controlled station on the uninhabited island. It has solar power, Starlink, and two amateur radio stations with radios and antennas. There&amp;rsquo;s even a &lt;a href="https://clublog.org/livestream/KP5/NP3VI"&gt;realtime stream of contacts&lt;/a&gt; being made.&lt;/p&gt;
&lt;p&gt;At TRMNL we&amp;rsquo;re busy preparing for the launch of the bigger, badder, more capable &lt;a href="https://www.youtube.com/watch?v=D0wQ8gCxCvw"&gt;TRMNL X&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Buddipole</title><link>https://schrockwell.com/projects/13070-buddipole/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/13070-buddipole/</guid><description>&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/Z6ATX2Z9ews?si=PVKX-xLVv0DVHQDc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;</description></item><item><title>Click on Bricks</title><link>https://schrockwell.com/projects/00000-click-on-bricks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/00000-click-on-bricks/</guid><description>&lt;p&gt;&lt;a href="https://web.archive.org/web/20040414061736/http://kathyschrock.net/clickonbricks/"&gt;See it on The Wayback Machine.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In 1998, I entered the very first-ever &lt;a href="https://en.wikipedia.org/wiki/Oracle_Thinkquest"&gt;ThinkQuest&lt;/a&gt; Junior contest as a fifth-grader, on a team with a student from another district.&lt;/p&gt;
&lt;p&gt;Our entry, &lt;em&gt;Click On Bricks&lt;/em&gt;, taught the basics of multiplication through visualizations of LEGO-style bricks generated from the software &lt;a href="https://archive.org/details/gryphon-bricks"&gt;Gryphon Bricks&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It was good enough for a fifth-place win in the Mathematics category. I used the cash prize to open up my very first bank account.&lt;/p&gt;</description></item><item><title>Cooking Up a Storm</title><link>https://schrockwell.com/projects/09240-cooking-up-a-storm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/09240-cooking-up-a-storm/</guid><description>&lt;p&gt;In 2009 I took part in NOAA&amp;rsquo;s &lt;a href="https://www.noaa.gov/office-education/hollings-scholarship"&gt;Ernest F. Hollings Undergraduate Scholarship&lt;/a&gt; at the &lt;a href="https://www.ou.edu/nwc"&gt;National Weather Center&lt;/a&gt; in Norman, OK.&lt;/p&gt;
&lt;p&gt;Throughout the summer internship, I created an educational presentation for &lt;a href="https://sos.noaa.gov/"&gt;Science On a Sphere&lt;/a&gt; about the formation of supercell thunderstorms.&lt;/p&gt;
&lt;video controls="" poster="https://sos.noaa.gov/ftp_mirror/extras/nssl_storm/media/thumbnail_big.jpg" width="400" height="400" class="margin-x-auto" id="html5_media_vnfj2rloqog"&gt;
 &lt;source src="https://sos.noaa.gov/videos/nssl_storm_400.mp4"&gt;
 &lt;img alt="" src="https://sos.noaa.gov/ftp_mirror/extras/nssl_storm/media/thumbnail_big.jpg"&gt;
 &lt;/video&gt;</description></item><item><title>cultofdone.org</title><link>https://schrockwell.com/projects/26242-cult-of-done/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/26242-cult-of-done/</guid><description>&lt;p&gt;&lt;a href="https://cultofdone.org/"&gt;https://cultofdone.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Cult of Done Manifesto has guided me to finish (or destroy (or share on the internet)) projects since its inception in 2009.&lt;/p&gt;
&lt;p&gt;The original post from Bre Pettis is gone, and I was never a fan of &lt;a href="https://medium.com/@bre/the-cult-of-done-manifesto-724ca1c2ff13"&gt;the updated Medium post&lt;/a&gt; and its infographics. I wanted something I was proud to share.&lt;/p&gt;</description></item><item><title>DockYard</title><link>https://schrockwell.com/projects/21150-dockyard/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/21150-dockyard/</guid><description>&lt;p&gt;As part of the team at &lt;a href="https://dockyard.com/"&gt;DockYard&lt;/a&gt;, I consulted with clients to build &lt;a href="https://phoenixframework.org/"&gt;Phoenix&lt;/a&gt; web applications.&lt;/p&gt;
&lt;p&gt;Clients included &lt;a href="https://dockyard.com/work/case-studies/veeps"&gt;Veeps&lt;/a&gt;, &lt;a href="https://dockyard.com/work/case-studies/kamana"&gt;Kamana&lt;/a&gt;, and others.&lt;/p&gt;</description></item><item><title>Does Not Compute</title><link>https://schrockwell.com/projects/18290-does-not-compute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/18290-does-not-compute/</guid><description/></item><item><title>ESPHome gauge</title><link>https://schrockwell.com/projects/25140-esphome-gauge/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/25140-esphome-gauge/</guid><description>&lt;p&gt;&lt;em&gt;Converting an analog Western Electric meter to be used as a smart home gauge with ESPHome&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="components"&gt;Components&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://amzn.to/4dsGXc0"&gt;NodeMCU ESP32&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.mouser.com/ProductDetail/Hammond-Manufacturing/1455C801?qs=Omd18uQ5iJG65Q2olOV0Dw%3D%3D&amp;amp;countryCode=US&amp;amp;currencyCode=USD"&gt;Hammond 1455C801 enclosure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;DC barrels&lt;/li&gt;
&lt;li&gt;10k potentiometer&lt;/li&gt;
&lt;li&gt;3D-printed panel&lt;/li&gt;
&lt;li&gt;3D-printed mounting bracket&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/4k5l98V"&gt;Alien Tape&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="esphome-config"&gt;ESPHome config&lt;/h2&gt;
&lt;figure class="img"&gt;
 &lt;a href="https://schrockwell.com/projects/25140-esphome-gauge/build-1_hu_6be010d0b8840d65.png"&gt;
 &lt;img src="https://schrockwell.com/projects/25140-esphome-gauge/build-1_hu_6be010d0b8840d65.png" width="498" height="316"
 alt="ESP32 pinout" loading="lazy"&gt;
 &lt;/a&gt;&lt;/figure&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;output&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;platform&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;esp32_dac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;pin&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;GPIO25&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;id&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;dac_output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;number&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;platform&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;template&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;My Gauge&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;optimistic&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;min_value&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;max_value&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;step&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;set_action&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;lambda&lt;/span&gt;: |-&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; id(dac_output).set_level(x / 100.0);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="gallery"&gt;Gallery&lt;/h2&gt;
&lt;figure class="img"&gt;
 &lt;a href="https://schrockwell.com/projects/25140-esphome-gauge/build-2_hu_b6217829b25189b6.jpeg"&gt;
 &lt;img src="https://schrockwell.com/projects/25140-esphome-gauge/build-2_hu_b6217829b25189b6.jpeg" width="1024" height="768"
 alt="Internals" loading="lazy"&gt;
 &lt;/a&gt;&lt;figcaption&gt;Internals&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class="img"&gt;
 &lt;a href="https://schrockwell.com/projects/25140-esphome-gauge/build-3_hu_86c5e6b460b06e45.jpeg"&gt;
 &lt;img src="https://schrockwell.com/projects/25140-esphome-gauge/build-3_hu_86c5e6b460b06e45.jpeg" width="1024" height="768"
 alt="Jammed in the enclosure" loading="lazy"&gt;
 &lt;/a&gt;&lt;figcaption&gt;Jammed in the enclosure&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class="img"&gt;
 &lt;a href="https://schrockwell.com/projects/25140-esphome-gauge/build-4_hu_f77b7a6bd7d6543b.jpeg"&gt;
 &lt;img src="https://schrockwell.com/projects/25140-esphome-gauge/build-4_hu_f77b7a6bd7d6543b.jpeg" width="1024" height="768"
 alt="Mounted to the back of the meter" loading="lazy"&gt;
 &lt;/a&gt;&lt;figcaption&gt;Mounted to the back of the meter&lt;/figcaption&gt;&lt;/figure&gt;</description></item><item><title>GBCMR</title><link>https://schrockwell.com/projects/26090-gbcmr/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/26090-gbcmr/</guid><description>&lt;p&gt;The &lt;a href="https://en.wikipedia.org/wiki/Game_Boy_Camera"&gt;Game Boy Camera&lt;/a&gt; is a perfect match for &lt;a href="https://trmnl.com/"&gt;TRMNL&lt;/a&gt;. They&amp;rsquo;re both personal, minimal, and - most importantly - 2-bit grayscale.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s why I created &lt;a href="https://gbcmr.schrockwell.com/"&gt;GBCMR&lt;/a&gt;. It fulfills a few goals:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Offload photos directly from Game Boy Camera with &lt;a href="https://www.gbxcart.com/"&gt;GBxCart RW&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Create and share photo galleries with your friends&lt;/li&gt;
&lt;li&gt;Stream that gallery to TRMNL e-ink displays&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="photo-download-and-conversion"&gt;Photo Download and Conversion&lt;/h2&gt;
&lt;p&gt;This is pure JavaScript in the browser. It requires &lt;a href="https://caniuse.com/web-serial"&gt;WebSerial&lt;/a&gt; support. Chrome, Edge, or related browsers are supported, but not Firefox or Safari.&lt;/p&gt;</description></item><item><title>HeathKit SB-102</title><link>https://schrockwell.com/projects/26200-heathkit-sb-102/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/26200-heathkit-sb-102/</guid><description/></item><item><title>Keysight (Agilent)</title><link>https://schrockwell.com/projects/13030-keysight-agilent/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/13030-keysight-agilent/</guid><description/></item><item><title>Lightning Talk - ElixirConf 2017</title><link>https://schrockwell.com/projects/17380-elixirconf-2017/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/17380-elixirconf-2017/</guid><description>&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/Ty6rkz7eg6Y?si=9poj4I98J54zHJN-" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;</description></item><item><title>MacDown</title><link>https://schrockwell.com/projects/26211-macdown/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/26211-macdown/</guid><description>&lt;h2 id="download"&gt;Download&lt;/h2&gt;
&lt;p&gt;Precompiled packages in various formats are available from &lt;a href="https://github.com/schrockwell/MacDown/releases"&gt;the releases page&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Markdown-aware editing of headings, bold/italic, lists, blockquote, etc&lt;/li&gt;
&lt;li&gt;Auto todo list toggle for GitHub-style tasks like &lt;code&gt;- [ ] todo&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Multi-document support&lt;/li&gt;
&lt;li&gt;Integrated file browser for easy navigation between files&lt;/li&gt;
&lt;li&gt;Modern keyboard shortcuts for text and window manipulation&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Macintosh Classic II</title><link>https://schrockwell.com/projects/26020-macintosh-classic-ii/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/26020-macintosh-classic-ii/</guid><description/></item><item><title>Macintosh SE/30</title><link>https://schrockwell.com/projects/25350-macintosh-se-30/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/25350-macintosh-se-30/</guid><description/></item><item><title>METAR Map of Florida</title><link>https://schrockwell.com/projects/22360-metar-map-of-florida/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/22360-metar-map-of-florida/</guid><description/></item><item><title>METAR Map of the Northeast</title><link>https://schrockwell.com/projects/19050-metar-map-of-the-northeast/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/19050-metar-map-of-the-northeast/</guid><description>&lt;p&gt;I have built two 24x36&amp;quot; maps that display airport weather conditions using individually-addressable LEDs. They are powered by Raspberry Pi Zero W&amp;rsquo;s running &lt;a href="https://github.com/schrockwell/metar_map_nerves"&gt;a custom Elixir Nerves application&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;They are constructed from MDF with a printed map glued on top. LEDs shine through the map, making it magically come alive when powered on. They also have &lt;a href="https://en.wikipedia.org/wiki/Photoresistor"&gt;LDR sensors&lt;/a&gt; to automatically dim the LEDs when the room is dark. The frames are custom-made 1x3&amp;quot; stained pine.&lt;/p&gt;</description></item><item><title>Now</title><link>https://schrockwell.com/now/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/now/</guid><description>&lt;p&gt;This page&amp;rsquo;s body is ignored — the &lt;code&gt;now&lt;/code&gt; template renders the most recent
update from /then/ automatically. Add a new month with ./bin/new-now and
/now/ follows along on the next build.&lt;/p&gt;</description></item><item><title>PowerBook 180c</title><link>https://schrockwell.com/projects/25171-powerbook-180c/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/25171-powerbook-180c/</guid><description/></item><item><title>PowerBook G3</title><link>https://schrockwell.com/projects/25170-powerbook-g3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/25170-powerbook-g3/</guid><description/></item><item><title>Remote Ham Radio</title><link>https://schrockwell.com/projects/12380-remote-ham-radio/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/12380-remote-ham-radio/</guid><description/></item><item><title>RHR KeyMate XIAO</title><link>https://schrockwell.com/projects/26241-keymate-xiao/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/26241-keymate-xiao/</guid><description>&lt;p&gt;Based on the &lt;a href="https://www.seeedstudio.com/XIAO-RP2040-v1-0-p-5026.html"&gt;Seeed Studio XIAO RP2040&lt;/a&gt;, the KeyMate acts as USB MIDI interface between Morse code keys and transceivers.&lt;/p&gt;
&lt;p&gt;In client mode, it precisely timestamps every key-down and key-up transition, emitting MIDI events in the &lt;a href="https://github.com/NetKeyer/MoMIDI-Spec"&gt;MoMIDI spec&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In server mode, it use an optoisolator to drive the key input to a radio, accurately reconstructing the timestamped key signals.&lt;/p&gt;</description></item><item><title>schrockwell.com</title><link>https://schrockwell.com/projects/26240-schrockwell-com-hugo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/26240-schrockwell-com-hugo/</guid><description>&lt;p&gt;My personal site at &lt;a href="https://schrockwell.com"&gt;schrockwell.com&lt;/a&gt; was rewritten to use the &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt; static site framework.&lt;/p&gt;
&lt;p&gt;It adds the concept of &amp;ldquo;Projects&amp;rdquo; with unique numeric identifiers and tagged categories.&lt;/p&gt;</description></item><item><title>smellycamp.us</title><link>https://schrockwell.com/projects/09360-smellycampus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/09360-smellycampus/</guid><description>&lt;p&gt;&lt;a href="https://smellycamp.us/"&gt;https://smellycamp.us/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Created during my senior year at the &lt;a href="https://uconn.edu/"&gt;University of Connecticut&lt;/a&gt;, this app analyzes weather model data to come up with a weekly forecast for the Horse Barn Index (HBI) - a score from 0 to 5 of how stinky the air will be.&lt;/p&gt;
&lt;p&gt;A statically-generated site originally written in Ruby, it was rewritten in Go in 2026.&lt;/p&gt;</description></item><item><title>SOTA Goat</title><link>https://schrockwell.com/projects/12500-sota-goat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/12500-sota-goat/</guid><description/></item><item><title>SSE - Stupidly Simple Environments</title><link>https://schrockwell.com/projects/26050-sse/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/26050-sse/</guid><description>&lt;p&gt;SSE is a highly-opinionated, platform-agnostic tool for managing secret environment variables.&lt;/p&gt;
&lt;p&gt;Secrets are saved in an encrypted TOML file that is safe to check into version control. Only the &lt;code&gt;master.key&lt;/code&gt; file is required to decrypt and edit it. Multiple environments are supported; &lt;code&gt;development&lt;/code&gt; is the default.&lt;/p&gt;
&lt;p&gt;SSE draws inspiration from &lt;a href="https://thoughtbot.com/blog/switching-from-env-files-to-rails-credentials"&gt;Rails credentials&lt;/a&gt; and &lt;a href="https://github.com/getsops/sops"&gt;SOPS&lt;/a&gt;. It uses &lt;a href="https://github.com/FiloSottile/age"&gt;age&lt;/a&gt; for encryption.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s a single-file executable with no external dependencies, so it&amp;rsquo;s easy to integrate with development, build, and deployment environments.&lt;/p&gt;</description></item><item><title>SundiaLED</title><link>https://schrockwell.com/projects/24070-sundialed/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/24070-sundialed/</guid><description>&lt;p&gt;SundiaLED is a linear clock that uses a string of LEDs to indicate sunrise, sunset, and the current position of the sun.&lt;/p&gt;
&lt;p&gt;Powered by an &lt;a href="https://www.adafruit.com/product/2772"&gt;Adafruit Feather M0&lt;/a&gt;, it uses GPS to automatically determine the sun&amp;rsquo;s position and length of the day based on the current longitude, latitude, and date.&lt;/p&gt;
&lt;h2 id="todo"&gt;TODO&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Working prototype&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Add (or fully convert to) RTC for time (GPS doesn&amp;rsquo;t always acquire very well indoors…)&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Publish source code&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Publish basic plans &amp;amp; schematic&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ideas"&gt;Ideas&lt;/h2&gt;
&lt;p&gt;Maybe a &lt;em&gt;round&lt;/em&gt; version, like an actual sundial/clock, makes more sense? Certainly would be easier to find a spot on the wall for it.&lt;/p&gt;</description></item><item><title>TashTalk USB Enclosure</title><link>https://schrockwell.com/projects/26210-tashtalk-usb-enclosure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/26210-tashtalk-usb-enclosure/</guid><description/></item><item><title>Traffic Light</title><link>https://schrockwell.com/projects/05210-traffic-light/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/05210-traffic-light/</guid><description>&lt;p&gt;When I was in high school, my parents bought me a traffic signal for my birthday. Why? I don&amp;rsquo;t know. But I was determined to do something cool with it.&lt;/p&gt;
&lt;p&gt;It was featured on &lt;a href="https://hackaday.com/2005/05/29/ambient-traffic-light/"&gt;Hackaday&lt;/a&gt; (and &lt;a href="https://hackaday.com/2010/01/05/arduino-traffic-light/"&gt;again&lt;/a&gt;) in 2005.&lt;/p&gt;
&lt;p&gt;I was also interviewed for a feature in the book &lt;a href="https://www.makershed.com/collections/make-books/products/makers"&gt;&lt;em&gt;Makers&lt;/em&gt; by Bob Parks&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A decade later, after purchasing our first house, I added an ultrasonic sensor and converted it to a &lt;a href="https://www.youtube.com/watch?v=lkd13r_AlNE"&gt;garage parking assistant&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>TRMNL</title><link>https://schrockwell.com/projects/25050-trmnl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/25050-trmnl/</guid><description/></item><item><title>Woodshop shed</title><link>https://schrockwell.com/projects/26170-woodshop-shed/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://schrockwell.com/projects/26170-woodshop-shed/</guid><description/></item></channel></rss>