Scrapegoat - Raspberry Pi Price Tracker

Scrapegoat - Raspberry Pi Price Tracker

·homelabraspberrypipiholetroubleshooting

Back in August’s Raspberry Pi Price Tracking post, I talked about a quick Markdown table I put together by hand to compare Micro Center’s Raspberry Pi prices. It worked fine for a snapshot, but those numbers go stale fast — and I wanted something that could keep itself up-to-date.

Scrapegoat is a small Python + PHP project that automatically scrapes Micro Center’s Raspberry Pi listings, tracks prices over time, and publishes live tables and charts. It builds daily snapshots, flags sales and all-time lows, and outputs Reddit-ready markdown tables — all powered by static JSON data, no database needed.

Read more →
Pi‑hole Zero 2 W: Beyond NIC Flapping — The Freeze Mystery
Adding Comments with Utterances

Adding Comments with Utterances

I wanted to add a lightweight way for people to interact with my Jekyll posts without running my own backend. Utterances turned out to be perfect: free, simple, and powered by GitHub Issues.


Setup Steps

  1. Create a repo just for blog comments (or reuse an existing one).
    • I made a public repo, separate from my sites private repo.
    • Installed the Utterances GitHub App on that repo.
  2. Generate the config on utteranc.es
    • Fill in your user/repo
    • Choose your mapping
      • I went with pathname so each post maps to a unique issue automatically. It seemed the best choice for my Jekyll generated site.
    • Add a label (optional)
    • Choose a Theme
    • Click copy and move to step 3.
  3. Add the embed
    I made an include file from the generated config plus added some noscript text because I’m old.

Read more →
Automating Jekyll Commits with Gitkwik

Automating Jekyll Commits with Gitkwik

After creating gitkwik to handle versioning and commits on my Node based project, Dashatron, I wanted a simpler version for my Jekyll site. This version removes all the NPM logic, supports versioning directly inside _config.yml, and auto-builds the site with jekyll build so I never forget.


What It Does

  1. Checks for uncommitted changes
  2. Prompts for a commit message
  3. Offers to bump the version: in _config.yml (patch, minor, or major)
  4. Commits the version bump (if any) separately
  5. Builds the site with bundle exec jekyll build
  6. Optionally commits _site/ if tracked

It skips the push step — I like to eyeball everything one last time before sending it up.

Read more →
Remotely Updating from Debian 12 Bookworm to Debian 13 Trixie

Remotely Updating from Debian 12 Bookworm to Debian 13 Trixie

Update 2025/09/05: There were display issues following this update. I will post a followup once I’ve corrected them.

Update 2025/10/14: I still haven’t figured this out, but I haven’t spend much time on it.


I’m traveling at the moment but have an idle morning so I’m geeking around and I see Debian 13 Trixie was release a week or so ago. Being a glutton for punishment, I’ve decided to see if I can force my 3D print server to complete the upgrade without needing physical intervention. This would be the second full kernel upgrade that install has seen.

“MacMini” Mid 2011 Mac Mini
CPU Intel Core i5-2415M @ 2.30 GHz
Architecture 2 cores / 4 threads (Sandy Bridge)
RAM 16 GB - 1600Mhz DDR3

Since I repurposed this as a server for my 3D printers, it has run Debian. I initially installed Raspberry Desktop on it so that it was something familiar to me as my initial Linux knowledge was all Raspberry Pi based. Raspberry Desktop has not been updated since 2022 and it’s currently based on Debian 11 (Bullseye). I was running into issues with some things being out of date so I pushed Debian 12 (Bookworm) to it without much fuss and it’s been running fairly well besides stumbling into an issue with upgrading Crowsnest, where camera-streamer was looking to see if I was running a Raspberry Pi. It checked for an old system file, and removing this remnant fixed this issue with no side effect.

Read more →
The burnt out husk of a lawn tractor...

The burnt out husk of a lawn tractor...

·home

When I bought my house about five years ago my mother in law gave me her old lawn tractor. It was around 18 years old and had plenty of hours on it but it was in good shape. It my was first lawn tractor and a point of suburban pride for an idiot like me. I spent that last five years puttering around the back yard on it, usually with a beer in one hand and my headphones on listening to a book or podcast. It was a bit of a running joke about being a stereotypical dad. My wife got me a t-shirt from Dude Dad that said “Hot Dad Summer” with a silhouette of a lawn tractor on it. I’ve got a small model of my tractor on my desk at work, and another larger model of it in my garage. It really has been my summer “hobby” ever since we’ve into this house.

Unfortunately time had taken its toll on the old girl as it does. I had rebuilt the deck a couple years ago; new spindles, bearings, refreshed the paint, etc. I had changed the bearing on the front wheels, though the really needed new axles. It had a few oil leaks as well, so I fixed the ones I could without disassembling the entire motor but they continued. Oil was leaking on the exhaust and it would begin to smoke badly once it was up to temperature. Last season there was an incident and a small fire happened below the power take off and melted a belt and some wires. That was an easy fix and I just told myself to be better at clearing the debris from around the motor.

Read more →
Installing Rayhunter on Orbic Hotspot

Installing Rayhunter on Orbic Hotspot

Rayhunter Project

Several months back I saw an article from the Electronic Frontier Foundation that talked about using cheap mobile hotspots to detect cellphone intercepting Stingrays. Although I have no use for such a device, I thought it was a cool project. The hardware only cost me $11 on eBay. It seemed like a simple enough project, but I ran into some issues when trying to patch the device from my M2 macbook, so I thought I’d share what I did to get around the issues. Hopefully it helps someone else in the same situation.


Installing EFF’s Rayhunter on an Orbic Mobile Hotspot

Here’s a step-by-step of how I got EFF’s Rayhunter working on an Orbic Speed RC400L (Verizon) 4G LTE mobile hotspot, including all the weird quirks I had to fix.

Read more →

Raspberry Pi Price Tracking

Update — Oct 2025:
This project has grown into a full automated tracker called
Scrapegoat — it scrapes Micro Center’s Raspberry Pi listings daily, tracks prices over time, and publishes interactive tables and charts.
Read the follow-up post: Scrapegoat – Raspberry Pi Price Tracker

Why…

This started off as an answer to a Reddit post. Essentially, the poster asked if a 3 or 4 was good enough to run something. The memory requirements were discussed and it came down to a 4 or 5 and I dug into the prices to show it’s only $5 more to get an 5 with the same memory as a 4. A big part of me hates the apathetic way we all check Amazon for pricing first, when historically I’ve found Microcenter has the best prices. They’ve always had decent prices on Pi’s and so I generally use them as the baseline when costing projects. I like to share my little markdown pricing table when people are trying to debate which device to choose now.. and I’d like to figure out a good way to keep an up-to-date record of these prices.

Read more →

Scripting Git Updates

I was updating Dashatron today to fix some issues I’d been having, and I kept remembering things I needed to do after pushing the commit. So I threw together a bash script to make the whole process easier — something I could run at the end of a work session that handles the common Git steps I always forget.

I mostly work in VS Code, so this is a simple script I can drop into a project folder, add to .gitignore, and run from the terminal. Sure, there’s probably a better way to do everything this script does — but where’s the fun in that?

Read more →
Removing a Firmware Password from a 2013 Mac Pro with a CH341A

Removing a Firmware Password from a 2013 Mac Pro with a CH341A

So I had a late 2013 Mac Pro sitting around that was firmware locked, and I finally decided to see if I could wipe the EFI password off it manually — with a CH341A SPI programmer and some guts. I think it’s a beautiful example of the industrial design and I don’t have the heart to send it to the recyclers.

This is a step-by-step of what I did, what worked, and what didn’t. I didn’t use any sketchy cracked software or weird boot disks. Just a cheap USB SPI programmer, SOIC clip, flashrom, and Hex Fiend.

Read more →

Calculating Pi

In May 2025, after seeing a video from Linus Tech Tips about setting a new record calculating Pi, I was curious what this was all about. I did some reading and realized there were several different categories that benchmark these records but that the process to do it yourself was relatively simple. Obviously, tuning a system to do it in some record setting fashion is more complicated, but you can render absurdly long calculations of Pi yourself quite easily. I decided to push an old 2011 Mac Mini to its thermal limits and make it calculate 1 billion digits of π. Because… why not?

🧪 Pi Computation Benchmark – Old Mac Mini Edition


🖥️ System Specs

Component Details
CPU Intel Core i5-2415M @ 2.30 GHz
Architecture 2 cores / 4 threads (Sandy Bridge)
RAM 16 GB (13.1 GB usable)
OS Debian-based
Cooling Apple’s “eh, good enough” fan
Benchmark Tool y-cruncher v0.8.6.9545

⚙️ Benchmark Settings

Setting Value
Digits Calculated 1,000,000,000
Mode RAM Only
Algorithm Chudnovsky (1988)
Threads Used 4
Twiddle Tables 58.9 MiB
Working Memory 4.29 GiB
AVX Support ✅ (but no AVX2)

⏱️ Results

Metric Result
Total Time 12.12 minutes
CPU Utilization 374.78%
Multi-core Efficiency 93.70%
Final 50 Digits of π 7139868209 3196353628 ... 5483278746
Validation ✅ Spot Check Passed

File: Pi - 20250516-234849.txt

Read more →