<?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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Gears of Resistance]]></title><description><![CDATA[Hello World! I'm Mike and I build contraptions where gears, circuits, and bytes run wild together. Follow along as I experience the highs and lows of running a tradigitial design/fabrication workshop, Green Shoe Garage.]]></description><link>https://gearsofresistance.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!b--F!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb61656f6-c13a-4da1-b5d1-9878fc98336c_322x322.png</url><title>Gears of Resistance</title><link>https://gearsofresistance.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 06 Jun 2026 18:30:17 GMT</lastBuildDate><atom:link href="https://gearsofresistance.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Michael Parks]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[mike@greenshoegarage.com]]></webMaster><itunes:owner><itunes:email><![CDATA[mike@greenshoegarage.com]]></itunes:email><itunes:name><![CDATA[mbparks]]></itunes:name></itunes:owner><itunes:author><![CDATA[mbparks]]></itunes:author><googleplay:owner><![CDATA[mike@greenshoegarage.com]]></googleplay:owner><googleplay:email><![CDATA[mike@greenshoegarage.com]]></googleplay:email><googleplay:author><![CDATA[mbparks]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Introducing the Maker Almanac]]></title><description><![CDATA[A working catalog of bench reference data, kept by hand at the Mountain Maryland bench.]]></description><link>https://gearsofresistance.substack.com/p/introducing-the-maker-almanac</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/introducing-the-maker-almanac</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Thu, 04 Jun 2026 00:34:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mGBc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mGBc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mGBc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png 424w, https://substackcdn.com/image/fetch/$s_!mGBc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png 848w, https://substackcdn.com/image/fetch/$s_!mGBc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!mGBc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mGBc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png" width="1456" height="805" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:805,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:441575,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/200542484?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mGBc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png 424w, https://substackcdn.com/image/fetch/$s_!mGBc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png 848w, https://substackcdn.com/image/fetch/$s_!mGBc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!mGBc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673a998-2687-41ea-b959-a6af7c47362a_2876x1590.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>I used to keep a list above the bench. Tape, marker, half-illegible. Drill sizes for the taps I use most. The voltage drop on a 12-foot run of 14-gauge wire. The two resistor color codes I can never remember because my eyes argue with me about whether that band is red or orange.</p><p>The list grows. The list also disappears, taken down for paint, lost behind a cabinet, written over when a project ends.</p><p>This is the universal experience of working with your hands. The reference you need is never in your hand. It is in a book on a different shelf. It is in a PDF on a laptop that died. It is in a forum post from 2009. It is on a poster you owned and then somebody borrowed and then forgot, and now you are paying for premium printable charts from a website that pops up six modals before it lets you see the chart.</p><p>So I made my own.</p><p><strong>Maker Almanac</strong> is Field Instrument 007 in my ongoing series of small handmade tools. It is a single HTML file. You open it in any browser. It runs entirely offline once loaded. There are no logins. There are no ads. Nothing phones home. It does not know who you are. It will not remember what you searched for. It is a catalog, not a service.</p><p>What is in it:</p><p>Fifty-six sections across four categories. Electrical and electronics. Mechanical. Software. Shop and studio. Resistor color bands. SMD codes. Tap and drill charts in metric and imperial. Sheet metal bend allowance. Spring design. Beam deflection. Geometry solvers. Pyrometric cones for kiln work. Tannage references for leatherwork. Yarn count converters for weaving. Signature math for bookbinding. Adhesive selection. Finish selection. Composite layup. Jig design. Shop safety with noise exposure math. Photography exposure triangle. Videography codec reference. Audio recording fundamentals. Hardness conversions. Welding heat input. Pressure vessel hoop stress. Saddle stitch thread length. Pulley and belt calculations. Hardware sizing.</p><p>It is the closest thing I have ever made to that taped-up list above the bench. The difference is that it does not disappear behind the cabinet, and that I get to share it.</p><p>There is a philosophy underneath this thing that I want to name. Same one as <strong>MILEPOST</strong> (FI 003): the tool should get out of the way. The Maker Almanac does not nudge you. It does not have streaks. There is no leaderboard for how many laser cuts you ran this week. The page you do not need is not on screen. The page you do need is one keystroke away. Command-K, type three letters, hit return. It is the same gesture as flipping to a tabbed page in a real almanac, except it never sticks together because you got finish on your fingers last Tuesday.</p><p>I built it for me. I am putting it on the web because if it is worth building, it is worth sharing. Same principle that runs everything I make. The only ethical place to keep a reference like this is in public, where anyone who is going to start a bench tomorrow can find it.</p><p>A few specifics worth mentioning. The unit conversions are reversible everywhere. You can punch in 4.7k and get yellow, violet, red, gold, or you can pick the bands and read out the value. Same for the yarn count converter, same for the paper weight converter that bridges GSM and the strange American &#8220;100 lb cover&#8221; basis-weight system that nobody can ever remember. Calculators show their work, not just their answers, because if you cannot see the formula you cannot tell when the answer is wrong.</p><p>The whole thing is one HTML file. About 800 kilobytes. Fits on a thumb drive ten thousand times over. It will keep running in 2040 if browsers still load HTML, which I expect they will, because HTML is older than most of the software I have ever paid for and it is still here.</p><p>I am not selling anything. There is no paywall. There is a print button that will print a single section clean. If you want to pin a tap chart over your drill press, that is what the button is for. I tested it.</p><p>The list above my bench is going to come down soon. Not because I do not need it. I will still need it. But the file is going to be the thing I reach for. The list will still be there in spirit. The Almanac is just the version of it that does not blow away when I open the door.</p><p>The Maker Almanac lives at <strong><a href="https://mbparks.com/almanac">https://mbparks.com/almanac.</a></strong> It is free. It works offline. It is not done, because nothing I make is ever done, but it works, and you can use it today.</p><p>If you have a thing you wish was on the list, tell me. I will build it. The whole point of an almanac is that it keeps growing.</p>]]></content:encoded></item><item><title><![CDATA[I Wanted to Watch Every Pin On My Arduino At Once]]></title><description><![CDATA[So I Built a Single-File HTML Console to do Just That]]></description><link>https://gearsofresistance.substack.com/p/i-wanted-to-watch-every-pin-on-my</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/i-wanted-to-watch-every-pin-on-my</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Mon, 01 Jun 2026 00:44:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Py2D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A few weekends back I was trying to debug a sensor wired into an Uno R4 on my bench. Voltage looked fine on the multimeter. The serial monitor was spitting numbers but I could not see the shape of them. Was the signal drifting? Glitching? Picking up hum from the bench supply? I had no way to look at twenty seconds of pin behavior at a glance without writing a custom script for that specific problem.</p><p>This is a thing every embedded developer has lived through. You want something between printf statements and pulling out the proper bench oscilloscope. You want a window into the board that shows you <em>everything</em> it is doing right now, calibrated, time-aligned, with a strip chart, an FFT if you need one, alerts you can set, an I2C scanner when the bus goes quiet for no reason. A field instrument for the microcontroller itself.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Py2D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Py2D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png 424w, https://substackcdn.com/image/fetch/$s_!Py2D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png 848w, https://substackcdn.com/image/fetch/$s_!Py2D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!Py2D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Py2D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png" width="1400" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:170083,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/200034378?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Py2D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png 424w, https://substackcdn.com/image/fetch/$s_!Py2D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png 848w, https://substackcdn.com/image/fetch/$s_!Py2D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!Py2D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328ababc-3a68-40c0-9e59-ad54f893e640_1400x1000.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>What I had was the Arduino IDE Serial Monitor, which is a tiny window showing numbers scrolling by.</p><p>That mild irritation turned into a six-week build that I now use every time I touch a board. It is one HTML file. No build step, no framework, no install. I am calling it <strong>PinScope</strong>, and the source is up at:</p><p><strong><a href="https://github.com/mbparks/pinscope">https://github.com/mbparks/pinscope</a></strong></p><p>The docs site is at <strong><a href="https://mbparks.github.io/pinscope/">https://mbparks.github.io/pinscope/</a></strong>.</p><h2>What it does</h2><p>PinScope is a browser console for any Arduino-compatible board that can speak a tiny JSON line protocol. You flash one of the firmware sketches that ship with the repo (serial, BLE, or MQTT variants). You open <code>pinscope.html</code> in Chrome or Edge. You click a transport button. The page connects and you get this:</p><p>A live map of every digital and analog pin. Click a pin&#8217;s mode badge to cycle through input, input-pullup, output, PWM, or an interrupt-counted frequency mode for pulses and tachometers. Outputs toggle on click; PWM pins get a duty slider. Analog channels stream into a strip chart that holds up to 14 traces with per-channel stats, calibration in real units, threshold alerts, and oscilloscope-style triggering on rising or falling edges. There is an FFT tab and a waterfall spectrogram for the frequency-domain stuff, an XY scatter for Lissajous-style plots, an I2C scanner with four polling slots that feed virtual channels at up to 50 Hz, and a cross-pin math engine that lets you derive any channel as an expression of any other channels.</p><p>You can save the whole device&#8217;s configuration as a JSON file and restore it later. You can capture a run and replay it. You can stream samples straight to a CSV file as they arrive. There is a small scripted automation sandbox if you want to ramp a PWM pin and log the response. There is a sandboxed plugin system if you want to add your own panel that shows something I have not thought of.</p><p>All of it is one file. Once the page loads it makes zero further network requests. You can serve it from a Raspberry Pi, drop it on a USB stick, run it from a thumb drive in the field, embed it inside a CI pipeline, or pin it to localhost. It is the only file there is.</p><h2>The hard parts were the boring parts</h2><p>The interesting-looking pieces of this project (strip chart, FFT, spectrogram) were almost free. There are good algorithms for that stuff, JavaScript on a modern laptop can comfortably FFT a few thousand samples sixty times a second, and the visuals are just <code>&lt;canvas&gt;</code> work. None of that was where the weeks went.</p><p>The weeks went into the seams.</p><p>I needed the wire protocol to be small enough that any embedded person could speak it from a fresh sketch in an hour. That meant JSON over newline-delimited lines, hand-parsed on the firmware side without pulling in a JSON library. Each command and response had to be a single object on a single line, short enough to fit on a 9600-baud link if it had to.</p><p>I needed transports to be interchangeable. The same browser-side device card had to work whether bytes were coming over Web Serial, a WebSocket to a custom firmware, an MQTT topic, or a Bluetooth GATT characteristic. The transports each have their own quirks, and the device code had to not care which one was underneath.</p><p>I needed calibration to behave. A two-point fit wizard sounds simple until you realize the user might apply the same reference for both captures, and the math now divides by zero. The wizard refuses to fit in that case and tells you why, instead of silently producing a calibration that pegs every reading to one value.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fra7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6568d94-8a5a-45fb-889e-c7a8e810ada9_1420x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fra7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6568d94-8a5a-45fb-889e-c7a8e810ada9_1420x720.png 424w, https://substackcdn.com/image/fetch/$s_!Fra7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6568d94-8a5a-45fb-889e-c7a8e810ada9_1420x720.png 848w, https://substackcdn.com/image/fetch/$s_!Fra7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6568d94-8a5a-45fb-889e-c7a8e810ada9_1420x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Fra7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6568d94-8a5a-45fb-889e-c7a8e810ada9_1420x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fra7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6568d94-8a5a-45fb-889e-c7a8e810ada9_1420x720.png" width="1420" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6568d94-8a5a-45fb-889e-c7a8e810ada9_1420x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1420,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:64383,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/200034378?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6568d94-8a5a-45fb-889e-c7a8e810ada9_1420x720.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Fra7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6568d94-8a5a-45fb-889e-c7a8e810ada9_1420x720.png 424w, https://substackcdn.com/image/fetch/$s_!Fra7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6568d94-8a5a-45fb-889e-c7a8e810ada9_1420x720.png 848w, https://substackcdn.com/image/fetch/$s_!Fra7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6568d94-8a5a-45fb-889e-c7a8e810ada9_1420x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Fra7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6568d94-8a5a-45fb-889e-c7a8e810ada9_1420x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>I needed the plugin system to be safe. Anyone running PinScope can paste arbitrary JavaScript into the plugin manager and load it. That JavaScript runs inside an iframe sandboxed to <code>allow-scripts</code> only, with no same-origin access, no network, and a randomized postMessage bridge id so plugins cannot impersonate each other. The plugin source gets embedded into the sandbox via <code>JSON.stringify</code> and eval&#8217;d, which prevents template-literal breakout attacks on the host. There is a two-line dance around splitting <code>&lt;scr</code> + <code>ipt&gt;</code> tags so the host HTML parser does not terminate the script block early when a plugin&#8217;s srcdoc contains the closing tag as a string. Tiny detail, total silent failure if you do not handle it.</p><p>I needed the firmware to identify itself. The Arduino Uno R3 has a 10-bit ADC. The Uno R4, Nano 33 IoT, and Uno Q all have 12-bit ADCs. The firmware detects the host MCU at compile time and reports its <code>adcMax</code> value in the hello packet, so the browser-side scaling lines up with reality without the user ever having to set it.</p><p>None of these are interesting in isolation. All of them were necessary. This is the part of every project that nobody writes blog posts about, and it is where most of the actual craft lives.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eqgz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15430058-48c1-43a2-9759-374516288495_1400x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eqgz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15430058-48c1-43a2-9759-374516288495_1400x1200.png 424w, https://substackcdn.com/image/fetch/$s_!eqgz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15430058-48c1-43a2-9759-374516288495_1400x1200.png 848w, https://substackcdn.com/image/fetch/$s_!eqgz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15430058-48c1-43a2-9759-374516288495_1400x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!eqgz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15430058-48c1-43a2-9759-374516288495_1400x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eqgz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15430058-48c1-43a2-9759-374516288495_1400x1200.png" width="1400" height="1200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15430058-48c1-43a2-9759-374516288495_1400x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:196359,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/200034378?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15430058-48c1-43a2-9759-374516288495_1400x1200.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eqgz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15430058-48c1-43a2-9759-374516288495_1400x1200.png 424w, https://substackcdn.com/image/fetch/$s_!eqgz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15430058-48c1-43a2-9759-374516288495_1400x1200.png 848w, https://substackcdn.com/image/fetch/$s_!eqgz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15430058-48c1-43a2-9759-374516288495_1400x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!eqgz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15430058-48c1-43a2-9759-374516288495_1400x1200.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>What I keep relearning</h2><p>The gap between &#8220;I can imagine the tool&#8221; and &#8220;the tool works reliably on the real-world inputs people will throw at it&#8221; is wider than it ever feels at the start. I wrote about this same gap a few months ago in the <a href="https://gearsofresistance.substack.com/p/github-wont-show-me-circuit-boards">Gerber Viewer post</a>, and here it is again. Two completely different projects, same lesson.</p><p>The first half of any maker project is the part you can picture in your head. The second half is the part the real world hands you that you had no way of picturing. The 1200-bps touch-to-reset that some Arduino bootloaders need. The fact that browsers terminate inline scripts on the first literal <code>&lt;/script&gt;</code> they see, including ones inside strings. The way Google Fonts loads asynchronously, which means your hero font is fine online and looks wrong in any offline test environment. The 50 Hz upper cap on the wire protocol that comes from how many bytes will actually fit per state packet at 115200 baud, not from any clean theoretical reason.</p><p>Plan for that second half. Budget for it. Do not be surprised by it. Half the time it is the second half that turns a project into something worth keeping.</p><h2>Where to find it</h2><p>PinScope is open source under GPL-3.0.</p><ul><li><p>Source, install instructions, and the full feature reference: <a href="https://github.com/mbparks/pinscope">https://github.com/mbparks/pinscope</a></p></li><li><p>Docs site with screenshots and the bring-up walkthrough: <a href="https://mbparks.github.io/pinscope/">https://mbparks.github.io/pinscope/</a></p></li><li><p>The hardware bring-up checklist (Arduino Uno Q on macOS, phase-by-phase): <a href="https://mbparks.github.io/pinscope/bringup.html">https://mbparks.github.io/pinscope/bringup.html</a></p></li></ul><p>The firmware compiles for classic Arduino Uno, Uno R4 WiFi, Nano 33 IoT, and (experimentally) Uno Q. Real bench-side verification on Uno Q is the next thing on my list. If you give it a try and something breaks, the bug-report shape that helps me most is which bring-up phase you got to, what the pass criterion was, and what actually happened.</p><p>If you want me to build something like this for your project, hardware diagnostics or otherwise, that is what <a href="https://greenshoegarage.com/">Green Shoe Garage</a> does for a living. Reach out.</p>]]></content:encoded></item><item><title><![CDATA[The Tool Was Never The Point]]></title><description><![CDATA[The Eternal Struggle of the Next Generation of Artists and Craftspeople]]></description><link>https://gearsofresistance.substack.com/p/the-tool-was-never-the-point</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/the-tool-was-never-the-point</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Thu, 28 May 2026 23:29:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pqiN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pqiN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pqiN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png 424w, https://substackcdn.com/image/fetch/$s_!pqiN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png 848w, https://substackcdn.com/image/fetch/$s_!pqiN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png 1272w, https://substackcdn.com/image/fetch/$s_!pqiN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pqiN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png" width="1456" height="709" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:709,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1045615,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/199558946?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pqiN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png 424w, https://substackcdn.com/image/fetch/$s_!pqiN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png 848w, https://substackcdn.com/image/fetch/$s_!pqiN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png 1272w, https://substackcdn.com/image/fetch/$s_!pqiN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8c5e39-0590-4a8f-b7f2-c964649a5aad_1883x917.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>There is a sentence that gets said in every workshop, every studio, every conservatory, in every century, by someone who has spent their whole life mastering one way of making things. The sentence is some version of <em>that isn&#8217;t real art.</em> It has been said about the pencil, the press, the camera, the phonograph, the synthesizer, the mouse, and now the prompt. The accent changes. The complaint does not.</p><p>I want to walk through the history of that sentence, because once you see the pattern, you cannot unsee it. And once you cannot unsee it, you stop being afraid of whatever tool happens to be scaring everyone this week.</p><h2>The first person to panic was Socrates</h2><p>Start at the beginning, or close enough. In Plato&#8217;s <em>Phaedrus</em>, Socrates tells a little story about the Egyptian god Theuth, who invents writing and proudly presents it to the king as a gift that will make people wiser and improve their memory. The king is not impressed. He warns that writing will do the opposite. People will stop remembering things and start trusting marks on a page instead. They will <em>seem</em> to know a great deal while actually knowing nothing, because the words cannot answer a question or defend themselves.</p><p>Sit with that. The most foundational technology of human civilization, the one that lets me reach you across distance and time right now, was greeted by one of history&#8217;s great minds as a threat to genuine knowledge. He thought the new tool would hollow us out.</p><p>He was not entirely wrong about what we would lose. He was completely wrong about what we would gain.</p><h2>The scribes saw the press as the enemy</h2><p>Fast forward to the fifteenth century. The printing press arrives, and the people who feel it most sharply are the monks and scribes who have spent their lives copying books by hand. A German abbot named Johannes Trithemius wrote a whole treatise, <em>In Praise of Scribes</em>, defending the holy labor of hand-copying against the cold mechanical reproduction of print. Copying by hand, he argued, was an act of devotion that printing could never match.</p><p>Here is the detail I love. To get his argument out to as many people as possible, Trithemius had it printed. He could not resist the reach of the very machine he was warning against. The tool he distrusted was already more useful to his message than the craft he was defending.</p><h2>They laughed at the Impressionists</h2><p>By the 1870s the threat was not even a new machine. It was a new way of seeing. When a group of French painters showed work that looked loose, unfinished, full of visible brushwork and light instead of polished surfaces, the critics tore into them. One reviewer, Louis Leroy, mocked a Monet canvas titled <em>Impression, Sunrise</em> and sneered that the whole lot of them were mere &#8220;impressionists,&#8221; painters of sketches who could not be bothered to actually finish a painting.</p><p>The insult stuck. The painters kept it. Today the word he meant as a slur hangs over a wing of nearly every major museum on earth. The academy that defined &#8220;real&#8221; painting in 1874 is a footnote. The people they laughed at are the canon.</p><h2>Painting was supposed to die when the camera arrived</h2><p>Then came the machine that was truly going to end it all. When photography matured in the mid nineteenth century, painters genuinely believed it was the end of their art. Why would anyone pay for a painted portrait when a camera could capture a face in seconds, perfectly, cheaply? Legend has it the painter Paul Delaroche took one look and declared that from that day on, painting was dead. (Whether he actually said it hardly matters. Plenty of people felt it.)</p><p>The poet Charles Baudelaire went further and dismissed photography as a refuge for failed painters, a servant to art at best, never art itself. A machine could not have a soul, so its pictures could not either.</p><p>Painting did not die. It did something far more interesting. Freed from the job of literal representation, which the camera now handled better, painters went and invented modern art. No camera, no pressure to abandon realism. No abandoned realism, no Impressionism, no Cubism, no abstraction. The tool everyone thought would kill painting is the reason painting got weird and brave and alive.</p><h2>Sousa called the phonograph a menace</h2><p>In 1906 the composer John Philip Sousa published an essay with the wonderful title &#8220;The Menace of Mechanical Music.&#8221; He was furious about the phonograph. Recorded music, he argued, would destroy the amateur tradition. Why would families gather around a piano and learn to play and sing together when a machine could do it for them? He predicted the decay of musical skill, the withering of the human voice, a nation of passive listeners instead of makers. He called recorded sound &#8220;canned music,&#8221; and he did not mean it kindly.</p><p>Some of what he feared came true. Fewer of us sit around a piano. But he could not have imagined that the same technology would put Robert Johnson, Aretha Franklin, and a thousand voices from a thousand traditions into the ears of a kid in a town that no orchestra would ever visit. The machine he called a menace became the single greatest engine for spreading music in human history.</p><h2>And on, and on</h2><p>The pattern just keeps running. Early film was dismissed as a cheap fairground novelty, beneath the dignity of real theater. Jazz was condemned as crude, degenerate, dangerous to public morals. The electric guitar was not a real instrument. The synthesizer was cheating. The drum machine would put drummers out of work and strip music of its human pulse. Sampling was theft, not composition. Photoshop meant photographers were no longer photographers. Digital painting was not painting because your hand never touched a physical surface. Computer animation had no soul next to drawn-by-hand cels.</p><p>Every single one of those tools is now simply a tool. We no longer argue about whether a Stratocaster is a real instrument. We argue about whether someone wrote a good song with it.</p><h2>What the panic always misses</h2><p>So here we are with artificial intelligence, and the same sentence is being said again, in the same tone, by people who feel the ground moving under a craft they love. I understand the fear better than most. I make things with my hands and with machines, with chisels and code, and I have felt that flicker of <em>wait, does this still count</em> more than once.</p><p>But look at what the panic gets wrong every single time.</p><p>The complaint is never really about the tool. Socrates was not worried about ink. Trithemius was not worried about movable type. The painters were not worried about lenses and silver salts. The complaint is about the loss of hard-won mastery, the fear that a difficult skill is about to be made easy, and underneath that, a quiet terror about identity. <em>If anyone can do the thing I spent my life learning to do, then who am I.</em></p><p>That is a deeply human fear and it deserves compassion. But it is a fear about the maker, not about the art. And it has been wrong every time, because it confuses the difficulty of a technique with the value of a work. Those were never the same thing.</p><h2>The thing that actually survives</h2><p>Walk through any museum, listen to any song that has outlived its century, read any story that still grabs you by the collar, and ask what you are actually responding to.</p><p>You are not moved by the chisel marks. You are moved by the Piet&#224;. You do not care that the cave painters at Lascaux used ground ochre and the charred end of a stick. You care that seventeen thousand years ago, in the absolute dark, someone held up a flame and reached out to press a hand against the stone and say <em>I was here, I saw these animals, I was alive.</em> The pigment is gone from memory. The reaching is not.</p><p>The tool is the most forgettable part of any work of art. It is the scaffolding. Nobody weeps at the scaffolding.</p><p>What survives, across every form and every century, is always the same handful of things. The message. The story. The feeling. The fingerprint of a real human consciousness trying to tell another human consciousness what it is like to be alive. That is the cargo. Everything else, every brush and lens and string and circuit, is just the truck it rode in on.</p><h2>Which brings me to what I make</h2><p>I am not writing this from outside the argument. I have spent a good while now building things in a form most people do not yet have a word for, and the missing word is half the point.</p><p>I call them Imagination Engines. Living Paintings. Interactive graphic novels. The <a href="https://mbparks.com/titan">Mech Simulator</a>, the <a href="https://mbparks.com/starship">Starship ASMR Sim</a>, the <a href="https://mbparks.com/tri">Tricorder Sim</a>, <a href="https://mbparks.com/afterware">Afterware</a>, <a href="https://mbparks.com/loss">The Forgotten One</a>, <a href="https://mbparks.com/notwanted">Not Wanted/Not Forgiven</a>. People reach for the closest word they already own and call them games, and they are not games. There is nothing to win and nothing to lose. They reach for simulator, and they are not simulators either. They are not trying to model the real world or test your skill against it. They are doing what a painting does. They are putting you somewhere. The only difference is that in mine you can lean in and turn a dial, and the somewhere leans back.</p><p>That is the whole experiment. Atmosphere over challenge. Mood over mastery. The small specific feeling of sitting in a cockpit at three in the morning, alone with the hum and the lights and the slow sweep of a scanner across nothing in particular. A landscape painting with a pulse. A graphic novel you can sit inside of.</p><p>If that sounds like a small ambition, look back through the history above. Every new form on that list was dismissed at first for being too easy, too passive, too gimmicky, too unserious, until somebody used it to say something the older forms could not say. I am not claiming I have done that. I am claiming the form can, and that somebody is going to, and the people who do it will not be the ones guarding the old fences. They will be the ones who picked up the new tool and pressed a hand against the new stone.</p><h2>Where that leaves us</h2><p>This is the whole reason I keep &#8220;ideas over tools&#8221; nailed to the wall of how I work. Not because tools do not matter. They matter enormously, and I love them, the more obscure and dangerous the better. But a tool is a means, never the meaning. The soapstone carving, the laser-etched slate, the line of firmware, the chapter of a novel set in these mountains, they are all the same act underneath. A person, reaching out of the dark, trying to say something true.</p><p>To make is to be human. That was true with a burnt stick and it is true with a neural network, and the only question worth asking has never changed. Forget whether the tool is real. Ask whether the thing you made with it is honest, whether it carries a message, whether it makes another person feel less alone.</p><p>Get that right, and history is on your side. It always has been. The people who master the new tool and pour something true through it are the ones we remember. The people who stood at the door insisting the new thing was not real art are the ones whose names we have to look up.</p><p>Pick up the tool. Any tool. Then say something only you could say.</p>]]></content:encoded></item><item><title><![CDATA[MILEPOST]]></title><description><![CDATA[A Field Journal That Captures the Day You Wrote It Down]]></description><link>https://gearsofresistance.substack.com/p/milepost</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/milepost</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Thu, 28 May 2026 03:18:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vSWR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4><em><strong>&#8220;How we spend our days is, of course, how we spend our lives.&#8221;</strong></em></h4><p><em>Annie Dillard, The Writing Life</em></p><p>I have always kept journals. Spiral notebooks, leather-bound things, voice notes, a stack of index cards from 2008 I keep meaning to scan. The problem with all of them is the same problem. You can remember what you felt. You almost never remember what was happening.</p><p>Open a journal from five years ago. You wrote that you were anxious. About what? You wrote that the world felt off. Off how? The cultural texture of that day is gone. What was on the radio, what was on Wikipedia&#8217;s front page, what the air pressure was doing, where the moon was in the sky. None of that survives. The weather report from the day you got the bad phone call is gone forever. The headline you scrolled past on the day you decided to quit your job is gone forever. The world was doing something. You did not write down what. The global context is lost to the ages.</p><p>So I built a thing. It is called <strong>MILEPOST</strong>.</p><p><strong>A marker, not a metric</strong></p><p>Out along the old C&amp;O Canal Towpath hat runs near my place there are still a few of the original mile markers. Cast concrete posts about knee high, with a number on one face that indicates the miles left until you reach Georgetown in Washington, D.C. The C&amp;O is a 184.5-mile long National Park now. The canal boats are gone mostly. The markers are still there because they were built to be there, forever, and they mostly are.</p><p>That is the spirit. A milepost does not measure your performance. It does not optimize anything. It marks a point in space and asserts: this was here, and so were you. Then it gets out of the way.</p><p>When you sit down to write a journal entry in MILEPOST, two things happen at the same time. You write whatever you would write in any other journal, in plain text, on a manila-paper background that is supposed to remind you of a clipboard or a field guide page. While you are writing, the instrument is quietly going out across the internet and pulling down everything it can find about the world you are sitting in.</p><p>Where you are. What time. Weather conditions, dewpoint, barometric pressure, whether the pressure is rising or falling and how fast. Air quality and pollen counts. The Kp index. Solar wind speed. The moon&#8217;s phase, age, and illumination. The Dow close. Bitcoin&#8217;s price. The crypto fear and greed index. What song is number one on the Apple Music chart right this minute. What article Wikipedia chose as the day&#8217;s featured. Today&#8217;s Quote of the Day on Wikiquote. The nearest active wildfire and how far away it is. The current US Drought Monitor classification for your county. The METAR from the closest airport. The most recent eBird sighting in your area. What is trending on Hacker News, on Reddit, on GitHub. NASA&#8217;s Astronomy Picture of the Day. The latest xkcd. The most recent arXiv paper in the field you care about. Where the International Space Station is overhead right this second.</p><p>There are over forty of these signals. Some are weather. Some are markets. Some are sky. Some are culture. Some are infrastructure. None of them, individually, matter very much. That is exactly the point. What you are building, over a year of entries, is texture. The dataset is not the goal. The dataset is the answer to the question what was the world doing while I was thinking this?</p><p><strong>What is built</strong></p><p><strong>MILEPOST</strong> is four single-file HTML applications. You open them in a web browser. They do everything in the browser. There is no backend, no account, no login. Nothing you type goes anywhere except files you save to your own machine.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vSWR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vSWR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png 424w, https://substackcdn.com/image/fetch/$s_!vSWR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png 848w, https://substackcdn.com/image/fetch/$s_!vSWR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png 1272w, https://substackcdn.com/image/fetch/$s_!vSWR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vSWR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png" width="1280" height="3420" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/babb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3420,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1917965,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/199548820?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vSWR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png 424w, https://substackcdn.com/image/fetch/$s_!vSWR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png 848w, https://substackcdn.com/image/fetch/$s_!vSWR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png 1272w, https://substackcdn.com/image/fetch/$s_!vSWR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb46c5-24ab-44cc-9eaf-0cf1925f290d_1280x3420.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Field Instrument 003. The capture page.</strong> Open it, write your entry, click capture. The instrument fetches everything in parallel, lets you watch the network conversation tick by in a log down the right side of the screen, and gives you a JSON file plus a PDF you can save. The PDF looks like a calibration certificate from a Cold War instrument lab, because that is what felt right.</p><p><strong>MILEPOST Reader.</strong> Drag a folder of your saved JSONs onto it. It renders any entry as a readable page, with all of the data flowing through clean typography. You can leaf backwards through your archive the way you would leaf backwards through a notebook.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vI5G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8a751b-a4ec-4eea-bc91-b85725fb7759_1280x4355.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vI5G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8a751b-a4ec-4eea-bc91-b85725fb7759_1280x4355.png 424w, https://substackcdn.com/image/fetch/$s_!vI5G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8a751b-a4ec-4eea-bc91-b85725fb7759_1280x4355.png 848w, https://substackcdn.com/image/fetch/$s_!vI5G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8a751b-a4ec-4eea-bc91-b85725fb7759_1280x4355.png 1272w, https://substackcdn.com/image/fetch/$s_!vI5G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8a751b-a4ec-4eea-bc91-b85725fb7759_1280x4355.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vI5G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8a751b-a4ec-4eea-bc91-b85725fb7759_1280x4355.png" width="1280" height="4355" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c8a751b-a4ec-4eea-bc91-b85725fb7759_1280x4355.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:4355,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3166087,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/199548820?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8a751b-a4ec-4eea-bc91-b85725fb7759_1280x4355.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vI5G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8a751b-a4ec-4eea-bc91-b85725fb7759_1280x4355.png 424w, https://substackcdn.com/image/fetch/$s_!vI5G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8a751b-a4ec-4eea-bc91-b85725fb7759_1280x4355.png 848w, https://substackcdn.com/image/fetch/$s_!vI5G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8a751b-a4ec-4eea-bc91-b85725fb7759_1280x4355.png 1272w, https://substackcdn.com/image/fetch/$s_!vI5G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8a751b-a4ec-4eea-bc91-b85725fb7759_1280x4355.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>MILEPOST Analyzer.</strong> Same drop zone, different question. Once you have a few dozen entries built up, drop the whole folder onto the Analyzer and it tells you what is correlated with what. Your mood tends to be higher when the barometric pressure is rising. Your focus collapses on overcast days. You consistently feel less energetic on the days the market drops more than two percent. The Analyzer is honest about sample size. With ten entries it warns you that almost everything you see is noise. With a hundred entries it shows you what is actually there.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XcvU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F536147a0-5e96-4fcb-be62-27d9b667047e_1280x4173.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XcvU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F536147a0-5e96-4fcb-be62-27d9b667047e_1280x4173.png 424w, https://substackcdn.com/image/fetch/$s_!XcvU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F536147a0-5e96-4fcb-be62-27d9b667047e_1280x4173.png 848w, https://substackcdn.com/image/fetch/$s_!XcvU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F536147a0-5e96-4fcb-be62-27d9b667047e_1280x4173.png 1272w, https://substackcdn.com/image/fetch/$s_!XcvU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F536147a0-5e96-4fcb-be62-27d9b667047e_1280x4173.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XcvU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F536147a0-5e96-4fcb-be62-27d9b667047e_1280x4173.png" width="1280" height="4173" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/536147a0-5e96-4fcb-be62-27d9b667047e_1280x4173.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:4173,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1101994,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/199548820?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F536147a0-5e96-4fcb-be62-27d9b667047e_1280x4173.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XcvU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F536147a0-5e96-4fcb-be62-27d9b667047e_1280x4173.png 424w, https://substackcdn.com/image/fetch/$s_!XcvU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F536147a0-5e96-4fcb-be62-27d9b667047e_1280x4173.png 848w, https://substackcdn.com/image/fetch/$s_!XcvU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F536147a0-5e96-4fcb-be62-27d9b667047e_1280x4173.png 1272w, https://substackcdn.com/image/fetch/$s_!XcvU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F536147a0-5e96-4fcb-be62-27d9b667047e_1280x4173.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>MILEPOST Status</strong>. A diagnostic page that pings every data source and tells you which are reachable from where you are sitting. Some sources require a CORS proxy because their servers refuse cross-origin browser requests, so the Status page also tells you whether your proxy is working and which signals are flowing through it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0rUp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03716e77-65ac-485f-bfa2-240d5317cc08_1280x3427.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0rUp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03716e77-65ac-485f-bfa2-240d5317cc08_1280x3427.png 424w, https://substackcdn.com/image/fetch/$s_!0rUp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03716e77-65ac-485f-bfa2-240d5317cc08_1280x3427.png 848w, https://substackcdn.com/image/fetch/$s_!0rUp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03716e77-65ac-485f-bfa2-240d5317cc08_1280x3427.png 1272w, https://substackcdn.com/image/fetch/$s_!0rUp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03716e77-65ac-485f-bfa2-240d5317cc08_1280x3427.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0rUp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03716e77-65ac-485f-bfa2-240d5317cc08_1280x3427.png" width="1280" height="3427" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/03716e77-65ac-485f-bfa2-240d5317cc08_1280x3427.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3427,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1002575,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/199548820?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03716e77-65ac-485f-bfa2-240d5317cc08_1280x3427.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0rUp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03716e77-65ac-485f-bfa2-240d5317cc08_1280x3427.png 424w, https://substackcdn.com/image/fetch/$s_!0rUp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03716e77-65ac-485f-bfa2-240d5317cc08_1280x3427.png 848w, https://substackcdn.com/image/fetch/$s_!0rUp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03716e77-65ac-485f-bfa2-240d5317cc08_1280x3427.png 1272w, https://substackcdn.com/image/fetch/$s_!0rUp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03716e77-65ac-485f-bfa2-240d5317cc08_1280x3427.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>How it relates to the principles</p><p>This project is what every single one of those Design Principles I wrote a year ago looks like in practice. I did not set out to demonstrate any of them. I set out to solve a problem I actually have, with the materials in front of me. Then I noticed, looking at what I had built, that every choice was a principle.</p><p>#14, reuse what you&#8217;ve got. Every data source <strong>MILEPOST</strong> queries is a free public API that someone else already built and runs. NOAA&#8217;s Space Weather Prediction Center. The US Geological Survey. Open-Meteo. Wikipedia. Wikiquote. The Federal Reserve Economic Data service. The Apple Music marketing RSS feed. NASA APOD. arXiv. I wrote no scrapers. I run no server. I am piggybacking on the open data infrastructure of the world. My junk drawer is the entire public internet.</p><p>#20, design for future you. This is the whole project. You will not remember what the world was doing. The world will not remember either. Write it down. Save the JSON. Future You will be grateful for the texture.</p><p>#21, design for the next pair of hands. The whole thing is open source, GPL-3.0, on GitHub. One HTML file per surface. No build step. No npm install. No framework. If you can open a text editor and read JavaScript, you can fix any bug, add any data source, change any color. The source code is the manual.</p><p>#24, build like you might need to escape with it. Single file. Save the HTML to a thumb drive. It works without internet for everything the browser can do locally, things like sun position, moon phase, planetary positions, anything computed in JavaScript with no network call. When the internet comes back, the rest fills in. The whole stack fits on a floppy disk if floppy disks still existed.</p><p>#25, optimize for repair, not perfection. When a data source breaks, and they do, you fix that one fetcher in that one file. There is no dependency tree. There is no node_modules. You ship the patch by copying one HTML file to your web server. The thing that lets <strong>MILEPOST</strong> exist at all is that nobody has to maintain it. Including me, most of the time.</p><p>#28, if it&#8217;s worth building, it&#8217;s worth sharing. Hence this post, hence the GitHub repo, hence the public URL. If you would find this useful, use it.</p><p><strong>What it is not</strong></p><p><strong>MILEPOST</strong> is not a productivity tool. It is not a habit tracker. It is not a quantified-self device that wants to optimize your sleep. It will not nudge you. It does not have streaks. It does not gamify anything. There are no notifications. There is no leaderboard.</p><p>It is a journal. The data is wallpaper. The point of the wallpaper is to let you remember what room you were standing in.</p><p>I have been using it for a few weeks now and the strangest thing happens. I find that writing in it makes me more present, not less. The instrument is doing the work of looking around and noting what the world is doing. That frees me up to look at myself, which is what a journal is for.</p><p><strong>How to use it</strong></p><p>Go to mbparks.com/milepost. Bookmark it on your phone. Open it when you want to write something down. The first time it runs it will ask for location permission. Grant it or not, your call. Without it the instrument falls back to IP geolocation, which is less accurate but works fine.</p><p>Write. Click capture. Save the files somewhere you will not lose them. Build up a few weeks of entries. Then drop the folder into the Analyzer and see what you find.</p><p>You will need a CORS proxy for some of the data sources, because the modern web blocks scripts from talking to most servers unless those servers explicitly invite cross-origin requests, which most do not. The Status page explains all of this. You can use a public proxy, or run your own using the Cloudflare Worker script that ships with the repo. The whole thing costs zero dollars to run for personal use.</p><p><strong><a href="https://github.com/mbparks/Milepost">The source is on my GitHub</a> </strong>under GPL-3.0. Pull requests welcome. Bug reports welcome. Forks especially welcome. If you build something with it, or build something better than it, tell me. I want to know what your version looks like.</p><p><strong>MILEPOST</strong> is for everyone.</p>]]></content:encoded></item><item><title><![CDATA[YouTube View Ledger]]></title><description><![CDATA[I Built a Tool to Read a YouTube Channel's Vital Signs]]></description><link>https://gearsofresistance.substack.com/p/youtube-view-ledger</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/youtube-view-ledger</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Thu, 28 May 2026 03:06:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y2lj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>How View Ledger started, what it does now, and the one bug that taught me the most</h3><p>A small admission. I have spent more of my life than I want to count staring at someone else&#8217;s YouTube channel, scrolling, scrolling, scrolling, trying to answer one question. Is this person on the way up, on the way down, or just there. The platform itself will not tell you. It gives you total views, the subscriber count, and the warm fog of vibes. That is the whole dashboard.</p><p>So I made a tool.</p><p>It is called View Ledger. It is one HTML file. You open it, you paste a free Google API key, you type a channel, and a few seconds later you get a real read. Cadence. Reach. Engagement. Whether the thing is heating up or cooling down or just sitting there. Estimated revenue, if you want to play that game. The full catalog as a sortable table you can export. No login. No server. No tracking. It runs in your browser and goes home when you close the tab.</p><p>I made it for me. I am sharing it because I think it is useful, and because the journey of building it taught me something about honest analytics that I keep coming back to.</p><h3>The Itch</h3><p>I run Green Shoe Garage. I write here. I publish on YouTube. I watch other people&#8217;s channels. Some are friends. Some are competitors. Some are heroes. I want to know how they are doing. Not their bank balance. Their <em>trajectory</em>.</p><p>YouTube hides that on purpose. The analytics that would tell you live behind the owner&#8217;s login. The public API gives you lifetime totals, which is like trying to read a heartbeat from a photograph.</p><p>But there is a way. The Data API exposes every public upload&#8217;s individual stats. If you pull every video, you can compute the trends yourself. It is fiddly. It involves walking a playlist. It is exactly the kind of thing I love. So I started.</p><h3>The First Version Was Wrong</h3><p>The first version of View Ledger did the obvious thing. It pulled every video, divided views by days online to get a &#8220;views per day,&#8221; compared the newest videos to the oldest, and printed a verdict. <strong>Gaining momentum.</strong> <strong>Cooling off.</strong> <strong>Holding steady.</strong> It looked very confident.</p><p>It was lying.</p><p>The bug took me a while to see. A YouTube video gets most of its views in the first few weeks. After that, it tapers off and accumulates slowly forever. So an older video has a lower average-views-per-day than a newer one of <em>identical popularity</em>, just because the slow tail dragged its average down. The math I was doing made every channel look like it was heating up. The math was punishing time.</p><p>Worse. A channel that had not posted anything in three years still read as &#8220;Gaining momentum&#8221; if its old videos happened to be evergreen and kept slowly accumulating. There was no check for <em>alive</em>.</p><p>I had to throw the verdict out and start again. This is the part of the project I am proudest of.</p><h3>What I Built Instead</h3><p>The new verdict has two stages. First, an activity gate. The tool measures how often the channel posted historically, and how long ago the last upload was. If the silence is past about two and a half times the channel&#8217;s normal posting gap, with a six-month floor, the verdict reads <strong>Dormant</strong> and refuses to call a trend. Trends do not happen to corpses.</p><p>Then for live channels it does not look at one signal, it blends four.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y2lj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y2lj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png 424w, https://substackcdn.com/image/fetch/$s_!y2lj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png 848w, https://substackcdn.com/image/fetch/$s_!y2lj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png 1272w, https://substackcdn.com/image/fetch/$s_!y2lj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y2lj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png" width="1456" height="3566" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3566,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:817993,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/199549366?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y2lj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png 424w, https://substackcdn.com/image/fetch/$s_!y2lj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png 848w, https://substackcdn.com/image/fetch/$s_!y2lj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png 1272w, https://substackcdn.com/image/fetch/$s_!y2lj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7523867d-dc4a-45ce-b1f7-084ee368fd27_2056x5036.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>That headline at the top, <strong>Heating up</strong>, comes from a weighted blend of:</p><ul><li><p><strong>Reach.</strong> Median lifetime views of the newest third of the catalog versus the oldest third. Not views-per-day. Total views. Among videos at least 90 days old, so the steep-tail bias is mostly out of the system.</p></li><li><p><strong>Comment rate</strong> and <strong>like rate.</strong> Engagement as a share of views, recent versus older. These are ratios, and ratios stabilize fast. A video&#8217;s like-rate is roughly settled within weeks while its view count keeps drifting forever. That makes them a much cleaner read of &#8220;is the audience getting more invested&#8221; than raw view counts.</p></li><li><p><strong>Cadence.</strong> Whether the gap between uploads is shrinking or widening. Pure timestamps, completely age-independent, a perfect effort signal.</p></li></ul><p>Each gets a direction. Each gets a weight. The blend produces the headline. The table beneath shows the work. A channel cooling on views but heating on engagement is right there, in plain sight. Not buried in a number.</p><p>The point of the sub-signals is that I do not want anyone, including me, to trust the headline blindly. If you are going to give a one-word verdict on someone&#8217;s creative output, you owe the reader the receipts.</p><h3>The Bug That Taught Me the Most</h3><p>There is one more layer in there worth talking about, because it is what made me trust the tool.</p><p>A channel can fake an &#8220;uptick&#8221; by pivoting to Shorts. Shorts pull big view counts, especially after YouTube changed how they count Shorts views in March 2025. So if a channel&#8217;s newest third is mostly Shorts and the oldest third is mostly standard uploads, the reach signal will read off the charts even though nothing real changed. The channel just changed <em>format</em>.</p><p>I tested this. I built a fake channel that did exactly that. Recent videos were all Shorts pulling 400,000 views each. Older videos were flat standard uploads. The old logic would have screamed &#8220;GAINING MOMENTUM.&#8221; The new logic detects the format shift, compares standard-uploads-only, finds the actual underlying trend was flat, and prints <strong>Stagnant</strong>. The little phrase next to the reach signal says &#8220;format mix shifted, so this compares standard uploads only.&#8221;</p><p>I cannot tell you how satisfying that was. Honest defeat of a confounding variable. That is craftsmanship.</p><h3>What Else Is in There</h3><p>Once you have pulled the catalog, you might as well look at everything.</p><p><strong>The catalog tab</strong> is a sortable table of every video. Views, views per day, length, estimated revenue, likes, comments, thumbnails, badges for Shorts and livestreams and made-for-kids and AI-flagged content. CSV export. The bar chart up top is a quick visual answer to &#8220;which videos worked.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dDTH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff272ccc7-ccaa-4bdd-85dd-ae2824aba7ad_2056x2280.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dDTH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff272ccc7-ccaa-4bdd-85dd-ae2824aba7ad_2056x2280.png 424w, https://substackcdn.com/image/fetch/$s_!dDTH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff272ccc7-ccaa-4bdd-85dd-ae2824aba7ad_2056x2280.png 848w, https://substackcdn.com/image/fetch/$s_!dDTH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff272ccc7-ccaa-4bdd-85dd-ae2824aba7ad_2056x2280.png 1272w, https://substackcdn.com/image/fetch/$s_!dDTH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff272ccc7-ccaa-4bdd-85dd-ae2824aba7ad_2056x2280.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dDTH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff272ccc7-ccaa-4bdd-85dd-ae2824aba7ad_2056x2280.png" width="1456" height="1615" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f272ccc7-ccaa-4bdd-85dd-ae2824aba7ad_2056x2280.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1615,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:434325,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/199549366?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff272ccc7-ccaa-4bdd-85dd-ae2824aba7ad_2056x2280.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dDTH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff272ccc7-ccaa-4bdd-85dd-ae2824aba7ad_2056x2280.png 424w, https://substackcdn.com/image/fetch/$s_!dDTH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff272ccc7-ccaa-4bdd-85dd-ae2824aba7ad_2056x2280.png 848w, https://substackcdn.com/image/fetch/$s_!dDTH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff272ccc7-ccaa-4bdd-85dd-ae2824aba7ad_2056x2280.png 1272w, https://substackcdn.com/image/fetch/$s_!dDTH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff272ccc7-ccaa-4bdd-85dd-ae2824aba7ad_2056x2280.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>The content tab</strong> asks a different question. <em>What is this channel made of, and what kind of content works for it.</em> Performance by content type, broken into Standard, Shorts, and Livestreams (a Shorts pivot looks different here than in the verdict). The tags the uploader set, ranked by the median views of videos carrying them, which is a more honest read of &#8220;what works for you&#8221; than vanity tags. A category breakdown, a caption coverage rate compared against views (correlational, not causal, the tool says so out loud), and the channel&#8217;s own keywords as chips. There is also a small reconciliation table that shows what YouTube reports for the channel versus what the tool fetched, because deleted and private videos exist and the gap is honest information.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gz7A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdded1d47-89d0-4e73-9ff3-405385c679e5_2056x4078.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gz7A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdded1d47-89d0-4e73-9ff3-405385c679e5_2056x4078.png 424w, https://substackcdn.com/image/fetch/$s_!gz7A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdded1d47-89d0-4e73-9ff3-405385c679e5_2056x4078.png 848w, https://substackcdn.com/image/fetch/$s_!gz7A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdded1d47-89d0-4e73-9ff3-405385c679e5_2056x4078.png 1272w, https://substackcdn.com/image/fetch/$s_!gz7A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdded1d47-89d0-4e73-9ff3-405385c679e5_2056x4078.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gz7A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdded1d47-89d0-4e73-9ff3-405385c679e5_2056x4078.png" width="1456" height="2888" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dded1d47-89d0-4e73-9ff3-405385c679e5_2056x4078.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2888,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:651317,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/199549366?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdded1d47-89d0-4e73-9ff3-405385c679e5_2056x4078.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gz7A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdded1d47-89d0-4e73-9ff3-405385c679e5_2056x4078.png 424w, https://substackcdn.com/image/fetch/$s_!gz7A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdded1d47-89d0-4e73-9ff3-405385c679e5_2056x4078.png 848w, https://substackcdn.com/image/fetch/$s_!gz7A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdded1d47-89d0-4e73-9ff3-405385c679e5_2056x4078.png 1272w, https://substackcdn.com/image/fetch/$s_!gz7A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdded1d47-89d0-4e73-9ff3-405385c679e5_2056x4078.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>The revenue tab</strong> is the place I am most nervous about. Real ad earnings are private. The tool <em>estimates</em>, by multiplying views by an assumed RPM, and clearly labels it as a guess. Shorts get their own RPM (they monetize at a tiny fraction of long-form). Livestreams ride with long-form. The country the channel is in sets a coarse default. You can plug in a production cost per video and get a profit number. It is back-of-envelope, on purpose. But it is <em>useful</em> back-of-envelope, and I caveat it everywhere it appears.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!navS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ffe2b05-f22e-453a-b453-ef614762a5e0_2056x3408.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!navS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ffe2b05-f22e-453a-b453-ef614762a5e0_2056x3408.png 424w, https://substackcdn.com/image/fetch/$s_!navS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ffe2b05-f22e-453a-b453-ef614762a5e0_2056x3408.png 848w, https://substackcdn.com/image/fetch/$s_!navS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ffe2b05-f22e-453a-b453-ef614762a5e0_2056x3408.png 1272w, https://substackcdn.com/image/fetch/$s_!navS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ffe2b05-f22e-453a-b453-ef614762a5e0_2056x3408.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!navS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ffe2b05-f22e-453a-b453-ef614762a5e0_2056x3408.png" width="1456" height="2413" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ffe2b05-f22e-453a-b453-ef614762a5e0_2056x3408.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2413,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:598889,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/199549366?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ffe2b05-f22e-453a-b453-ef614762a5e0_2056x3408.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!navS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ffe2b05-f22e-453a-b453-ef614762a5e0_2056x3408.png 424w, https://substackcdn.com/image/fetch/$s_!navS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ffe2b05-f22e-453a-b453-ef614762a5e0_2056x3408.png 848w, https://substackcdn.com/image/fetch/$s_!navS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ffe2b05-f22e-453a-b453-ef614762a5e0_2056x3408.png 1272w, https://substackcdn.com/image/fetch/$s_!navS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ffe2b05-f22e-453a-b453-ef614762a5e0_2056x3408.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>The tracking tab</strong> is the only honest answer to &#8220;is this channel really growing.&#8221; A single pull cannot tell you, because YouTube only hands back lifetime totals as they stand right now. So the tool lets you save a snapshot today and load it back next month, after a fresh pull, to compute actual views gained, actual subscribers added, actual marginal subs per new video. Run it on a calendar and you build a real longitudinal record.</p><h3>What I Got Wrong</h3><p>A few things I want to be honest about.</p><p>The momentum verdict is still a single snapshot. The ratio signals carry a little age drift (older videos accumulate slightly different audiences than their first weeks). The blend weights are a judgment call, not science. I show the weights and the underlying numbers because I do not want the verdict to be a black box, but it is a verdict, not a measurement.</p><p>The revenue estimate is <em>not</em> your channel&#8217;s earnings. It is a rough multiplier. Real numbers live behind your login. The tool tells you this on the page.</p><p>Shorts detection is a duration heuristic. There is no &#8220;is a Short&#8221; flag in the API. YouTube allows Shorts up to about three minutes now, so the cutoff is adjustable.</p><p>A lot of the analyses are correlational. Captioned videos in this channel get a few percent more views than uncaptioned ones. The tool says so. It also says, in print, that this is not proof captions cause reach. They are just associated. That distinction matters.</p><h3>Why I Made It This Way</h3><p>I think there is a version of this tool that hides all that. That gives you a single confident number, a green or red arrow, and lets you feel smart. I am not interested in building that tool. It would not be useful and it would not be true.</p><p>The reason View Ledger has a verdict at all is so you have somewhere to start. The reason every signal is exposed underneath the verdict is so you can argue with it. The reason the limitations are printed on every tab is because I would rather you trust the tool a little less and use it a little more carefully.</p><p>I am of an age where I grew up taking things apart to see how they worked. That is still the right move. Use the tool. Click around. Pull a channel you know well and see if the verdict matches your gut. If it does not, look at the sub-signals and figure out which of you is wrong. Most of the time, in my experience, it has been me.</p><h3>How to Try It</h3><p>View Ledger is a single HTML file. <strong><a href="https://github.com/mbparks/YouTubeLedger">The source is on GitHub</a></strong>. The license is GPL-3.0. You will need a free YouTube Data API key from Google Cloud Console (about two minutes), and you will need a browser. That is the entire stack.</p><p>Pick a channel that interests you. Pull it. Save a snapshot. Come back next month. That is when the tool earns its keep.</p><p>If you build something with it, or find a bug, or have an idea for what to add, I want to hear about it.</p><p>The next thing I am thinking about is whether to let the snapshot history hold more than two points, so you can chart real growth across many pulls. That feels like the right next move. But I want to use the current version for a few months first, on real channels, and see what I learn before I add more knobs.</p><p>That, more than anything, is the lesson of this build. Make the smallest honest thing. Use it. Then let what you learn shape what comes next.</p>]]></content:encoded></item><item><title><![CDATA[GoR Zine 1.006]]></title><description><![CDATA[random noise]]></description><link>https://gearsofresistance.substack.com/p/gor-zine-1006</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/gor-zine-1006</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Sun, 24 May 2026 06:30:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NOd7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NOd7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NOd7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png 424w, https://substackcdn.com/image/fetch/$s_!NOd7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png 848w, https://substackcdn.com/image/fetch/$s_!NOd7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png 1272w, https://substackcdn.com/image/fetch/$s_!NOd7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NOd7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png" width="1398" height="2000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2000,&quot;width&quot;:1398,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4363845,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/199040210?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NOd7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png 424w, https://substackcdn.com/image/fetch/$s_!NOd7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png 848w, https://substackcdn.com/image/fetch/$s_!NOd7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png 1272w, https://substackcdn.com/image/fetch/$s_!NOd7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc1ffad8-7b7f-47c2-ad0b-eb1dbe7f77f7_1398x2000.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2><strong><a href="https://canva.link/9g7hev4g6qlcndi">Read Online Here.</a></strong></h2><h2><strong><a href="https://drive.google.com/file/d/1FCfDIN8yXvprKU3rpRXsYdoJ5Ou-EtI3/view?usp=sharing">Download a Copy.</a></strong></h2>]]></content:encoded></item><item><title><![CDATA[GitHub Won't Show Me Circuit Boards]]></title><description><![CDATA[So We Built a Chrome Extension That Will]]></description><link>https://gearsofresistance.substack.com/p/github-wont-show-me-circuit-boards</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/github-wont-show-me-circuit-boards</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Fri, 08 May 2026 03:17:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Widw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Widw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Widw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png 424w, https://substackcdn.com/image/fetch/$s_!Widw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png 848w, https://substackcdn.com/image/fetch/$s_!Widw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png 1272w, https://substackcdn.com/image/fetch/$s_!Widw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Widw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png" width="1456" height="679" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:679,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:189861,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/196859850?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Widw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png 424w, https://substackcdn.com/image/fetch/$s_!Widw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png 848w, https://substackcdn.com/image/fetch/$s_!Widw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png 1272w, https://substackcdn.com/image/fetch/$s_!Widw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d4d6e9-1f70-4e5c-83bb-21a21c8c9b89_1904x888.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A few weeks ago I was poking around an open hardware repo on GitHub, trying to remember whether a board I&#8217;d cloned a while back had any decent ground stitching. Clicking on the <code>.GTL</code> file brought up a wall of text. Right. GitHub r</p><p>enders Markdown, PDFs, STL meshes, GeoJSON maps, even Jupyter notebooks natively in the browser. But Gerbers, the de facto industry format for getting a PCB fabricated, just sit there as raw RS-274X gibberish.</p><p>That mild irritation became a weekend project. I now have a Chrome extension that renders Gerber and Excellon drill files inline on any GitHub blob page, with proper top and bottom composite views, mouse wheel zoom, drag pan, 90-degree rotation, and an outline toggle for boards whose edge files are a little messy.</p><p><strong><a href="https://github.com/GreenShoeGarage/GitHub_GerberViewer_ChromeExtension">https://github.com/GreenShoeGarage/GitHub_GerberViewer_ChromeExtension</a></strong></p><p><strong>or</strong></p><p><strong><a href="https://chromewebstore.google.com/detail/gerber-viewer-for-github/kjempphffigplmkbpjamikbfgpmdfbfn">https://chromewebstore.google.com/detail/gerber-viewer-for-github/kjempphffigplmkbpjamikbfgpmdfbfn</a></strong></p><h2>What it does</h2><p>Open any Gerber or drill file on GitHub. The extension fetches the raw file, parses it client-side using the tracespace v4 toolchain, and drops a preview panel above the raw text view. The original raw view is still there underneath, so nothing is hidden from you.</p><p>If the same folder contains a full layer set (top and bottom copper, mask, silkscreen, drill, outline), the extension also calls the GitHub Contents API to fetch the siblings, hands them to <code>pcb-stackup</code>, and assembles realistic Top and Bottom composite renders. Zoom anchors on the cursor, drag-to-pan keeps working in the rotated frame, the whole thing happens in your browser. No file content leaves your machine.</p><h2>The real problems were the boring ones</h2><p>The technical core of &#8220;render Gerber files in a browser&#8221; is well-trodden ground. Tracespace has been doing it for years and the libraries are excellent. The hard parts of this project turned out to be the messy edges of real-world hardware repos.</p><p>There&#8217;s a board on GitHub whose outline file (<code>.gko</code>) is full of fab markings, fiducials, and disconnected line segments rather than a clean closed polygon. Pass that to <code>pcb-stackup</code> and you get a render with the board boundary mangled where the segments don&#8217;t quite meet up. The fix is an Outline toggle that flips between &#8220;trust the file&#8221; and &#8220;use the union of features as the boundary.&#8221; Turns out plenty of legitimate boards exhibit exactly this pathology.</p><p>There&#8217;s also a long-standing quirk where Eagle&#8217;s standard drill extension (<code>.drd</code>) gets classified as an outline layer by <code>whats-that-gerber</code>, the upstream library that infers layer types from filenames. Pass an Eagle-style board to <code>pcb-stackup</code> with default settings and the drill positions get treated as additional board-edge geometry, producing weird artifacts and zero visible drill holes. A four-line content sniff that recognizes the Excellon <code>M48</code> header and overrides the type fixed it.</p><p>I also tried to be clever and route the single-layer view through <code>pcb-stackup</code> for a realistic gold-on-FR4 look. Looked great on the Arduino Uno fixtures. Broke a real-world bottom copper layer by silently clipping content. Reverted in the next patch. Lesson logged.</p><h2>What I keep relearning</h2><p>Most of the time on this project went into edge cases I could not have predicted from the spec. The 60-request-per-hour unauthenticated GitHub API limit. The fact that some EDA tools encode ground pours as 500-plus thinly stroked lines instead of using G36/G37 region fills. The way GitHub&#8217;s React-driven blob view DOM keeps shifting under my content script. Soft navigation handling via Turbo events. None of these are interesting on their own. All of them were necessary.</p><p>This is something I keep relearning as a maker. The gap between &#8220;I can imagine the tool&#8221; and &#8220;the tool reliably works on the real-world inputs people will throw at it&#8221; is wider than it ever feels at the start. That gap is where most of the craft actually lives. Plan for it. Budget for it. Don&#8217;t be surprised by it.</p><h2>Where to find it</h2><p>The extension is open source under GPL-3.0. Source, install instructions, and the roadmap (multi-layer composite for inner planes, WASM rendering for dense boards, OAuth to lift the API rate limit) are at [link to repo]. Drag and drop install for now. Chrome Web Store eventually, maybe.</p><p>If you spend time browsing hardware repos on GitHub, give it a try and let me know what breaks. There are a lot of weird Gerber files out there and I have only seen a small fraction of them.</p><p>If you want me to build something similar for your project, hardware or otherwise, that is what <a href="https://greenshoegarage.com">Green Shoe Garage</a> does for a living. Reach out.</p>]]></content:encoded></item><item><title><![CDATA[When Pretty Renders Lie]]></title><description><![CDATA[Building a Two-Part Mold Generator in Python]]></description><link>https://gearsofresistance.substack.com/p/when-pretty-renders-lie</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/when-pretty-renders-lie</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Fri, 08 May 2026 03:17:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mmp7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week I sat down to write a Python script that takes any STL file and spits out a ready-to-print two-part injection mold. I figured an evening of work, maybe a few iterations to refine the parameters. Five rounds of bugfixes later, I had a working tool and a useful lesson: in computational geometry, do not trust your eyes.</p><p><a href="https://github.com/GreenShoeGarage/InjectionMoldFromSTL">https://github.com/GreenShoeGarage/InjectionMoldFromSTL</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mmp7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mmp7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png 424w, https://substackcdn.com/image/fetch/$s_!mmp7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png 848w, https://substackcdn.com/image/fetch/$s_!mmp7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png 1272w, https://substackcdn.com/image/fetch/$s_!mmp7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mmp7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png" width="1456" height="516" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:516,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:434940,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/196860040?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mmp7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png 424w, https://substackcdn.com/image/fetch/$s_!mmp7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png 848w, https://substackcdn.com/image/fetch/$s_!mmp7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png 1272w, https://substackcdn.com/image/fetch/$s_!mmp7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90aa7fb6-5cfa-4866-a18a-aa6a181f0378_2049x726.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>The setup</h2><p>The premise was simple. Feed in an STL of a part. Get back two STLs, an upper half and a lower half, with all the features a real mold needs: sprue, runner, gate, vents, alignment dowels, optional ejector pins. The plumbing is mostly mesh boolean operations, and <code>trimesh</code> plus <code>manifold3d</code> handle that part well.</p><p>The first version was up and running fast. I tossed a gear STL at it, and it produced two halves that looked correct in any 3D viewer. Bounds were right. Watertight. Cross-sections through the parting plane showed a clean gear cavity, two vents, four dowel sockets at the corners. Job done, I thought.</p><p>It was not done.</p><h2>Five bugs, in the order I should have caught them</h2><p><strong>Vents straddled the parting plane.</strong> I centered the vent box on the parting line, which meant each half got a 75-micron-deep slot. Geometrically present, functionally invisible. Real molds put the full vent depth on one half and let the opposite half&#8217;s flat parting face seal the channel.</p><p><strong>Vents at evenly-spaced Y positions landed on tooth tips.</strong> A gear&#8217;s silhouette is mostly tooth tips reaching almost to the bounding box edge. Even spacing dropped one vent right where the tooth was practically touching the mold edge, leaving a stub two millimeters long.</p><p><strong>Silhouette-aware placement still anchored the vent inner edge to the bounding box.</strong> When the silhouette analysis correctly found a deep tooth valley, the vent box&#8217;s inner edge stayed at a fixed offset from the bbox, sitting in empty space that did not overlap the part. Result: a slot in the mold, but no path to the cavity. Worse than the original bug, because it looked correct in renders.</p><p><strong>Dowel pins at four-times-pin-radius from the mold edge ended up inside the part bounding box.</strong> Pin position collided with vent position. In a real mold this means plastic leaks past the alignment pin into the vent channel.</p><p><strong>The vent&#8217;s bottom face sat exactly coplanar with the parting-plane cut.</strong> Boolean operations on coplanar surfaces leave non-manifold edges. The upper half came back with four broken faces and was no longer watertight.</p><p>Each fix exposed the next bug. Each bug had been invisible in the cross-section previews I had been trusting.</p><h2>The lesson</h2><p>After bug number three, I switched from rendering cross-sections to point-sampling the actual mesh. Pick a spot inside the slot, ask <code>mesh.contains([[x, y, z]])</code>. If it returns True, that point is solid mold material. If False, it is void. Run this at ten points along the slot&#8217;s path from cavity to mold edge. If any of them are solid, the slot is broken.</p><p>That single check would have caught bugs three, four, and five immediately. It is also the kind of test you can write into the build pipeline so the same bug does not come back later.</p><p>The renders are still useful for finding things you did not think to test. The tooth-tip vent placement was something I would not have looked for if I had not seen the picture. Eyes catch silhouette issues. Point sampling catches connectivity issues. Use both, but trust the latter.</p><h2>What it does now</h2><p>The tool slices the part at the parting plane to find the actual silhouette, places vents at the deepest tooth valleys, anchors each vent&#8217;s inner edge to its specific silhouette point, opens the slot through the parting face by extending the vent box across the plane by a micron, and puts the dowels in the padding region between the part bounding box and the mold edge. Both halves come out watertight. Both vents connect to the cavity. The audit script confirms it.</p><p>Five bugs and a lesson, and now a tool I can throw any reasonable part at and get a usable first-pass mold in seconds. Worth the evening, even if it took five.</p>]]></content:encoded></item><item><title><![CDATA[Does AI Dream in Noise?]]></title><description><![CDATA[Feeding the machine static and seeing what it makes of itself]]></description><link>https://gearsofresistance.substack.com/p/does-ai-dream-in-noise</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/does-ai-dream-in-noise</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Tue, 05 May 2026 22:33:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Nan-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Nan-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Nan-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!Nan-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!Nan-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!Nan-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Nan-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png" width="1122" height="1402" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1402,&quot;width&quot;:1122,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3096527,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/196597515?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Nan-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!Nan-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!Nan-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!Nan-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e99351a-342c-422b-9012-8f21f1bae983_1122x1402.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1></h1><p></p><p>Here&#8217;s the question I keep poking at: if you strip a generative model of every well-formed prompt, no curated nouns, no &#8220;in the style of,&#8221; no mood board, no helpful adjectives, and just shove pure entropy through it, what comes back?</p><p>I&#8217;ve been running two experiments to find out. One is dumb on purpose. The other is dumb on the radio.</p><h2><strong>Experiment One: 100 Random Word Visions</strong></h2><p>I had an LLM cough up 100 random words. No theme. No vibe. No &#8220;make these cohere, please.&#8221; Just one hundred unrelated chunks of human language pulled from whatever the model felt like generating that day. Then I fed those words one by one into a video model and let it dream up an experimental short, one micro-vision per word.</p><p>The result is a stitched-together fever dream. Some clips snap together with weird accidental rhyme. Others are completely unrelated. The whole thing has the rhythm of channel-surfing through a parallel cable system that only exists inside a server rack.</p><div id="youtube2-pH-H5wFIBTw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;pH-H5wFIBTw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/pH-H5wFIBTw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Here&#8217;s the wild bit, though. The <em>transitions</em> feel intentional even though nothing about this was. Your brain does the editing job for free. You start narrating connective tissue between &#8220;wagon&#8221; and &#8220;elapsed&#8221; and &#8220;blueprint&#8221; because that&#8217;s what brains do. They reach for story even when there isn&#8217;t one. The AI didn&#8217;t compose anything coherent. <strong>You did</strong>, after the fact, in your head.</p><p>That&#8217;s a wild thing to watch happen in real time.</p><h2><strong>Experiment Two: Paintings From RF Noise</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bDrz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089cb196-3709-469f-926b-0b68c3c4af86_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bDrz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089cb196-3709-469f-926b-0b68c3c4af86_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!bDrz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089cb196-3709-469f-926b-0b68c3c4af86_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!bDrz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089cb196-3709-469f-926b-0b68c3c4af86_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!bDrz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089cb196-3709-469f-926b-0b68c3c4af86_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bDrz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089cb196-3709-469f-926b-0b68c3c4af86_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/089cb196-3709-469f-926b-0b68c3c4af86_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2773164,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/196597515?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089cb196-3709-469f-926b-0b68c3c4af86_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bDrz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089cb196-3709-469f-926b-0b68c3c4af86_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!bDrz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089cb196-3709-469f-926b-0b68c3c4af86_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!bDrz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089cb196-3709-469f-926b-0b68c3c4af86_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!bDrz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089cb196-3709-469f-926b-0b68c3c4af86_1024x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>The second one is more physical, and honestly more fun. I plugged an RTL-SDR dongle into my laptop. That&#8217;s a $30 USB radio dongle and wrote a Python tool that:</p><ol><li><p>Tunes to a <strong>random frequency</strong> between 24 MHz and 1.7 GHz</p></li><li><p>Listens for a couple of seconds</p></li><li><p>Renders the IQ samples as an image: spectrogram, constellation plot, or polar phase map</p></li><li><p>Chains a randomly-chosen subset of sixteen filters over the result (chromatic shift, kaleidoscope, bloom, datamosh slice shifts, the whole funk pile)</p></li><li><p>Drops the PNG in a date-stamped folder with a JSON manifest of every parameter, so when one of the random outputs is great I can reproduce or remix it precisely</p></li></ol><p><strong>The radio is the random number generator.</strong> The actual electromagnetic ambient mess of my workshop: neighbor&#8217;s wifi, FM broadcast bleed-through, an ADS-B aircraft transponder ten miles overhead, whatever else is in the air. It is doing the creative work. The code is just a translation layer between physics and pixels.</p><p><strong><a href="https://github.com/mbparks/photosFromRFnoise">Code&#8217;s on GitHub &#8594;</a></strong></p><p>Some runs land on a frequency where nothing&#8217;s transmitting and the output is a smooth Gaussian blob, the visual equivalent of a held breath. Other runs catch a busy ISM band or an FM station and you get structured rings and lattices that look like somebody tried to sketch a circuit diagram in a dream.</p><p>I never know which one I&#8217;m going to get. That&#8217;s the whole point.</p><p>I then took the raw data (a .csv file) and fed it directly into an AI tool. I got this back:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Txqu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f455585-22a7-4e5a-aa6f-883c5e6d59fb_982x675.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Txqu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f455585-22a7-4e5a-aa6f-883c5e6d59fb_982x675.png 424w, https://substackcdn.com/image/fetch/$s_!Txqu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f455585-22a7-4e5a-aa6f-883c5e6d59fb_982x675.png 848w, https://substackcdn.com/image/fetch/$s_!Txqu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f455585-22a7-4e5a-aa6f-883c5e6d59fb_982x675.png 1272w, https://substackcdn.com/image/fetch/$s_!Txqu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f455585-22a7-4e5a-aa6f-883c5e6d59fb_982x675.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Txqu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f455585-22a7-4e5a-aa6f-883c5e6d59fb_982x675.png" width="982" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f455585-22a7-4e5a-aa6f-883c5e6d59fb_982x675.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:675,&quot;width&quot;:982,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:285688,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/196597515?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f455585-22a7-4e5a-aa6f-883c5e6d59fb_982x675.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Txqu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f455585-22a7-4e5a-aa6f-883c5e6d59fb_982x675.png 424w, https://substackcdn.com/image/fetch/$s_!Txqu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f455585-22a7-4e5a-aa6f-883c5e6d59fb_982x675.png 848w, https://substackcdn.com/image/fetch/$s_!Txqu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f455585-22a7-4e5a-aa6f-883c5e6d59fb_982x675.png 1272w, https://substackcdn.com/image/fetch/$s_!Txqu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f455585-22a7-4e5a-aa6f-883c5e6d59fb_982x675.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2><strong>So, does AI dream in noise?</strong></h2><p>Here&#8217;s what I think is actually going on with both of these projects, and why I keep building them.</p><ul><li><p>A generative model is a giant compressed atlas of human pattern. Prompting it well is asking the model to navigate that atlas to a specific destination.</p></li><li><p>Prompting it with <strong>noise</strong> is asking it to navigate to <em>no specific destination. </em>This means the model has to fall back on its own internal gravity. The places it drifts toward when nothing&#8217;s pulling on the wheel.</p></li><li><p>That drift is, I&#8217;d argue, the closest thing you can get to seeing the model&#8217;s own aesthetic. Its defaults. Its dreams. Whatever you want to call it.</p></li></ul><p>The radio version goes one notch further. It introduces an entropy source the model has <em>no relationship to whatsoever</em>. The actual electromagnetic state of a room in western Maryland on a Tuesday afternoon. The model didn&#8217;t train on that. Nobody did. It&#8217;s just there. It&#8217;s only ever been there.</p><p>When I generate art from it, I&#8217;m not really making art. I&#8217;m making a <strong>transcription</strong> of a moment of physical reality nobody, human or machine, has ever bothered to pay attention to before.</p><h2><strong>The point</strong></h2><p>I&#8217;m a tradigital craftsman. I like making things with my hands and my code and the weird overlap between the two. But I also like asking the tools I use what they&#8217;re actually doing when nobody&#8217;s micromanaging them. I want to find more ways to feed these tools with noise from the real-world.</p><p>Every prompt-engineered output is, in some sense, a duet between you and the model. Both of you are steering. Pull your hands off the wheel and feed the model garbage on purpose, and you start to see what it does when it&#8217;s alone in the room.</p><p>Sometimes it&#8217;s beautiful. Sometimes it&#8217;s a Gaussian blob. Both answers are interesting.</p><p><em>More noise to come.</em></p><p></p><p></p><p><em>*Word soup used to generate this article&#8217;s image:<br>ablaze, bungalow, cleaver, dapple, ewer, flounder, grapple, hatchet, idle, jangle, kindle, looseleaf, mottled, niggle, oblong, perch, quickstep, rasp, scribble, twiddle, unhinge, vex, wobble, yelp, zoom, ample, brisket, chortle, dimple, ease, fizzle, grumble, hover, itch, jostle, knit, lounge, muddle, nudge, oust, pluck, quack, rouse, smudge, trudge, undo, veer, waft, yank, zap, amble, brood, chuckle, dawdle, ebb, fumble, gulp, heave, ink, jab, knack, lurch, mumble, nuzzle, ogle, prod, quench, rummage, snicker, totter, unwind, vault, wheeze, yawn, zest, awash, brisk, clamp, dodge, evade, flick, gnash, huddle, irk, jolt, kink, limp, mope, nod, oaf, peer, quaff, ruffle, scour, tug, undulate, vie, whisk, yelp, zigzag, antic, bluff</em></p>]]></content:encoded></item><item><title><![CDATA[10 Features of a Well-Designed Object]]></title><description><![CDATA[According To A Mountain Hermit]]></description><link>https://gearsofresistance.substack.com/p/10-features-of-a-well-designed-object</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/10-features-of-a-well-designed-object</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Wed, 29 Apr 2026 23:33:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Mjh5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Mjh5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Mjh5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png 424w, https://substackcdn.com/image/fetch/$s_!Mjh5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png 848w, https://substackcdn.com/image/fetch/$s_!Mjh5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png 1272w, https://substackcdn.com/image/fetch/$s_!Mjh5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Mjh5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png" width="1254" height="1254" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1254,&quot;width&quot;:1254,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2622457,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/195915344?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Mjh5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png 424w, https://substackcdn.com/image/fetch/$s_!Mjh5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png 848w, https://substackcdn.com/image/fetch/$s_!Mjh5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png 1272w, https://substackcdn.com/image/fetch/$s_!Mjh5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b8cbda-e606-4d7b-922f-67aa72d5bfa4_1254x1254.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I like making things.  I also like collecting things that speak to me as &#8220;well designed&#8221;. I have opinions on what makes an object well-designed or not. Obviously, this is skewed to my own aesthetic and may not work for everyone. But for me, an object is designed well if...</p><ol><li><p>I can immediately tell what it is, what it does, and how to interact with it. No user manual required. </p></li><li><p>All parts, including form, mechanics, electronics, and software, feel like one thing.</p></li><li><p>It still works and looks right under real-world use.</p></li><li><p>It invites interaction, not just observation. Interacting with the object sparks a sense of wonder and magic.</p></li><li><p>I can understand it, modify it, and keep it alive over time.</p></li><li><p>It uses materials honestly and appropriately.</p></li><li><p>It has meaning, character, or emotional weight beyond function.</p></li><li><p>I can see how it is made, and it embraces both traditional and modern tools in its construction.</p></li><li><p>It is minimally maximalist, rich and expressive, but nothing is unnecessary.</p></li><li><p>It does not exploit the user, compromise safety, violate privacy, or create downstream harm.</p></li></ol><p></p>]]></content:encoded></item><item><title><![CDATA[The Skeptic’s Pivot]]></title><description><![CDATA[Why I Stopped Developing and Started &#8220;Vibe Coding&#8221;]]></description><link>https://gearsofresistance.substack.com/p/the-skeptics-pivot</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/the-skeptics-pivot</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Fri, 03 Apr 2026 02:35:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5mii!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5mii!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5mii!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5mii!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5mii!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5mii!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5mii!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1281468,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/193030682?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5mii!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5mii!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5mii!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5mii!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d669580-2d5c-4b11-b15e-4eb58ecd52ee_3024x3024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ll be the first to admit it: I didn&#8217;t want to like this. As a &#8220;maker&#8221; who values the grit of technical implementation, the idea of &#8220;vibe coding&#8221;&#8212;using high-level AI prompts to manifest a functional game&#8212;felt like a betrayal of the craft. I expected the results to be hollow, a low-effort imitation of creativity.</p><p>I think I was wrong.</p><p>I am of an age where I grew up with text-based adventures. I loved them dearly. For a while now, I have wanted to make my own. I wanted to take my life journey and build something from the good and the bad memory piles (see Doctor Who episode &#8220;Vincent and the Doctor&#8221;). In building <strong><a href="https://github.com/mbparks/TheForgottenOne">The Forgotten One</a></strong>, I realized that shifting the burden of syntax to an AI didn&#8217;t diminish my role; it fundamentally changed it. It moved me from being the software mechanic to being the <strong>Digital Craftsman</strong>.</p><h3>The End of the &#8220;God View&#8221;</h3><p>The greatest tragedy of solo game development is that you can never truly <em>play</em> your own game. You know where every ghost is hidden because you&#8217;re the one who put them there. You&#8217;ve read every line of dialogue a thousand times during debugging.</p><p>Vibe coding solves the &#8220;spoiler&#8221; problem. Because I am defining <strong>atmospheres</strong> rather than <strong>exact sequences</strong>, I don&#8217;t actually know all the details. I know the <em>vibe</em> of the nursery&#8212;the faded blue paint, the one-eyed bear&#8212;but I don&#8217;t know exactly when the music box will trigger its three rising notes.</p><p>I&#8217;ve authored the &#8220;why,&#8221; but the machine handles the &#8220;how&#8221; and the &#8220;when.&#8221; This means I get to be the <strong>First Explorer</strong> of my own world. I can sit down, run the code, and actually feel the tension because I&#8217;m experiencing the execution for the first time, right alongside any other player.</p><h3>From Software Dev to Game Author</h3><p>Traditional development feels like plumbing. You spend 90% of your time ensuring the pipes don&#8217;t leak so that the 10% of &#8220;story&#8221; has a place to go. Vibe coding feels much more like <strong>painting</strong>.</p><ul><li><p><strong>Software Dev</strong> is about the mechanics: &#8220;How do I map these coordinates?&#8221;</p></li><li><p><strong>Game Authorship</strong> is about the intent: &#8220;Why does this room feel heavier than the last?&#8221;</p></li></ul><p>When you write a game like a story, the narrative becomes the primary driver of the logic. You are layering textures&#8212;the smell of old paper, the pressure in the walls, the warmth of a memory. You aren&#8217;t just writing code; you&#8217;re conducting a mood.</p><h3>The Cat is Out of the Bag</h3><p>Let&#8217;s be real: AI is here. The question for us now isn&#8217;t whether we should use it, but how we use it to bring out our best versus becoming its slave.</p><p>If we use AI to do our thinking, we&#8217;ve lost the plot. But if we use it to handle the &#8220;drudge work&#8221; of logic so we can focus on the soul of the project&#8212;the craftsmanship of the experience&#8212;we reclaim our creative agency.</p><p>I started this project as a skeptic, convinced that &#8220;real&#8221; games required manual labor at every level. I ended it as a resident of a house I built, yet barely recognize&#8212;and for the first time in my life, I&#8217;m actually having fun playing a game I made. I might be wrong on all this. But then again, maybe I am just evolving. Just like the journey of life and death.</p><p><strong>You can try the <a href="https://mbparks.com/loss">game here</a>.</strong></p>]]></content:encoded></item><item><title><![CDATA[GoR Zine 1.005]]></title><description><![CDATA[design manifesto two point oh]]></description><link>https://gearsofresistance.substack.com/p/gor-zine-1005</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/gor-zine-1005</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Sat, 21 Mar 2026 01:52:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!09Wt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!09Wt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!09Wt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png 424w, https://substackcdn.com/image/fetch/$s_!09Wt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png 848w, https://substackcdn.com/image/fetch/$s_!09Wt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png 1272w, https://substackcdn.com/image/fetch/$s_!09Wt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!09Wt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png" width="1398" height="2000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2000,&quot;width&quot;:1398,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5166934,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/191641806?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!09Wt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png 424w, https://substackcdn.com/image/fetch/$s_!09Wt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png 848w, https://substackcdn.com/image/fetch/$s_!09Wt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png 1272w, https://substackcdn.com/image/fetch/$s_!09Wt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa8f596-361d-4dae-b4e8-8b6b8da12900_1398x2000.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong><a href="https://issuu.com/greenshoegarage/docs/gor_zine_1_005">Read Online Here.</a></strong></h2><h2><strong><a href="https://drive.google.com/file/d/1bvlG3mTb4TzA2_X6A4SCQUt2tCFPMaO_/view?usp=sharing">Download a Copy.</a></strong></h2>]]></content:encoded></item><item><title><![CDATA[Design Principles 2.0]]></title><description><![CDATA[Thinking About Thinking About Work, Again]]></description><link>https://gearsofresistance.substack.com/p/design-principles-20</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/design-principles-20</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Fri, 20 Mar 2026 20:40:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Sj2n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Sj2n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Sj2n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Sj2n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Sj2n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Sj2n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Sj2n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3231115,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/191614680?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Sj2n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Sj2n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Sj2n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Sj2n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01a259f0-3818-462e-9be9-c92be0eeb284_3024x3024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The principles that guide my creations include:</p><p><strong>1. Polymath Mindset</strong></p><p>Explore. Experiment. Cross boundaries.<br>Curiosity-driven making that blends disciplines without permission.</p><p><strong>2. Tradigital Craftsmanship</strong></p><p>Honor traditional skills. Embrace new technology.<br>A deliberate fusion of past and future. Hand tools and digital fabrication as equals.</p><p><strong>3. Tools Are Extensions, Not Hierarchies</strong></p><p>A laser cutter is just a hammer with better marketing.<br>No tool is sacred. CNC, code, chisels. They&#8217;re all means to create.</p><p><strong>4. Anti-Gatekeeping Creation</strong></p><p>Reject and prevent professional priesthoods.<br>Making is not exclusive. Everyone has the right and ability to build.</p><p><strong>5. Creation as Human Expression</strong></p><p>Make to celebrate being human. It is a ritual.<br>Not everything needs utility. Creation itself has intrinsic value.</p><p><strong>6. Sustainable Pragmatism</strong></p><p>Maximize reuse. Minimize consumables.<br>Design with material awareness and long-term responsibility.</p><p><strong>7. Intentional Maximalism</strong></p><p>More is more when it means something.<br>Rich, layered, expressive design that reflects lived experience.</p><p><strong>8. Modular &amp; Evolving Systems</strong></p><p>Nothing is ever finished.<br>Design for iteration, adaptability, and continuous transformation.</p><p><strong>9. Interactive by Nature</strong></p><p>Objects should invite engagement.<strong><br></strong>Tactile, responsive, and participatory experiences over passive ones.</p><p><strong>10. Radical Transparency</strong></p><p>Show the process. Show the flaws.<strong><br></strong>Expose how things are made. No black boxes.</p>]]></content:encoded></item><item><title><![CDATA[Consequence-Aware Engineering]]></title><description><![CDATA[Reigniting a Focus on Engineering and Technology Ethics]]></description><link>https://gearsofresistance.substack.com/p/consequence-aware-engineering</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/consequence-aware-engineering</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Wed, 07 Jan 2026 01:42:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1R9h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1R9h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1R9h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!1R9h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!1R9h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!1R9h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1R9h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1446520,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/183742723?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1R9h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!1R9h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!1R9h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!1R9h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc93cf-6d1c-443d-97cf-659865c2ef46_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>&#8220;Yeah. Yeah, but your scientists were so preoccupied with whether they could that they didn&#8217;t stop to think if they should.&#8221;</strong></p><p><strong>&#8212; Jurassic Park (Dr. Ian Malcolm)</strong></p><p>I think about this line more often than I probably should.</p><p>Not because it&#8217;s clever, or because it&#8217;s a pop-culture shorthand for &#8220;ethics in tech,&#8221; but because it captures something I&#8217;ve seen repeatedly in real engineering work: the quiet way momentum replaces judgment.</p><p>We live in a moment where technical capability is advancing faster than our willingness to sit with its consequences. Speed, scale, and disruption are treated as virtues almost by default. If something can be built, deployed, and grown quickly, that alone is often taken as evidence that it should exist. Reflection, restraint, and responsibility are framed as friction&#8212;nice ideas, but luxuries we can&#8217;t afford under real deadlines.</p><p>The result is a landscape full of systems that are impressive on paper and fragile in practice. They function, but only within narrow assumptions. They scale, but not gracefully. And when they fail, they tend to fail in ways that feel less like accidents and more like inevitabilities we declined to notice.</p><p>Most of the serious failures I&#8217;ve seen aren&#8217;t the result of incompetence. They come from narrow framing. From incentives that reward delivery over durability. From design conversations that never quite make room for uncomfortable questions early enough to matter.</p><p>Engineering decisions don&#8217;t happen in a vacuum. Every system encodes values&#8212;sometimes deliberately, often accidentally. When we focus only on can we build it, we quietly defer harder questions:</p><p>Who bears the risk when this system fails?</p><p>What assumptions are we making about users, operators, or downstream communities?</p><p>What happens when this technology scales beyond its original context?</p><p>What tradeoffs are being hidden behind efficiency, automation, or abstraction?</p><p>Those questions aren&#8217;t philosophical in the abstract. They&#8217;re architectural. They shape interfaces, defaults, error handling, and escalation paths. They determine whether a system fails loudly or silently, locally or globally, recoverably or catastrophically.</p><p>I&#8217;ve come to believe that ethics, when applied seriously, isn&#8217;t a brake on engineering&#8212;it&#8217;s a design constraint. Like gravity, material limits, or latency. Ignoring it doesn&#8217;t make it go away; it just guarantees it will show up later, under worse conditions and with fewer options.</p><p>Trust, for example, isn&#8217;t something you add at launch with messaging or polish. It&#8217;s an emergent property of systems that behave predictably, transparently, and fairly over time. If trust isn&#8217;t designed into the architecture&#8212;into how decisions are made, how failures are handled, how edge cases are treated&#8212;it won&#8217;t survive contact with reality.</p><p>What worries me most is not that we sometimes get things wrong. Engineering has always involved uncertainty. What worries me is how often we avoid asking should we because the answer might slow us down, complicate the roadmap, or force tradeoffs we&#8217;d rather postpone.</p><p>But postponing those questions doesn&#8217;t eliminate them. It just externalizes the cost&#8212;to users, to communities, to environments, or to the future.</p><p>I don&#8217;t think the answer is less technology. I don&#8217;t think it&#8217;s fear or paralysis or nostalgia for simpler systems. I think it&#8217;s better engineering&#8212;engineering that acknowledges consequence as part of the work, not an afterthought.</p><p>That means treating ethics as an input, not a post-mortem.</p><p>It means respecting abstractions without worshiping them.</p><p>It means being willing to say &#8220;we don&#8217;t know yet&#8221; when scale outruns understanding.</p><p>It means remembering that elegance often shows up as restraint.</p><p>The question isn&#8217;t whether we can build powerful systems anymore.</p><p>We&#8217;ve answered that.</p><p>The harder question&#8212;the one that doesn&#8217;t go away&#8212;is whether we&#8217;re willing to be accountable for what we set in motion.</p>]]></content:encoded></item><item><title><![CDATA[GoR Zine 1.004]]></title><description><![CDATA[It Neither Breaks My Leg...]]></description><link>https://gearsofresistance.substack.com/p/gor-zine-1004</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/gor-zine-1004</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Thu, 20 Nov 2025 00:08:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nQ8q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nQ8q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nQ8q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png 424w, https://substackcdn.com/image/fetch/$s_!nQ8q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png 848w, https://substackcdn.com/image/fetch/$s_!nQ8q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png 1272w, https://substackcdn.com/image/fetch/$s_!nQ8q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nQ8q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png" width="1397" height="2000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2000,&quot;width&quot;:1397,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1096714,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/179390299?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nQ8q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png 424w, https://substackcdn.com/image/fetch/$s_!nQ8q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png 848w, https://substackcdn.com/image/fetch/$s_!nQ8q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png 1272w, https://substackcdn.com/image/fetch/$s_!nQ8q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9430c212-4d55-4b56-b8d8-a4cee8302ce3_1397x2000.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><a href="https://issuu.com/greenshoegarage/docs/gor_zine_1_d6efcb34b65688">Read Online Here.</a></h2><h2><a href="https://drive.google.com/file/d/16YNIIWsfWmIjd6KENHGimnqIMrnSsjs8/view?usp=drive_link">Download a Copy.</a></h2>]]></content:encoded></item><item><title><![CDATA[To Be a Circuitsmith and Bitwright]]></title><description><![CDATA[When Art meets Engineering, New Jobs for a New World]]></description><link>https://gearsofresistance.substack.com/p/to-be-a-circuitsmith-and-bitwright</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/to-be-a-circuitsmith-and-bitwright</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Tue, 21 Oct 2025 22:25:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lAsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lAsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lAsM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!lAsM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!lAsM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!lAsM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lAsM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1552004,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/176783947?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lAsM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!lAsM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!lAsM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!lAsM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2414f8-f86c-4961-a5a5-35d333969d31_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3><strong>Circuitsmith</strong></h3><p>A <strong>Circuitsmith</strong> is a modern craftsperson who shapes electricity the way a blacksmith shapes metal. They design and build physical systems that live in the real world&#8212;circuits, sensors, kinetic mechanisms, interactive objects. Their work happens at the intersection of <strong>engineering and craftsmanship</strong>.</p><p><strong>Core ideas:</strong></p><ul><li><p>Works with <strong>matter and electrons</strong></p></li><li><p>Builds <strong>hardware with a soul</strong></p></li><li><p>Blends <strong>electronics, mechanics, and design</strong></p></li><li><p>Values <strong>hands-on experimentation</strong></p></li><li><p>Sees <strong>circuits as expressive materials</strong>&#8212;not just functional</p></li></ul><p><strong>What they do:</strong></p><ul><li><p>Prototyping with microcontrollers and analog components</p></li><li><p>Building interactive sculptures or devices</p></li><li><p>Repairing and repurposing old tech</p></li><li><p>Exploring physical computing</p></li></ul><p><strong>Closest real-world analogs:</strong> hardware engineer &#8226; creative technologist &#8226; interactive artist &#8226; maker &#8226; electrical craftsperson</p><div><hr></div><h3><strong>Bitwright</strong></h3><p>A <strong>Bitwright</strong> is a digital craftsperson&#8212;an artisan of logic and information who shapes behavior rather than matter. Like a playwright arranges scenes, a Bitwright composes <strong>software, code systems, and algorithms</strong> that give ideas form and function in the digital space.</p><p><strong>Core ideas:</strong></p><ul><li><p>Works with <strong>logic and code</strong></p></li><li><p>Designs <strong>behavior, systems, interaction flows</strong></p></li><li><p>Crafts <strong>clean, expressive code</strong></p></li><li><p>Sees <strong>software as storytelling through structure</strong></p></li><li><p>Believes <strong>code is a creative medium</strong></p></li></ul><p><strong>What they do:</strong></p><ul><li><p>Write embedded firmware or system logic</p></li><li><p>Sculpt algorithms and interaction models</p></li><li><p>Build custom tools or creative software</p></li><li><p>Translate human intention into machine behavior</p></li></ul><p><strong>Closest real-world analogs:</strong> embedded software engineer &#8226; computational artist &#8226; systems designer &#8226; creative coder</p>]]></content:encoded></item><item><title><![CDATA[The 5 Guiding Principles of My Work]]></title><description><![CDATA[I Make Therefore I Am.]]></description><link>https://gearsofresistance.substack.com/p/the-5-guiding-principles-of-my-work</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/the-5-guiding-principles-of-my-work</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Tue, 21 Oct 2025 22:18:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ccNC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ccNC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ccNC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!ccNC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!ccNC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!ccNC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ccNC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2012072,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/176783473?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ccNC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!ccNC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!ccNC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!ccNC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1e9b61-2524-4460-ac83-4d1fdf27252e_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><ol><li><p><em><strong>Tradigital </strong></em><strong>Exploration and Experimentation</strong> &#8211; Fuse <em>traditional </em>craft with emerging <em>digital </em>technology through hands-on experimentation.</p></li><li><p><strong>Sustainable Re-Creation</strong> &#8211; Transform broken, discarded, or obsolete materials into meaningful new forms.</p></li><li><p><strong>Modular Evolution</strong> &#8211; Build systems that adapt, upgrade, and change over time&#8212;art as a living process.</p></li><li><p><strong>Human Connection Through Interaction</strong> &#8211; Invite participation to provoke reflection, emotion, and discovery.</p></li><li><p><strong>Radical Transparency</strong>, <strong>Don&#8217;t Hide The Lines</strong> &#8211; Reveal the process of how things are made, celebrate imperfection, and honor the honest character of materials.</p></li></ol>]]></content:encoded></item><item><title><![CDATA[GoR Zine 1.003]]></title><description><![CDATA[Lilac Love]]></description><link>https://gearsofresistance.substack.com/p/gor-zine-1003</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/gor-zine-1003</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Fri, 03 Oct 2025 03:10:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vWuW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vWuW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vWuW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png 424w, https://substackcdn.com/image/fetch/$s_!vWuW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png 848w, https://substackcdn.com/image/fetch/$s_!vWuW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png 1272w, https://substackcdn.com/image/fetch/$s_!vWuW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vWuW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png" width="1397" height="2000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2000,&quot;width&quot;:1397,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6414956,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/175162434?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vWuW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png 424w, https://substackcdn.com/image/fetch/$s_!vWuW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png 848w, https://substackcdn.com/image/fetch/$s_!vWuW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png 1272w, https://substackcdn.com/image/fetch/$s_!vWuW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc822f5af-6c30-466f-90da-23fa7ca7da88_1397x2000.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><a href="https://issuu.com/greenshoegarage/docs/gor_zine_1">Read Online Here.</a></h2><h2><a href="https://drive.google.com/file/d/1-DIa2rrLAHZhchhkocqiPNXGNgHvEAlx/view?usp=drive_link">Download a Copy.</a></h2>]]></content:encoded></item><item><title><![CDATA[AI's Thoughts on GenAI As Art]]></title><description><![CDATA[How Does the 19th-Century Fight Over Photography vs Painting Inform the 21st-Century Debate on AI versus Human-made Art?]]></description><link>https://gearsofresistance.substack.com/p/ais-thoughts-on-genai-as-art</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/ais-thoughts-on-genai-as-art</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Thu, 02 Oct 2025 21:20:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZVfv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZVfv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZVfv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZVfv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZVfv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZVfv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZVfv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1742318,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/175144182?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZVfv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZVfv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZVfv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZVfv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c30895-dca7-4507-9f09-cbe3552c8cda_4032x2268.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I, a human (I think), asked ChatGPT the following question:<br><strong><br>Prompt:</strong><br>How can the lessons learned of the photography versus painting as art debate inform the discussion around human and AI made art?</p><h6></h6><p><strong>ChatGPT Said:<br></strong>Great question. The 19th-century fight over whether <strong>photography</strong> &#8220;counted&#8221; as art maps surprisingly well onto today&#8217;s <strong>human vs. AI-made art</strong> debate. Here&#8217;s a tight set of lessons you can lift directly from that history&#8212;and how to apply them now.</p><h1>1) &#8220;New tool&#8221; &#8800; &#8220;no art&#8221;</h1><p><strong>Then:</strong> Early critics called photography a merely mechanical process; artists proved authorship lived in choices (framing, exposure, printing, retouching).<br><strong>Now:</strong> With AI, authorship similarly rests in <strong>intent + constraint + iteration</strong> (dataset curation, prompting strategy, model fine-tuning, selection, editing, presentation).</p><p><strong>Takeaway:</strong> Evaluate <strong>artistic decisions</strong>, not just the tool. Ask: What problem was the artist solving? What constraints were set? What was rejected and why?</p><h1>2) New media find their own aesthetics</h1><p><strong>Then:</strong> Photography won legitimacy by leaning into what it did uniquely well (movement, candidness, seriality, reproducibility), not by imitating painting.<br><strong>Now:</strong> AI art&#8217;s strengths are <strong>scale, combinatorics, probabilistic variation, and fast iteration</strong>.</p><p><strong>Takeaway:</strong> Don&#8217;t judge AI only by how well it mimics human mark-making. Judge how it <strong>extends the visual/semantic space</strong> beyond human-only throughput.</p><h1>3) Process transparency matters (but doesn&#8217;t define value)</h1><p><strong>Then:</strong> Pictorialists vs. straight photographers debated manipulation; both gained acceptance once processes were <strong>named and understood</strong>.<br><strong>Now:</strong> Disclose <strong>model, dataset sourcing (at least categories), prompt/fine-tune steps, and post-processing</strong>.</p><p><strong>Takeaway:</strong> Create a <strong>process label</strong> (like a wine label):</p><ul><li><p>&#8220;Human-only, analog/digital&#8221;</p></li><li><p>&#8220;Human + AI (curated data; directed prompts; hand-edited)&#8221;</p></li><li><p>&#8220;AI-primary (automated batch; minimal human selection)&#8221;</p></li></ul><h1>4) Indexicality, aura, and the &#8220;hand&#8221;</h1><p><strong>Then:</strong> Walter Benjamin&#8217;s &#8220;aura&#8221; vs. mechanical reproduction reframed value around context, not just uniqueness. Photography still developed forms of aura (vintage prints, signed editions, process rarity).<br><strong>Now:</strong> AI outputs are infinitely reproducible, but <strong>aura</strong> can re-enter via <strong>provenance, editioning, performance/installation context, and live generation</strong>.</p><p><strong>Takeaway:</strong> Build aura with <strong>edition control, cryptographic provenance, performance-based display, or time-bound generative runs</strong>.</p><h1>5) Skill shifts, not skill disappearance</h1><p><strong>Then:</strong> Skill moved from brushwork to <strong>optics, chemistry, darkroom craft, sequencing</strong>.<br><strong>Now:</strong> Skill shifts to <strong>data ethics, model steering, prompt engineering as design brief, multimodal compositing, curation</strong>.</p><p><strong>Takeaway:</strong> Update curricula and juries to read <strong>AI craft</strong> (dataset design, failure-mode management, long-loop iteration logs).</p><h1>6) Democratization + gatekeeping</h1><p><strong>Then:</strong> Cheap cameras broadened who could make images; institutions adapted with new canons and genres.<br><strong>Now:</strong> AI lowers barriers even further; expect <strong>volume explosions</strong> and <strong>new folk/vernacular genres</strong>.</p><p><strong>Takeaway:</strong> Curate with <strong>new rubrics</strong> (original problem setting, iterative risk-taking, conceptual coherence) instead of pedigree or tool purity.</p><h1>7) Economic + labor questions must be addressed head-on</h1><p><strong>Then:</strong> Photo threatened portrait painters; new markets (editorial, advertising, art photography) emerged.<br><strong>Now:</strong> AI threatens illustration and stock markets; new roles appear (model custodians, data curators, AI art directors).</p><p><strong>Takeaway:</strong> Build <strong>fair-use norms, licensing schemes, and revenue-share models</strong> for training data; commission frameworks that explicitly price <strong>human direction</strong>.</p><h1>8) Legal and ethical clarity enables cultural acceptance</h1><p><strong>Then:</strong> Copyright for photography matured; authorship became clearer.<br><strong>Now:</strong> Clarify <strong>authorship (human intent), rights in training data, consent, credit, and disclosure</strong>.</p><p><strong>Takeaway (policy sketch):</strong></p><ul><li><p><strong>Disclosure:</strong> Identify AI involvement and process level.</p></li><li><p><strong>Consent/Credit:</strong> Respect opt-out datasets; credit notable sources when practicable.</p></li><li><p><strong>Provenance:</strong> Attach verifiable metadata (CID/hash, model/version).</p></li><li><p><strong>Review:</strong> Flag sensitive content and bias audits for juried shows.</p></li></ul><h1>9) Hybridity becomes the mainstream</h1><p><strong>Then:</strong> Photo + paint, collage, photogram, mixed media flourished.<br><strong>Now:</strong> Expect <strong>AI + photography + 3D + robotics + performance</strong>.</p><p><strong>Takeaway:</strong> Stop binary framing. Curate <strong>hybrid categories</strong>: &#8220;Generative Assemblage,&#8221; &#8220;Performative Generation,&#8221; &#8220;Algorithmic Documentary,&#8221; etc.</p><div><hr></div><h2>A practical evaluation rubric (usable by juries, galleries, or teams)</h2><ol><li><p><strong>Intent &amp; Concept</strong></p></li></ol><ul><li><p>Clear inquiry or thesis? Novel question or perspective?</p></li></ul><ol start="2"><li><p><strong>Process &amp; Craft</strong></p></li></ol><ul><li><p>Demonstrable human direction (logs, iterations, dataset rationale)?</p></li><li><p>Mastery of AI&#8217;s failure modes and constraints?</p></li></ul><ol start="3"><li><p><strong>Form &amp; Aesthetics</strong></p></li></ol><ul><li><p>Does it leverage the medium&#8217;s <strong>native strengths</strong> (variation, scale, recombination) rather than copy analog looks?</p></li></ul><ol start="4"><li><p><strong>Context &amp; Ethics</strong></p></li></ol><ul><li><p>Transparent provenance; considered stance on data use and bias.</p></li></ul><ol start="5"><li><p><strong>Impact</strong></p></li></ol><ul><li><p>Resonance, originality, and contribution to discourse or practice.</p></li></ul><p>Score each 1&#8211;5; publish the rubric alongside the show or portfolio.</p><div><hr></div><h2>Implementation quick-start (for creators and orgs)</h2><ul><li><p><strong>Creators</strong></p><ul><li><p>Keep an <strong>iteration journal</strong> (key prompts, forks, rejects, edits).</p></li><li><p>Ship with a <strong>process label</strong> + <strong>provenance file</strong> (model, version, seed if relevant).</p></li><li><p>When possible, <strong>license or self-source datasets</strong>; document consent posture.</p></li></ul></li><li><p><strong>Galleries/Competitions</strong></p><ul><li><p>Require a <strong>disclosure card</strong> (tools, datasets, human role).</p></li><li><p>Judge with the 5-part rubric; allow <strong>hybrid categories</strong>.</p></li><li><p>Offer <strong>editioning guidance</strong> for AI works (caps, on-chain proofs, or time-windowed generation).</p></li></ul></li><li><p><strong>Educators</strong></p><ul><li><p>Teach <strong>dataset ethics</strong> and <strong>prompt as design brief</strong>.</p></li><li><p>Assign projects that <strong>force medium-native exploration</strong> (e.g., controlled variation studies).</p></li></ul></li></ul><div><hr></div><h3>Bottom line</h3><p>From photography&#8217;s path we learn: <strong>legitimacy arrives when we judge by artistic intent, process rigor, and medium-native contribution&#8212;not by tool purity.</strong> If we build clear norms around <strong>authorship, disclosure, provenance, and ethics</strong>, the culture will absorb AI as another powerful&#8212;sometimes radical&#8212;art medium, just as it did photography.</p><p><br><strong>End ChatGPT Response</strong><br>=========</p><p>What are your thoughts, fellow human?   <br>The image above, human or AI?  Why do you think that?</p>]]></content:encoded></item><item><title><![CDATA[Exploring CNC Laser Cutting with ArcDroid and the Xlaserlabs X1 Pro]]></title><description><![CDATA[Fire the lasers!!!]]></description><link>https://gearsofresistance.substack.com/p/exploring-cnc-laser-cutting-with</link><guid isPermaLink="false">https://gearsofresistance.substack.com/p/exploring-cnc-laser-cutting-with</guid><dc:creator><![CDATA[mbparks]]></dc:creator><pubDate>Wed, 17 Sep 2025 21:50:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Gw9C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>WARNING: I am not a laser expert. This is work-in-progress and is only being provided for informational purposes. Messing with a laser is dangerous and should only be done by professionals who know what they are doing!</h2><p></p><p>For the last several years, I have used an <strong><a href="https://arcdroidcnc.com/">ArcDroid</a></strong> in conjunction with a plasma cutter and a water table. It does great, but my use case is for much thinner metals that a plasma cutter tends to destroy. For the record, I am at best an amateur machinist and even less of a welder. Earlier this year, I procured <strong><a href="https://www.xlaserlab.com/products/xlaserlab-x1-pro-laser-welder-cleaner-cutter">Xlaserlabs&#8217; X1 Pro laser</a> </strong>cutter/welder/cleaner.</p><p>Out of the box, it worked great as all three, albeit by hand. What I really wanted is a CNC laser, however.  The Xtool Metal Fab rolled out shortly after, and while I love Xtool and own many of their lasers (P2, F1 Ultra, M1 Ultra), the Metal Fab is just too big for a basement machine shop like mine.</p><p>The marketing material for the X1 Pro mentioned it was possible to use it for CNC use cases, but provided limited details. After some research and testing, here is how I got my ArcDroid and X1 Pro to play nicely together.</p><p>Here is the wiring diagram:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wkFd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831ebcb0-63f2-4558-aaba-3b359cbd7fa1_960x540.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wkFd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831ebcb0-63f2-4558-aaba-3b359cbd7fa1_960x540.png 424w, https://substackcdn.com/image/fetch/$s_!wkFd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831ebcb0-63f2-4558-aaba-3b359cbd7fa1_960x540.png 848w, https://substackcdn.com/image/fetch/$s_!wkFd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831ebcb0-63f2-4558-aaba-3b359cbd7fa1_960x540.png 1272w, https://substackcdn.com/image/fetch/$s_!wkFd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831ebcb0-63f2-4558-aaba-3b359cbd7fa1_960x540.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wkFd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831ebcb0-63f2-4558-aaba-3b359cbd7fa1_960x540.png" width="960" height="540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/831ebcb0-63f2-4558-aaba-3b359cbd7fa1_960x540.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:226553,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/173863862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831ebcb0-63f2-4558-aaba-3b359cbd7fa1_960x540.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wkFd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831ebcb0-63f2-4558-aaba-3b359cbd7fa1_960x540.png 424w, https://substackcdn.com/image/fetch/$s_!wkFd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831ebcb0-63f2-4558-aaba-3b359cbd7fa1_960x540.png 848w, https://substackcdn.com/image/fetch/$s_!wkFd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831ebcb0-63f2-4558-aaba-3b359cbd7fa1_960x540.png 1272w, https://substackcdn.com/image/fetch/$s_!wkFd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831ebcb0-63f2-4558-aaba-3b359cbd7fa1_960x540.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>First thing we need to do is to change out the DB25 external control cable. I purchased a breakout DB25 connector from Amazon (<a href="https://www.amazon.com/dp/B07DPCGMLN">https://www.amazon.com/dp/B07DPCGMLN</a>).  I ran two pairs of 20AWG stranded wire, one to the external emergency stop. Do NOT just short the e-stop!  The second pair of wires ran to torch connectors on the rear of the ArcDroid.  As far as I know, polarity doesn&#8217;t matter for either connection.</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fTDU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f8ce5c-858e-4f88-ac8f-5cff266a65bc_3024x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fTDU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f8ce5c-858e-4f88-ac8f-5cff266a65bc_3024x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fTDU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f8ce5c-858e-4f88-ac8f-5cff266a65bc_3024x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fTDU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f8ce5c-858e-4f88-ac8f-5cff266a65bc_3024x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fTDU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f8ce5c-858e-4f88-ac8f-5cff266a65bc_3024x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fTDU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f8ce5c-858e-4f88-ac8f-5cff266a65bc_3024x3024.jpeg" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74f8ce5c-858e-4f88-ac8f-5cff266a65bc_3024x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1147351,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/173863862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f8ce5c-858e-4f88-ac8f-5cff266a65bc_3024x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fTDU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f8ce5c-858e-4f88-ac8f-5cff266a65bc_3024x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fTDU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f8ce5c-858e-4f88-ac8f-5cff266a65bc_3024x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fTDU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f8ce5c-858e-4f88-ac8f-5cff266a65bc_3024x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fTDU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f8ce5c-858e-4f88-ac8f-5cff266a65bc_3024x3024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p>Pins 5 and 6 connect to the external e-stop. </p></li><li><p>Pins 3 and 4 connect to the ArcDroid external torch control on the rear of the ArcDroid. </p><p></p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FcHI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faff8175e-50c8-48f9-ad5c-51d977ae3c62_2268x4032.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FcHI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faff8175e-50c8-48f9-ad5c-51d977ae3c62_2268x4032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FcHI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faff8175e-50c8-48f9-ad5c-51d977ae3c62_2268x4032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FcHI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faff8175e-50c8-48f9-ad5c-51d977ae3c62_2268x4032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FcHI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faff8175e-50c8-48f9-ad5c-51d977ae3c62_2268x4032.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FcHI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faff8175e-50c8-48f9-ad5c-51d977ae3c62_2268x4032.jpeg" width="1456" height="2588" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aff8175e-50c8-48f9-ad5c-51d977ae3c62_2268x4032.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2588,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1040403,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/173863862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faff8175e-50c8-48f9-ad5c-51d977ae3c62_2268x4032.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FcHI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faff8175e-50c8-48f9-ad5c-51d977ae3c62_2268x4032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FcHI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faff8175e-50c8-48f9-ad5c-51d977ae3c62_2268x4032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FcHI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faff8175e-50c8-48f9-ad5c-51d977ae3c62_2268x4032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FcHI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faff8175e-50c8-48f9-ad5c-51d977ae3c62_2268x4032.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I purchased the ArcDroid Extended Torch Mount (<a href="https://arcdroidcnc.com/collections/arcdroid-accessories/products/extended-torch-mount">https://arcdroidcnc.com/collections/arcdroid-accessories/products/extended-torch-mount</a>) to mount the laser gun.  Ensuring a slight 2-3 degree offset from vertical to prevent the laser beam from reflecting up into the gun. This means perfect round or straight cuts will be a challenge, if not impossible, so this might limit you to more artistic cuts versus strict tolerance parts.</p><p></p><p><strong>UPDATE:  </strong>I have designed a mount for the X1 Laser to attach to the ArcDroid.  I am selling the STL file for a <strong><a href="https://www.etsy.com/listing/4484429859/arcdroid-mount-for-xphotonics-xlaserlab">nominal fee over on Etsy</a>.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mk-J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F565b2aac-4f49-41fe-bad9-791f43ebaee2_858x831.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mk-J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F565b2aac-4f49-41fe-bad9-791f43ebaee2_858x831.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mk-J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F565b2aac-4f49-41fe-bad9-791f43ebaee2_858x831.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mk-J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F565b2aac-4f49-41fe-bad9-791f43ebaee2_858x831.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mk-J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F565b2aac-4f49-41fe-bad9-791f43ebaee2_858x831.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mk-J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F565b2aac-4f49-41fe-bad9-791f43ebaee2_858x831.jpeg" width="858" height="831" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/565b2aac-4f49-41fe-bad9-791f43ebaee2_858x831.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:831,&quot;width&quot;:858,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23703,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/173863862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F565b2aac-4f49-41fe-bad9-791f43ebaee2_858x831.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mk-J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F565b2aac-4f49-41fe-bad9-791f43ebaee2_858x831.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mk-J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F565b2aac-4f49-41fe-bad9-791f43ebaee2_858x831.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mk-J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F565b2aac-4f49-41fe-bad9-791f43ebaee2_858x831.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mk-J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F565b2aac-4f49-41fe-bad9-791f43ebaee2_858x831.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Next, let&#8217;s talk about kiln shelves.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_6xz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dd6d53d-3aa2-426f-95e7-e8d4bbc6683e_682x681.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_6xz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dd6d53d-3aa2-426f-95e7-e8d4bbc6683e_682x681.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_6xz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dd6d53d-3aa2-426f-95e7-e8d4bbc6683e_682x681.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_6xz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dd6d53d-3aa2-426f-95e7-e8d4bbc6683e_682x681.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_6xz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dd6d53d-3aa2-426f-95e7-e8d4bbc6683e_682x681.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_6xz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dd6d53d-3aa2-426f-95e7-e8d4bbc6683e_682x681.jpeg" width="682" height="681" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9dd6d53d-3aa2-426f-95e7-e8d4bbc6683e_682x681.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:681,&quot;width&quot;:682,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:124141,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/173863862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dd6d53d-3aa2-426f-95e7-e8d4bbc6683e_682x681.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_6xz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dd6d53d-3aa2-426f-95e7-e8d4bbc6683e_682x681.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_6xz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dd6d53d-3aa2-426f-95e7-e8d4bbc6683e_682x681.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_6xz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dd6d53d-3aa2-426f-95e7-e8d4bbc6683e_682x681.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_6xz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dd6d53d-3aa2-426f-95e7-e8d4bbc6683e_682x681.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Lastly, I drained the water table, removed the slats, and cleaned up the rust. I placed shelving typically used in kilns (<a href="https://www.amazon.com/dp/B0FG8DTXN8">https://www.amazon.com/dp/B0FG8DTXN8</a>) under the sheet metal I am cutting. This, in theory, will protect the bottom of the water table from getting cut by the laser. This will be useful when I need to convert it back into a water table for materials that require cutting with the plasma cutter. Whether or not this is the best, or even a safe, option is still undergoing testing. I sometimes even place sacrificial aluminum or steel bars on top of the kiln shelf to elevate the sheet metal closer to the torch head.</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gw9C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gw9C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Gw9C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Gw9C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Gw9C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gw9C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1586161,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gearsofresistance.substack.com/i/173863862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Gw9C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Gw9C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Gw9C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Gw9C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e60f206-fa06-4f45-9281-37bc64471f3b_3024x3024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is the result!</p><p>I am also using a California Air Tools 10020C 2.0 HP Ultra Quiet and Oil-Free Air Compressor, 10 Gallon Steel Tank with Wheels (<a href="https://www.amazon.com/dp/B0188XBTLY">https://www.amazon.com/dp/B0188XBTLY</a>)</p><p>The settings for this cut of 1/16&#8221; stainless steel are as follows:</p><ul><li><p>55% power</p></li><li><p>1000 Hz</p></li><li><p>100% Duty Cycle</p></li><li><p>90psi compressed air</p></li></ul><p></p><p>I loaded up a .DXF file on the ArcDroid and made some settings changes  (definitely test different values depending on material and thickness). This is still a lot of room for testing here. But for 1/16&#8221; stainless steel, I used these settings:</p><ul><li><p>0&#8221; lead-in</p></li><li><p>Cut on the center of the line</p></li><li><p>Kerf: .003&#8221; or 0.08 mm</p></li><li><p>Feed: 75 ipm or 32 mm/s</p></li><li><p>Clear Z: 0.394&#8221; or 10 mm</p></li><li><p>Pierze Z: 0.100&#8221; or 2.5 mm</p></li><li><p>Cut Z: 0.079&#8221; or 2 mm</p></li><li><p>Pierce Delay: 0.5s</p></li><li><p>Off Delay: 0.25s</p></li></ul><p></p><p>P.S.</p><p>While exploring 3D printed solutions to the problem of mounting the torch to the ArcDroid, I stumbled across the following things you can print for your ArcDroid:</p><ol><li><p><a href="https://www.thingiverse.com/thing:6798500">ArcDroid Torch Holder</a></p></li><li><p><a href="https://makerworld.com/en/models/835123-arcdroid-sensor-covers">Sensor Covers for the ArcDroid</a></p></li></ol>]]></content:encoded></item></channel></rss>