<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="http://michaelmassie.com/feed.xml" rel="self" type="application/atom+xml" /><link href="http://michaelmassie.com/" rel="alternate" type="text/html" /><updated>2026-07-15T17:09:13+00:00</updated><id>http://michaelmassie.com/feed.xml</id><title type="html">Mike Massie’s Blog</title><subtitle>My Personal Homepage</subtitle><entry><title type="html">Lighthouse: A Map To Check Friends Proximity To Disasters</title><link href="http://michaelmassie.com/blog/2026/07/15/Lighthouse-A-Map-To-Check-Friends-Proximity-To-Disasters" rel="alternate" type="text/html" title="Lighthouse: A Map To Check Friends Proximity To Disasters" /><published>2026-07-15T00:00:00+00:00</published><updated>2026-07-15T00:00:00+00:00</updated><id>http://michaelmassie.com/blog/2026/07/15/Lighthouse:-A-Map-To-Check-Friends-Proximity-To-Disasters</id><content type="html" xml:base="http://michaelmassie.com/blog/2026/07/15/Lighthouse-A-Map-To-Check-Friends-Proximity-To-Disasters"><![CDATA[<p>A few summers ago, I watched news coverage of a wildfire tearing through a part of California and had a nagging thought: I wonder how close any of my friends are to these fires. That gap between “disaster happening somewhere” and “disaster happening to someone I care about” is the reason I built Lighthouse. It’s a single-page map that plants a small flag at the home of every person in my contacts list, then overlays live natural-disaster data on top: wildfires, hurricanes, tornadoes, floods, earthquakes, air quality, and smoke forecasts. The goal isn’t to be another disaster tracker, plenty of those exist. It’s to answer one very specific, very human question at a glance: is anything out there threatening someone I know and love, and should I reach out?</p>

<p><img src="https://michaelmassie.com/assets/img/lighthouse.PNG" alt="Lighthouse" /></p>

<p>Using it is deliberately boring. You just open index.html in a browser — no server, no build step, no API keys — and the map loads with your contacts flagged in blue. Live hazard data streams in from free public feeds (NIFC for wildfires, the National Weather Service for severe weather, USGS for earthquakes, NASA EONET for global events, and EPA AirNow plus NOAA for air quality and smoke), refreshing itself every fifteen minutes. The app continuously measures the distance between every contact and every active hazard, and anyone inside the danger zone — within reach of a fire scaled by its acreage, inside a severe weather alert polygon, under a heavy smoke plume — gets a pulsing red flag and a card telling you exactly what’s nearby and how far away it is. Click the card, and the map zooms straight to them. If nobody’s threatened, it simply says “all clear,” and you close the tab knowing everyone’s fine. Layer toggles, a light/dark mode, and per-feed status lights round it out.</p>

<p>Your contact data stays yours: it lives in a plain contacts.json file (with a CSV mirror if you’d rather edit in a spreadsheet), geocoded once and cached, never sent anywhere except the free US Census geocoder that sharpens pin accuracy on first load. The data file contains real names and home addresses, so if you fork this project, keep your repository private. Beyond that, make it your own. Add contacts, prune old addresses, flip on the layers you care about, and let it sit in a pinned tab. Most days it will tell you nothing at all. But on the day a fire map on the news makes you wonder don’t I know somebody out there? — you’ll already know the answer.</p>

<p><a href="https://github.com/mmassie/lighthouse">Github Link</a></p>]]></content><author><name></name></author><category term="project" /><summary type="html"><![CDATA[A few summers ago, I watched news coverage of a wildfire tearing through a part of California and had a nagging thought: I wonder how close any of my friends are to these fires. That gap between “disaster happening somewhere” and “disaster happening to someone I care about” is the reason I built Lighthouse. It’s a single-page map that plants a small flag at the home of every person in my contacts list, then overlays live natural-disaster data on top: wildfires, hurricanes, tornadoes, floods, earthquakes, air quality, and smoke forecasts. The goal isn’t to be another disaster tracker, plenty of those exist. It’s to answer one very specific, very human question at a glance: is anything out there threatening someone I know and love, and should I reach out?]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://michaelmassie.com/assets/img/lighthouse.PNG" /><media:content medium="image" url="https://michaelmassie.com/assets/img/lighthouse.PNG" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Bike Light Keychain Mount</title><link href="http://michaelmassie.com/blog/2025/09/16/Bike-Light-Keychain-Mount" rel="alternate" type="text/html" title="Bike Light Keychain Mount" /><published>2025-09-16T00:00:00+00:00</published><updated>2025-09-16T00:00:00+00:00</updated><id>http://michaelmassie.com/blog/2025/09/16/Bike-Light-Keychain-Mount</id><content type="html" xml:base="http://michaelmassie.com/blog/2025/09/16/Bike-Light-Keychain-Mount"><![CDATA[<p><img src="https://michaelmassie.com/assets/img/variaLight.jpeg" alt="GarminKeychain" /></p>

<hr />
<p>Designed and printed a keychain clip for the Trek Flare Lights, and then the Garmin Varia, that allows you to easily keep it on your keychain when you’re not with your bike.</p>

<hr />

<p>Trek Light Version:
<img src="https://michaelmassie.com/assets/img/flareKeychain.jpeg" alt="Keychain" />
—</p>

<p><strong>Downloads</strong></p>

<p>Trek Flare 3D Print File - <a href="https://makerworld.com/en/models/1801452-trek-flare-light-keychain-hook#profileId-1921080">Makerworld Link</a></p>

<p>Garmin Varia 3D Print File - <a href="https://makerworld.com/en/models/1852426-garmin-varia-keychain-hook#profileId-1980395">Makerworld Link</a></p>]]></content><author><name></name></author><category term="project" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://michaelmassie.com/assets/img/flareKeychain.jpeg" /><media:content medium="image" url="https://michaelmassie.com/assets/img/flareKeychain.jpeg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Milwaukee Snackout And Snaccessories</title><link href="http://michaelmassie.com/blog/2025/08/14/Milwaukee-Snackout-and-Snaccessories" rel="alternate" type="text/html" title="Milwaukee Snackout And Snaccessories" /><published>2025-08-14T00:00:00+00:00</published><updated>2025-08-14T00:00:00+00:00</updated><id>http://michaelmassie.com/blog/2025/08/14/Milwaukee-Snackout-and-Snaccessories</id><content type="html" xml:base="http://michaelmassie.com/blog/2025/08/14/Milwaukee-Snackout-and-Snaccessories"><![CDATA[<p><img src="https://michaelmassie.com/assets/img/snackout01.jpeg" alt="Snackout" /></p>

<hr />

<p><strong>Oh, the places we’ll go!</strong></p>

<p>A couple of months ago, I had an idea to bring a charcuterie “to-go” box to a bike-and-coffee social ride (Scrappy Hour).</p>

<p>I’d once seen a Washington MTB outfitter offering something they called “Snackouts” — a Milwaukee Tool Packout Low-Profile Compact Organizer filled with trail snacks like beef jerky, nuts, and trail mix. I loved the concept, but I thought it could go one step further. Why not combine that rugged snack case with the elegance of a charcuterie board? The only missing piece… an actual cutting/serving board.</p>

<p>After some research into 3D printable Milwaukee Packout cleat designs, I printed and mounted some to the back of a cutting board cut to fit the case top. Voilà — phase one complete.</p>

<p>I was up against the deadline for the next ride, so instead of finding time on a laser cutter to burn in “Snackout,” I improvised, using Synthetic Oil of Wintergreen. I transferred the ink from a reversed laserjet print directly onto the board. Not bad for a quick hack.</p>

<p>None of this up till now is a new idea, Snackleboxes and even sectional bins with cutting board lid tops are all over the internet, but it started becoming different when I realized I needed other <em>snaccessories</em> — a cheese knife and a bottle opener, maybe hot sauce, and the list started to grow.</p>

<p>The day before the ride, I mounted a Packout wall mount to my front bike rack so the Snackout (and cutting board) could lock in securely for transport. It worked beautifully… except for one detail: it was hot out, and the cheese got sweaty. Kenny suggested adding a chiller or ice block. We tossed around ideas — maybe stacking another Packout full of ice packs underneath, or other cooling methods.</p>

<p><img src="https://michaelmassie.com/assets/img/snackout02.jpeg" alt="Snackout" />
<img src="https://michaelmassie.com/assets/img/snackout03.jpeg" alt="Snackout" /></p>

<hr />

<p><strong>Cooling Upgrade</strong></p>

<p>In the end, I decided to replace the middle bin with a custom ice block. This part went better than expected, though I had one worry - could the print hold the liquid coolant without leaking and would the container crack once frozen?</p>

<p>I went with soft-sided gel packs because they showed far less expansion and contraction between hot and cold than hard ice packs (which often bulge when frozen).</p>

<p>Cutting one open and feeding it into my prototype was… like putting toothpaste back in the tube. It was a patience test. Once it was finally in, I sealed it with a healthy dose of super glue and tossed it in the freezer.</p>

<p>Not only did it work — it worked perfectly.</p>

<p><img src="https://michaelmassie.com/assets/img/chillout.jpeg" alt="Snackout" />
<img src="https://michaelmassie.com/assets/img/chillout01.jpeg" alt="Snackout" /></p>

<p>More pics here <a href="https://www.instagram.com/p/DNF9jbkuhL0">Instagram</a></p>

<hr />

<p><strong>Future Plans</strong></p>

<p>I still want to add more accessories: a toothpick tray, a napkin holder, maybe more. But for now, I’m calling it done.</p>

<p>It’s already been mounted to a bike, strapped to a kayak, tossed into a passenger seat, and even used on a SUP board as a floating buffet table.</p>

<p>It may be possible that I am on a one man mission to make the Milwaukee Packout a lifesyle brand. :)</p>

<hr />

<p><strong>Downloads</strong></p>

<p>I’ll make the knife and bottle opener files available after some minor adjustments, as well as any new builds in the future.</p>

<p>Chillout Brick - <a href="https://makerworld.com/en/models/1699887-milwaukee-tool-chillout#profileId-1802643">Makerworld Link</a></p>]]></content><author><name></name></author><category term="project" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://michaelmassie.com/assets/img/chillout.jpeg" /><media:content medium="image" url="https://michaelmassie.com/assets/img/chillout.jpeg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">A Bioacoustic Waveform Sculpture</title><link href="http://michaelmassie.com/blog/2025/03/03/A-Bioacoustic-Waveform-Sculpture" rel="alternate" type="text/html" title="A Bioacoustic Waveform Sculpture" /><published>2025-03-03T00:00:00+00:00</published><updated>2025-03-03T00:00:00+00:00</updated><id>http://michaelmassie.com/blog/2025/03/03/A-Bioacoustic-Waveform-Sculpture</id><content type="html" xml:base="http://michaelmassie.com/blog/2025/03/03/A-Bioacoustic-Waveform-Sculpture"><![CDATA[<p><img src="https://michaelmassie.com/assets/img/rexArt.jpg" alt="Rex" /></p>

<p>About seven years ago, close friends, Nick &amp; Mel’s, beloved dog, Rex, passed away. He wasn’t just my friend’s companion — he was one of my favorite dogs, too. Not long after, Nick asked if I would create a piece of art to honor Rex’s memory. I happily agreed.</p>

<p><img src="https://michaelmassie.com/assets/img/meetRex.mov" alt="Meet Rex" /></p>

<p>For months, I brainstormed ideas. Some felt uninspired, while one concept stood out — but it was beyond my style with a paintbrush. I kept coming back to that idea, yet every time, I reached the same frustrating conclusion: I couldn’t make it the way I could see it. This creative paralysis lasted six years.</p>

<p>Fast forward to last year — I was watching an interview where the subject walked past a massive art piece on a hallway wall. The piece captured the sound waveforms of the indigenous prairie birds chirp where the office building now stood. I’ve always found waveforms visually compelling, and from that moment, the idea stuck with me. It wasnt till 2 months ago that the idea came to merge this bioaccoustics with the Rex art.</p>

<p>I reached out to my friends, asking if they had any recordings of Rex barking. Unfortunately, they didn’t, but they did have a video of him playing in the yard. At one point in the video, Rex runs past the camera, and you can hear the sound of his breath. Lucky enough I have a friend who is an Acoustical Scientist (Hello and thank you, Kevin!) who was able to help me clean up the sound and pull out the audio down to just one breath as Rex passed by.</p>

<p><img src="https://michaelmassie.com/assets/img/wavelength.png" alt="Sound wave" /></p>

<p>Rex was an Australian Shepherd with a mix of caramel-colored fur and white markings. My original plan was to carve the waveform into walnut using a lathe, paying tribute to his markings. However, when I rotated the waveform 360 degrees into a solid shape, I realized that the details of the design would be lost in the shadows of a dark wood. On top of that, my lathe—a tool my grandfather left me—was nearly 40 years old and no longer operational. I considered outsourcing the carving, but even a skilled woodworker connections had concerns about the feasibility.</p>

<p>While exploring options, I built a 3D model to prototype different sizes, allowing me to assess its tactile feel and sense of scale. The solid white printed prototype quickly revealed that dark wood would obscure much of the intricate detail and surprisingly, the printed white version didn’t, it provided a new perspective. I decided to integrate dark wood into the base, representing Rex’s coat, while keeping the sculpture itself white to reflect the markings on the back of his neck.</p>

<p>The final piece stands on a pedestal, intentionally abstract at first glance. It rests on a pin, allowing it to be removed and held in hand in its proper orientation. Etched into the base is the original waveform, its outline, and a 2D cross-section of its final shape, along with the words: One Breath – Rex.</p>]]></content><author><name></name></author><category term="project" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://michaelmassie.com/assets/img/oneBreath.jpeg" /><media:content medium="image" url="https://michaelmassie.com/assets/img/oneBreath.jpeg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">A Smart Bike Charge Controller</title><link href="http://michaelmassie.com/blog/2024/03/27/A-Smart-Bike-Charge-Controller" rel="alternate" type="text/html" title="A Smart Bike Charge Controller" /><published>2024-03-27T00:00:00+00:00</published><updated>2024-03-27T00:00:00+00:00</updated><id>http://michaelmassie.com/blog/2024/03/27/A-Smart-Bike-Charge-Controller</id><content type="html" xml:base="http://michaelmassie.com/blog/2024/03/27/A-Smart-Bike-Charge-Controller"><![CDATA[<p><img src="https://michaelmassie.com/assets/img/UIController.png" alt="UI Prototype" /></p>

<p>I am not sure why this isnt more standard in ebikes as good battery hygiene is the same as it would be for any EV. Never-the-less, I wanted to bring the same experience that I have with my connected car to the e-bike.</p>

<p>Features like:</p>

<p>1) Check on charge status from phone’s Lock Screen</p>

<p>2) Set the charge limit to 80% to better extend the life of the bike battery</p>

<p>3) Set charge times</p>

<p>4) Drop charge down to 40% over the winter when it’s less in use</p>

<p>5) Phone notification when charging is complete</p>

<p><img src="https://michaelmassie.com/assets/img/chargeController.jpeg" alt="Charge Controller Prototype" /></p>

<p>Adding a Sonoff (POWR316D) between the  wall outlet and battery get’s me almost 95% there, just looking to use their API it make a custom app to serve up the lock screen widget and handle custom settings.</p>

<p>Next challenge is if I can measure resistance to understand how full the battery is.</p>]]></content><author><name></name></author><category term="bike" /><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Making Accessories For Our Rivian</title><link href="http://michaelmassie.com/blog/2023/12/15/Making-Accessories-For-Our-Rivian" rel="alternate" type="text/html" title="Making Accessories For Our Rivian" /><published>2023-12-15T00:00:00+00:00</published><updated>2023-12-15T00:00:00+00:00</updated><id>http://michaelmassie.com/blog/2023/12/15/Making-Accessories-For-Our-Rivian</id><content type="html" xml:base="http://michaelmassie.com/blog/2023/12/15/Making-Accessories-For-Our-Rivian"><![CDATA[<p><img src="https://michaelmassie.com/assets/img/ipadhook.png" alt="Hook Image" /></p>

<h2 id="a-backseat-tablet-holder-3d-print">A Backseat Tablet Holder 3D Print</h2>

<p>For those with kiddos, I thought I’d share the print file for a simple hanger for the backseat of the Rivian to hold one of the more popular kids iPad/Tablet cases.</p>

<p>There is a cutout in the hanger arm so the USB-C is accessable as well as the hanger arm is extended slightly to allow you to wrap the excess cable around. There is a small gap in back that where the hanger slides into the notch on the car seat,  where i’ve added a rubber adhesive backed tab to protect the plastic from scratching.</p>

<p>https://www.thingiverse.com/thing:6360099</p>

<p><img src="https://michaelmassie.com/assets/img/ipadhook2.png" alt="Hook Image 2" /></p>

<p>Also if you don’t have a 3D printer, I’d recommend <a href="https://www.shapeways.com/">Shapeways</a>.</p>

<p>Lemme know if you’d see any opportunities for improvement.</p>]]></content><author><name></name></author><category term="project," /><category term="tech" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://michaelmassie.com/assets/img/trailpostApp.JPG" /><media:content medium="image" url="https://michaelmassie.com/assets/img/trailpostApp.JPG" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Trailpost: A Chat App To Get Updated Trail Conditions</title><link href="http://michaelmassie.com/blog/2022/12/18/TrailPost-A-Chat-App-to-get-updated-trail-conditions" rel="alternate" type="text/html" title="Trailpost: A Chat App To Get Updated Trail Conditions" /><published>2022-12-18T00:00:00+00:00</published><updated>2022-12-18T00:00:00+00:00</updated><id>http://michaelmassie.com/blog/2022/12/18/TrailPost:-A-Chat-App-to-get-updated-trail-conditions</id><content type="html" xml:base="http://michaelmassie.com/blog/2022/12/18/TrailPost-A-Chat-App-to-get-updated-trail-conditions"><![CDATA[<p><img src="https://michaelmassie.com/assets/img/trailpostApp.JPG" alt="Traipost" /></p>

<p>Started a project a couple of months ago and this weekend it’s finally in a working Beta.</p>

<p>This is <strong>Trailpost</strong>, a conversational interface connection to check on trail conditions (Powered by <a href="https://www.trailforks.com/">Trailforks</a>). Currently it works with Google Assistant, but the end goal is having it running on Alexa in time to run it in a Rivian (delivery date: April-June). No real rocket science here, it’s a fairly straighforward build, but fun none-the-less.</p>

<p>As an intial prototype I dropped the Trailpost widget into a Chrome Extension to get a feel for how often trails are updating and a general feel for usefulness of the data:
<img src="https://michaelmassie.com/assets/img/chromeextension.png" alt="Chrome Extension" /></p>

<p>The data getting posted was few and far between but the overall experience was very convenient and sometimes bothersome to see great trail conditions while sitting at my desk.</p>

<p>I’ve been overdue to get into a coding project that I can dig into AWS Lambda, Chat Apps/NUI, and APIs for some time; this seemed the perfect canidate. Building in AWS allowed me to use what we already have in the home - <a href="https://developers.google.com/assistant">Google Assistant</a> - and then expand to Alexa for car connectivity. Now I can ask about my favorite trails in the morning and check to see what their most recent condition reports are before heading out to ride/run.</p>

<p>This project connected to the Trailforks API in order to get the most recent updates on the trails. I then added a list of my favorite trails to the Google Assistant project that can pass thru the intents and I can then return results from Trailforks. As of now, not many people update trail conditions, but that was half the point - it was about the project and maybe even then promote people to update reports.</p>

<p><a href="https://github.com/mmassie/trailpostBackend"><img src="https://michaelmassie.com/assets/img/gitrepoTrailpost.jpg" alt="Git Repo" /></a></p>

<h3 id="updates">Updates</h3>

<ol>
  <li>
    <p>With Goodle Conversational Actions shuttered I am currently moving everyhing to just Alexa.</p>
  </li>
  <li>
    <p>Hardcoded results to test in a Rivian: <a href="https://www.instagram.com/p/CvSUoEmAkP6/">https://www.instagram.com/p/CvSUoEmAkP6/</a> ✅</p>
  </li>
</ol>

<h3 id="to-do">To-Do</h3>

<ol>
  <li>Once ported over I’ll now adding some extra features, like local weather for a little more accuracy so I know how to dress before I head out.</li>
</ol>

<h4 id="hardware-build">Hardware Build</h4>

<ol>
  <li>I have some 7 segment LED displays too that I may look to incorporate into a physical version based off the original concept sketches I had made below:</li>
</ol>

<p><img src="https://michaelmassie.com/assets/img/trailpostSketch.png" alt="Trailpost Sketch" /></p>

<p>Home for the Holidays!</p>]]></content><author><name></name></author><category term="project," /><category term="tech," /><category term="app" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://michaelmassie.com/assets/img/trailpostApp.JPG" /><media:content medium="image" url="https://michaelmassie.com/assets/img/trailpostApp.JPG" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Electrifying The Cargo Bike</title><link href="http://michaelmassie.com/blog/2022/11/13/Electrifying-The-Cargo-Bike" rel="alternate" type="text/html" title="Electrifying The Cargo Bike" /><published>2022-11-13T00:00:00+00:00</published><updated>2022-11-13T00:00:00+00:00</updated><id>http://michaelmassie.com/blog/2022/11/13/Electrifying-The-Cargo-Bike</id><content type="html" xml:base="http://michaelmassie.com/blog/2022/11/13/Electrifying-The-Cargo-Bike"><![CDATA[<p><img src="https://michaelmassie.com/assets/img/bike05.JPG" alt="Finished Bike" />
We’ve been constantly in search of mobility soltuions that allow us to be a one car family. For backgoround, during the pandemic I shed my Subaru; with work at home and schools closing (for our 6yr old) the transition to one car was easy. When we were asked to start coming back into the office, school and extracurricular activities started spinning back up we definitely started feeling the pains of one car. We did end up folding and getting a second car again but this time opting for electric. As a bike family we also had an accoustic <a href="https://www.xtracycle.com/">Xtracycle Cargo Bike</a> (they have since moved to e-only options) for kid carrying, errand running, haulin-hauler in the garage. We love this bike but with size, effort due to weight, it more gets sidelined during the week and used for weekend rides as a whole group to the farmer’s market, brunch, etc.</p>

<p>In researching options, we chose to pick up a RAD bike. We had tested one a couple years back when a couple got a flat in front of our house and we took them in to help repair. After repairs, we got a demo ride and it was fun and impressive. It solved an amplified problem on a cargo bike… they’re heavy even when not loaded up with a kid, a dog, and groceries, etc. So we opted for the <a href="https://www.radpowerbikes.com/collections/electric-cargo-utility-bikes/products/radrunner-electric-utility-bike">RAD Runner</a> to keep cargo capability, kid carry and shorter wheel base to be able to be loaded on a tail hitch rack. The shorter frame was felt quickly - with a kid strapped in the Yepp bike seat we were already out of room -  and the smaller wheel size changed the riding style considerably. Electric fucntionality was great, but we compromised too much of everything else we needed.</p>

<p>Finally, Surly and Xtracycle entered the market with their shorter base cargo electric options. The one part that pained me, besides the price points, was that we had a perfectly good cargo bike in our garage that had lots of fond memories. In my opinion, bikes are meant to be changing and upgradable so the only real solution was to retrofit the current bike with a motor and battery.</p>

<p>I cant say for certain, but it appeared that Bosch had dropped their retrofit options going solely for new build. Additionally, it seemed Bosch took a closed loop approach in service options, similar to John Deere (booooo), they seemed to want to be the only ones servicing their equipment… which felt very anti-bike culture. That only left Bafang as an option. I was less concerned about battery and fire issues as I knew Bafang had been around long enough that most their power management issues were in the past.</p>

<p><img src="https://michaelmassie.com/assets/img/bike01.JPG" alt="Project start with shop dog" /></p>

<p>I ordered the kit in similar sizing to the one that was inlcuded in the RAD bike and then I needed to math out what size battery that would support a round trip to work (12 mi) and get home with a comfortable non-range anxiety inducing ~20% battery left. This should make adequate space for some errands, weight add, and weather conditions. This turned out to be not much of an issues, with e-assist the weight of the bike becomes less of a concern allowing you to battery up to whatever - I went with a 48V 15Ah battery which gives me an estimated 35 miles of range. Ha. I think we’re safe.</p>

<p><img src="https://michaelmassie.com/assets/img/bike02.JPG" alt="Midprogress" />
<img src="https://michaelmassie.com/assets/img/bike03.JPG" alt="Wire Repair" /></p>

<p>The install was clean and straight forward. The bottom bracket mid-mount motor was easy to install and kept weight distribution comfortable and natural feeling. I did, somehow, sever the speedometer cable during install and had to subsequenly pull out the multimeter to troubleshoot what looked like a quick solder and shrink tube fix. The frame extension from behind the seat tube left plenty of storage room for the battery and when complete the unit really blended in with the bike - knowing it’s mostly a necessary evil, downtube battery mounts just still look so out of place to me. Being it a cargo bike I did have to order up some extra extensions for some of the cabling that has to run all the way to the rear of the bike. A tail light also wasn’t inlcuded so I still split the line to the front light and did some hacking to get a proper rear light installed. Cable management is oddly satisfying.</p>

<p><img src="https://michaelmassie.com/assets/img/bike04.JPG" alt="Battery with camble management" /></p>

<p>We plan to stay electric for transportation and hopefully back down to one car now with the addition of this sweet upgrade.</p>

<h3 id="parts-list">Parts List</h3>
<ol>
  <li><a href="https://www.amazon.com/gp/product/B07Y4RMDDD/ref=ppx_yo_dt_b_asin_title_o08_s00?ie=UTF8&amp;psc=1">BAFANG Mid Mount Drive Kit</a></li>
  <li><a href="https://www.amazon.com/gp/product/B09MK81GMK/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&amp;psc=1">Lithium Battery 48V</a></li>
  <li><a href="https://www.amazon.com/gp/product/B09BCZX59P/ref=ppx_yo_dt_b_asin_title_o05_s01?ie=UTF8&amp;psc=1">Tail Light</a></li>
  <li><a href="https://www.amazon.com/gp/product/B09GXVWF5X/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&amp;psc=1">Electric Bike Sensor Shift Sensor</a></li>
  <li><a href="https://www.amazon.com/gp/product/B0998XY4X6/ref=ppx_yo_dt_b_asin_title_o09_s00?ie=UTF8&amp;psc=1">Brake Gear Shift Speed Sensor Extension Cable</a></li>
  <li><a href="https://www.amazon.com/gp/product/B094QV6SF6/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&amp;psc=1">Battery Adapter Frame Mount,</a></li>
  <li><a href="https://www.amazon.com/gp/product/B07FW3GTXB/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&amp;psc=1">1/2 inch Cord Protector Wire Loom Tubing</a></li>
</ol>]]></content><author><name></name></author><category term="bike," /><category term="electric," /><category term="project" /><summary type="html"><![CDATA[We’ve been constantly in search of mobility soltuions that allow us to be a one car family. For backgoround, during the pandemic I shed my Subaru; with work at home and schools closing (for our 6yr old) the transition to one car was easy. When we were asked to start coming back into the office, school and extracurricular activities started spinning back up we definitely started feeling the pains of one car. We did end up folding and getting a second car again but this time opting for electric. As a bike family we also had an accoustic Xtracycle Cargo Bike (they have since moved to e-only options) for kid carrying, errand running, haulin-hauler in the garage. We love this bike but with size, effort due to weight, it more gets sidelined during the week and used for weekend rides as a whole group to the farmer’s market, brunch, etc.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://michaelmassie.com/assets/img/bikeHero.JPG" /><media:content medium="image" url="https://michaelmassie.com/assets/img/bikeHero.JPG" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Enterprise Error As Art</title><link href="http://michaelmassie.com/blog/2020/07/28/Enterprise-Error-As-Art" rel="alternate" type="text/html" title="Enterprise Error As Art" /><published>2020-07-28T00:00:00+00:00</published><updated>2020-07-28T00:00:00+00:00</updated><id>http://michaelmassie.com/blog/2020/07/28/Enterprise-Error-As-Art</id><content type="html" xml:base="http://michaelmassie.com/blog/2020/07/28/Enterprise-Error-As-Art"><![CDATA[<h2 id="-work-in-progress-">** Work in Progress **</h2>

<h3 id="from-a-chaotic-start-illuminating-disorder-to-clarity-upon-resolution">From a chaotic start, illuminating disorder to clarity upon resolution</h3>

<p>Recently left feeling inspired to work on some art again after picking up <a href="https://mitpress.mit.edu/books/speculative-everything">Speculative Everything</a>, I decided to start building cases for a project I had conceptualized a year ago. Although in contradiction to the book and its focus on “Radical Design”, it is art to bring focus to a corporate concern.</p>

<p>The art is a combination of 2 parts: 1) The projection of a falling data point/music note via video projection or portrait mounted TV, and (2) A servo animated xylophone player to play the note as it reaches the bottom of the screen.</p>

<p><img src="/assets/img/robotMusician.jpg" alt="" />
[<em>Current State</em>]</p>

<p>This artwork intends to play a song, but if error rates are too high the resulting composition will be too chaotic to be able to be recognized.</p>

<p><img src="/assets/img/errorArt2.png" alt="" /></p>

<p>The concept came from a few sources. First, we were discussing what a tech + art event could look like for the city of Milwaukee. I had proposed offering up an API for a single value and then offer that up to artists to build a sculpture around the data it receives; think of it as a Burning Man around data. The second point was to make an installment as an example. It also turns out I know of a process that has a high rate of error and the error leads to extra processing time for the customer. I though maybe if we demonstrate how significant that error rate is, we could inspire action to fix, and if the results are real-time there is a direct reward to changes made to improve the experience.</p>

<h3 id="how-does-it-work">How does it work?</h3>
<p>Data collected over [time] to establish composition to play during “open hours”. Data is collected in a simple boolean database capturing if each entry over times was entered TRUE or FALSE.</p>

<p>0 - Standard entry falls at 1x rate</p>

<p>1 - Error entry falls at [random] rate</p>

<p>The images representing the collected data falls from the top of the artwork toward the bottom to its respective musical input/key.</p>

<p>A hardware switch offers 2 options of playback:
A - Xylophone or piano actuates hit to the tempo of the image to composition.
B - Speaker or Headphones plays the tone associated to the composition</p>

<p>Result: As error rates decrease due to us fixing the services in our client solution the composition becomes more apparent = Great Unveil</p>]]></content><author><name></name></author><category term="art" /><summary type="html"><![CDATA[** Work in Progress **]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://michaelmassie.com/assets/img/robotMusician.jpg" /><media:content medium="image" url="https://michaelmassie.com/assets/img/robotMusician.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Google Streetview Nighthawks Mashup Painting</title><link href="http://michaelmassie.com/blog/2020/06/20/Google-Streetview-Nighthawks-Mashup-Painting" rel="alternate" type="text/html" title="Google Streetview Nighthawks Mashup Painting" /><published>2020-06-20T00:00:00+00:00</published><updated>2020-06-20T00:00:00+00:00</updated><id>http://michaelmassie.com/blog/2020/06/20/Google-Streetview-Nighthawks-Mashup-Painting</id><content type="html" xml:base="http://michaelmassie.com/blog/2020/06/20/Google-Streetview-Nighthawks-Mashup-Painting"><![CDATA[<p><img src="/assets/img/NighthawksRemixOnWall.jpeg" alt="" />
<img src="/assets/img/NighthawksRemixCloseUp.jpeg" alt="" /></p>

<p>Finally, after years (file creation date says September 24, 2014) this project is complete. A couple years ago I got obsessed with designing Google Streetview over famous classic paintings. Edward Hopper’s <a href="https://en.wikipedia.org/wiki/Nighthawks_(painting)">Nighthawks</a> seemed a pretty easy early choice. I tried some other classics of Paris streets although far too often the viewpoint was understandably painted from the sidewalk; but Hopper’s looks a little more like it could have been taken from a Streetview car.</p>

<p>After some extensive searching I couldn’t pinpoint if this was an actually location, so I settled on NYC (Where Hopper lived) and finding an acute intersection with similar buildings. At that point I grabbed the highest resolution image of Hopper’s work and took to Adobe Illustrator to reconstruct all the UI Google Maps lays on the screen.</p>

<p><img src="/assets/img/NighhawksOG.jpeg" alt="" /></p>

<p>This is kind of where I thought I was done. I blogged about it and then archived it. Last year I was scrolling thru twitter and some people were talking about commisioning a photo to be painted in China. They had shared some pics and it was hilariously amazing. One I saw they mentioned the name of the <a href="https://www.buy-painting.com/">site</a> they ordered thru, it was off to the archives to place an order. Finally this week a frame arrived and I was able to get it up on the wall for all to enjoy.</p>

<p>I think my favorite part of the process was an email that came back a couple days after I had placed the order asking for a higher resolution image because the faces were blurry. Nope. That’s exactly how I intended.</p>

<p>Nooooooooow, it’s done.</p>]]></content><author><name></name></author><category term="art" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://michaelmassie.com/assets/img/NighthawksRemixOnWall.jpeg" /><media:content medium="image" url="https://michaelmassie.com/assets/img/NighthawksRemixOnWall.jpeg" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>