Skip to content

Blog

Moviebuff

Moviebuff is a Django application originally written by retiolus that was released last August. I’m not sure how I originally came across it, but I remember it being demonstrated on Mastodon. Moviebuff allows you to track and rate the movies you watch and share them on the Fediverse.

I already have a music site and I’ve been tracking what I watch manually, so I was kind of excited for Moviebuff. I forked it right away, but there wasn’t any installation instructions and I’ve never used Django. I was able to reverse the first few things needed in the .env file, such as the Django secret key, an API key from The Movie Database, but I couldn’t figure out how to get Federation working. The code to add Federation didn’t appear to be in the original repository or any of its branches.

So there it sat. I debated a few times about opening an issue in the Moviebuff repository asking for help, but I didn’t want to bug the maintainer and I was just grateful that anything had been shared and open sourced.

After successfully using Claude Code to help create the circuitpython-bambulabs library, I pointed Claude at Moviebuff and away it went. It surprised me again when it was able to add Federation to the project based on the scaffolding that was already there, no database changes needed.

I’ve done a few projects in Pyramid and FastAPI, so Python based web frameworks weren’t totally new to me. Partnered with Claude, I went to work.

Things I’ve updated and changed:

  • Added dark mode and made it the default with a toggle to change light or dark mode on the home page
  • Added working Federation based on the buiding blocks present in the app
  • Changed Federation to only post when a movie is rated. Also added a Share to Fediverse button using HTMX that appears when a movie is added to the Watched Movies list
  • Added an environment variable and code to enable or disable registration (to avoid spammers)
  • Disabled the registration pages if the user is unauthenticated and registration is disabled
  • Updated the home page to show a legend, the five most recent movies rated, movie posters for the four most recent movies rated, and HTMX to page through the rated movies
  • In the Dashboard, added HTMX to page through all the Watched Movies
  • In each movie card, added the star ratings for the movie
  • Updated the datetime fields to be MON/DAY/YEAR and added commas to the movie's budget
  • Added a Font Awesome film icon in the upper left and made it and Moviebuff clickable to return to the home page
  • Added a custom footer that matches silversaucer.com
  • Added a CONTRIBUTING.md and CODE_OF_CONDUCT.md
  • Added installation instructions in the README

You can see it in action at https://moviebuff.silversaucer.com. I’ve added most of the movies I watched in Feburary and March and I’m still debating about adding earlier movies.

The code lives at Codeberg and I’ve made a synchronized mirror on GitHub. If you like it, give it a star! And if you really want to know what I’ve watched, you can follow me on Mastodon at @prcutler@moviebuff.silversaucer.com.

I’m so grateful to retiolus for creating the app and releasing it under an open source license. I’m looking forward to rating, cataloging, and sharing the movies I watch.

Moviebuff homepage screenshot

What I'm Watching - Q1 2026

It's a new year and I'm still tracking what I'm watching. I have a number of television shows still in progress. I don't write them down until the season I'm watching has finished.

Highlights include finally getting around to For All Mankind season 4 with season five having just started. I highly recommend this show if you haven't seen it. I also enjoyed Predator: Badlands, Have Fun, Don't Die, Good Luck, and The Rip. Whatever you do, don't watch Mercy. I still need to catch up on some of the Oscar nominees.

Legend

  • The Criterion Channel = *

  • 4K UHD = +

  • AppleTV+ = ^

  • Netflix = ~

January

  • Predator: Badlands (2025)
  • Boogie Nights+ (1997)
  • The Rip~ (2026)
  • Dust Bunny (2025)
  • Landman S2
  • What Lies Beneath~ (2000)
  • For All Mankind S4^
  • If I Had Legs, I’d Kick You (2025)

February

  • Loot S3^
  • The Wrecking Crew (2026)
  • The Ballad of Wallis Island (2025)
  • The Assessment (2025)
  • The Lazarus Project S2
  • Is This Thing On? (2026)
  • Mercy (2026)
  • The Housemaid (2025)
  • Eternity (2026)^
  • Industry S1
  • Honey Don’t (2025)~

March

  • Crazy Stupid Love (2011)~
  • Mission: Impossible 2 (2001)+
  • Dracula (2027)
  • A Man on the Inside S2~
  • Good Luck, Have Fun, Don’t Die (2027)
  • Pacific Rim (2013)+
  • Firefly (2001)
  • Serenity (2005)+
  • Send Help (2026)
  • How to Make a Killing (2026)

circuitpython-bambulabs Published!

Following up on my blog post from yesterday, I spent Sunday preparing the circuitpython-bambulabs library to be published.

Unfortunately, I ran into an issue with the CI where it was failing to build. Thanks to some pointers from todbot, I was able to refactor the library and move the MQTT setup into the BambuPrinter class. This makes me happy as the user doesn't have to set up MQTT, assuming they've entered their printer settings in settings.toml, the library handles connecting for you.

I also heard from Brent Rubell at Adafruit who confirmed that the MQTT library for CircuitPython uses MQTT 3.1.1 - which is odd, because while MQTTX would connect locally using 3.1.1 (and not 5.0), CircuitPython would not connect locally. I'll investigate this more as I'm guessing some people would rather connect locally instead of through Bambu Cloud.

Other things I learned:

  • The Creating and sharing a CircuitPython library Learn Guide needs some updates. The process to create docs on ReadtheDocs has changed, libraries use ruff now for linting instead of Pylint and black, and sharing in the Library bundle needs some updates.
  • The Learn Guide doesn't cover publishing to PyPi, though the cookiecutter template does include the GitHub Actions to publish the library. It took me longer than it probably shoudl to figure out how to enter the secrets in GitHub to allow it to build and upload. This would be helpful to add to the Learn Guide.
  • The section in the Learn Guide on Sharing in a Bundle also needs an update. The section on verifying didn't work for me, though Updating the Library list did.

Lastly, a big thank you to Foamyguy who merged my pull request to add the library to the Community Libraries right away! You can find more about the library by:

  • Install via circup: circup install bambulabs to install on your microcontroller. (Just tested it and it's so cool to see that work!)
  • PyPi
  • ReadtheDocs
  • GitHub repository (And if you like it, give it a ā­ļø)

Bambu Labs CircuitPython Library

I follow a number of people on GitHub and one of them is my good friend todbot. I noticed in my feed he he had starred an Arduino program called Bambu Helper that displays information and statistics from your Bambu Labs printer, such as the percentage progress of the current print, nozzle temperature, fan speed, and more.

That got me thinking - if it can be done in Arduino, it can be done in CircuitPython. It's been a couple years since I had a good CircuitPython project, so away I went. I started researching the Bambu API and more GitHub repositories than I can count, mostly Python projects that connect to a Bambu Printer using MQTT.

I then used MQTTX to connect to my printer and test the various MQTT methods. I was able to successfully connect to my P1P printer both through Bambu Cloud and locally over my network.

And then I cheated - I used Claude to bootstrap the project by pointing it at the API Docs and the BambuHelper Arduino app to create a proof of concept in CircuitPython. (I know, I know... the AI skeptic just used AI) It got pretty close - it did get the MQTT command to request a full status update wrong, but that was an easy fix.

I had the proof of concept working on my S3 Qualia board and 4" display:

Bambu Labs info displayed on a 4" screen

One thing I learned, though I'm waiting to confirm, is that CircuitPython only uses MQTT 5.0, and not 3.1.1. Connecting via Bambu Cloud will connect on both MQTT standards, but the local connection only will connect using 3.1.1, which CircuitPython doesn't appear to use that I could figure out. That means you have a few extra hoops to jump through to get a token and user ID, but it wasn't that hard and I've documented the process.

Unfortunately I appear to have fried both my S3 and S2 Reverse TFTs (thanks macOS) which I wanted to prototype with. Using a $50 worth of equipment is a bit much for a project like this. But that got me thinking - what if I could create a library so people could just get the info from the printer and then build their own UI on top of it to match their choice of microcontroller and screen?

So that's what I did next, by creating the CircuitPython_bambulabs library. This is the first time I've ever created a library and I'm following along with both the Learn Guide and the design reference. Parts of the Learn Guide are outdate (hello Ruff), but overall it hasn't been bad, though I loathe writing reStructured Text and much prefer Markdown. At least the cookiecutter setup makes it easy to edit.

Assuming you've got all the settings correct in settings.toml, the library handles the MQTT setup and querying the printer to get the JSON response and breaking down that response into individual methods.

It is also possible to send commands to your printer, for example to set the bed temperature or turn the light on or off. I purposefully did not include commands, this library is only for viewing the various status messages available from the printer.

I created a simpletest that connects to the printer and prints to serial a nicely formatted list of all the information returned from the printer and a raw dump of the JSON.

The GitHub Actions for the library are currently failing as it doesn't import the bambulabs library or the wifi module. I'm not sure why yet and have asked for some help. If you want to test it out, you can clone the repo and copy the bambulabs.py file to your /lib directory or the root directory of your CircuitPython microcontroller.

When the library is finally published and is available via circup, I'll post an update to the blog. And if you have any feedback, please let me know by dropping me an email or leaving an issue or comment in the repository.

What I'm Watching - Q4 2025

Wrapping up the year, here's everything I watched in October, November, and December, excluding sports. Because there is a lot of football that isn't accounted for, which is why my total watchlist is down. Well, that and a bit of gaming took out a chunk in November and I was traveling half of December.

I plan on continuing to track my watchlist monthly, though I'm unsure if I'll keep blogging it. A small part of me is tempted to do what Steven Soderbergh does, and track everything. But I probably really don't want to know how much time I spend watching baseball and football.

Highlights include K-Pop Demon Hunters, Peacemaker S2, Task, Wake Up Dead Man, One Battle After Another, and Pluribus. I was disappointed with A House of Dynamite, The Roses, Relay, and Good Fortune.

Legend:

  • The Criterion Channel = *

  • 4K UHD = +

  • AppleTV+ = ^

  • Netflix = ~

October

  • Peacemaker S2
  • K-Pop Demon Hunters~
  • Task
  • The Parallax View (1974)*
  • Punch Drunk Love (2002)*
  • Mission: Impossible (1996)+
  • A House of Dynamite (2025)~
  • Platonic S2
  • The Roses (2025)

November

  • The Toxic Avenger (2025)
  • Chad Powers S1
  • Panic Room (2002)*

December

  • Tron: Ares (2025)
  • A Man on the Inside (2024) S1~
  • Parish (2024)~
  • Fatman (2020)~
  • Good Fortune (2025)
  • One Battle After Another (2025)
  • Relay (2024)
  • Mayor of Kingstown S1
  • The Running Man (2025)
  • Wake Up, Dead Man (2025)~
  • F1
  • Pluribus (S1)
  • The Copenhagen Test S1
  • Dogma (2000)+

Favorite Albums of 2025

Favorite Albums of 2025

Like 2022, 2023, and last year, here’s my favorite albums and releases of 2025 in no particular order:

  • Album of the year: Haim, I Quit: This album was released at the perfect time and became my go to album of the summer. Fantastic from start to finish.
  • Best reissue: Mother Love Bone's Shine and Apple. Not only are they newly remastered, they sounded great streaming and then the records came out and sounded just as good. If you don't know the history of Pearl Jam, look up Mother Love Bone and give them a listen.
  • Best Soundtrack: Nine Inch Nails, Tron: Ares. It was like peanut butter and chocolate - NIN and Tron go perfectly together and they nailed (no pun intended) the soundtrack.
  • Favorite Surprise: Craig Finn, Always Been. As much as I love, love, love The Hold Steady, I've never been able to get into Craig Finn's solo work. But this album - Craig's stories combined with The War on Drugs as his backing band was really something special.
  • Favorite throwback: Momma, Welcome To My Blue Sky. Every review you read of Momma's first album or this follow-up mentions their throwback sound to the 90s indie scene. And they're right - and it works.
  • Favorite local release: PoliƧa, Dreams Go. The band's seventh record, and final album with bassist Chris Bierden, who is unable to play with his brain cancer diagnosis, did not disappoint.

That's just a few of my favorite albums and releases of 2025. Here's to 2026.

My Own Steam Machine

My Own Steam Machine running on my 75" TV

Valve announced the Steam Machine earlier this month, a sqaure console-like PC that’s meant to hook up to your TV to play all your games in your Steam Library. My gaming PC is a loaner from my best friend, whose hand me downs were still better than what I had at the time. He’s upgraded again, and I have his latest hand me down. So my youngest gets his gaming PC upgraded with my old PC and now I have his old PC as an extra PC. Still with me?

So I decided to make my own Steam Machine and hook it up to my home theater with this older, extra computer. SteamOS is Arch Linux based and is really meant for Valve’s hardware, not for everyday PC use.

But Bazzite is. Bazzite was co-create by Jorge Castro, whom I met many years ago at a conference and still follow on Mastodon. It’s been fun watching him build a Linux distro and the community around it.

Bazzite is a spinoff of Project Bluefin a next generation Linux desktop based on cloud native principles, with tools to run everything as a container. Both Bazzite and Project Bluefin are spins of Fedora, which just happens to be my favorite Linux distro. But it’s actually an atomic desktop. Atomic desktops remove a lot of the friction and pain of the Linux desktop you may think you know, and Bazzite and Bluefin take that to the next level. They utilize Homebrew and Flatpack for installing command line and graphical apps respectively - no more dealing with your distro’s package manager. (I'm over simplifying and I won't pretend I understand all of it myself, but I've been using Linux for over 20 years, and this is the best experience yet).

Bazzite is meant to run on handhelds, desktops or laptops, and home theater PCs.

But you don’t care how it works under the hood - you want to know does it work?

To install Bazzite, you must answer three questions:

  • What version of Bazzite? (Handheld, PC, or Home Theater PC)
  • What GPU? (AMD, Nvidia, etc.)
  • GNOME or KDE (GNOME is always the correct choice)

This older gaming PC is running an AMD 5700XT and after successfully installing Bazzite, SteamOS would error out with an obscure error about user namespaces needing to be enabled and would drop me to the GNOME desktop (which I forgot how much I’ve missed). It looks like this is related to having two SSDs in the box. So I did what you should never do and typed in a command I found on the internet and it worked! On my next reboot, I was presented with Steam running in Big Picture Mode.

When I was first researching doing this, Steam has a page that shows you which of your games should work in SteamOS. I thought I had about 20 games that were compatible as I missed the ā€œShow Moreā€ button on that page. So imagine my surprise when I booted up Bazzite and saw that I had 127 out of 177 games available to be installed on SteamOS. A lot of these are indie platformers I used to buy on Humble Bundles, but I’ve got some good platformers in there to play like Hollow Knight, Braid, and more.

Kudos to the Bazzite developers - it was a breeze to install and even easier to use, all with a Bluetooth Xbox controller.

Next up is to carve out some time to play the games and see how performance is. And, of course, how comfortable it is playing from the couch.

The Zoom Podtrak P4Next

Zoom Podtrak P4Next

This falls into the category of a want, definitely not a need, but I picked up a new audio interface for podcasting. I've been using a MOTU M2 audio interface since I started podcasting a few years ago. It features two MIDI inputs that also work as an XLR input, which higher quality microphones that aren't USB use. I've been keeping an eye out for a new audio interface as I've been slightly disappointed with the gain level of the MOTU M2 - when recording, I would often have to apologize for the low volume.

I had been keeping an eye out on Rode interfaces, but there was no way I'm paying that much for a hobby. Then I saw someone on Reddit share the Zoom Podtrak P4Next as it was up for pre-order. After some research, I decided to give it a try, especially as it was only $179 and I think I can re-sell my MOTU M2 for about $150, less eBay fees, so it's not a super expensive upgrade.

The Zoom Podtrak P4Next features four XLR inputs, four USB inputs, and four headphone outputs. Additionally, it includes a built-in preamp and phantom power, so it's compatible with both dynamic and condenser microphones. What really got me interested was that it has a built in EQ and compressor, as well as a new "AI" feature to help remove background noise. Last, but not least, it features a microSD card and can be powered off batteries for recording on the go without a computer. This will be perfect for my unrealized dream of someday recording an episode of The Bootloader in person with Todbot - I even have a second XLR microphone to use!

Zoom's site still shows an expected date of December 5th before it's available. I pre-ordered mine from B&H Photo, which says coming soon, and I was shocked when it showed up on November 6th. I'm guessing I'm one of the first people to have one and I hope there wasn't an embargo to get B&H in trouble!

Of course I haven't been recording many podcast episodes since I got it, but I did use it for some of my intros and outros for some upcoming episodes and next week's recording of The Bootloader will use it as well. My early opinion - to my untrained ears, my voice sounds slightly warmer. I have a lot more testing to do, especially with the AI noise reduction feature.

Overall I like it - it's slightly smaller than a current gen Mac Mini and feels well constructed. The menu system is intuitive and it includes some nice accessibility features. It has better gain as well, as I noticed I barely had to adjust my volume in my DAW after recording. I'm looking forward to playing with it some more.

I've re-opened the podcast sponsorship page on GitHub and PayPal. The Sponsors page includes a list of current and past sponsors and the cost breakdown for running the podcast.

If you're curious, it costs about $400 / year for the podcast. From the Sponsors page:

Cost breakdowns - annual fees

  • Podcast hosting (Castopod.com): $120 / year
  • Video recording (Boomcaster.com): $240 / year (Referral link)
  • Calendar and scheduling for guests (Fantastical): $60 / year

Miscellaneous costs (one-time):

  • Reaper digital audio workstation: $60
  • Hush audio app: $90

Thanks for your support - and stay positive!

What I'm Watching - Q3 2025

Continuing on my journey to catalog everything I'm watching, here's what I watched in the third quarter of 2025. Highlights included the first six James Bond movies on 4K UHD, Tron and its sequel Tron: Legacy in 4K UHD, and some great movies on Netflix including some Alfred Hitchcock films I had never seen, and on The Criterion Channel, 90s movies featuring great soundtracks including Pump Up The Volume (1990) and Grosse Point Blank (1997). I was disappointed in Materialists and 28 Years Later.

Legend:

  • The Criterion Channel = *

  • 4K UHD = +

  • AppleTV+ = ^

  • Netflix = ~

July

  • Wild Things (1998)*
  • The Bear S4
  • Your Friends and Neighbors S1^
  • Heads of State (2025)
  • Thunderbolts* (2025)
  • Murderbot S1^
  • Ironheart
  • Georgie and Mandy’s First Marriage S1
  • Duster
  • The Man Who Knew Too Much (1956)~
  • The Old Guard (2020)~
  • The Old Guard 2 (2025)~
  • Goldfinger (1964)+
  • Psycho (1960)~
  • Miami Vice (2006)*
  • Poker Face S2
  • The Long Goodbye (1973)*
  • Out of Sight (1998)*
  • Rear Window (1954)~
  • Copycat (1995)*~
  • Insomnia (2002)*
  • The Birds (1963)~
  • Black Doves S1~

August

  • Thunderball (1965)+
  • Freaky Tales (2025)
  • Pump Up the Volume (1990)*
  • Platonic S1^
  • Red-eye (2005)
  • You Only Live Twice (1967)+
  • Gross Pointe Blank (1997)*
  • Superman (2025)
  • Peacemaker S1
  • Diamonds are Forever (1971)+
  • Rick and Morty S8
  • Fringe S4
  • Mission Impossible: Dead Reckoning Part 1 (2023)+
  • Mission Impossible: The Final Reckoning (2025)
  • Materialists (2025)
  • The Graduate (1967)*
  • Inglourious Basterds (2009)
  • The Long Kiss Goodnight (1995)+

September

  • Nobody (2021)
  • Nobody 2 (2025)
  • Ballerina (2025)+
  • Weapons (2025)
  • Fringe S5
  • 28 Years Later (2025)~
  • Tron (1982)+
  • Tron: Legacy (2010)+
  • Star Trek: Strange New Worlds S3
  • Alien: Earth S1
  • The Naked Gun (2025)
  • Miami Blues (1990)*