open source

Highly-condensed time-lapse footage with Frigate

Frigate's 0.13.0 release included a feature near and dear to my heart: easy exporting of timelapses, straight from the Frigate UI.

I'm a little bit nutty about timelapses, and have made them with dashcams, GoPros, full DSLRs, webcams, and even Raspberry Pi.

But one thing I haven't done (until now) is make easy timelapses from IP cameras like the Annke 4K PoE cameras I use for security around my house.

Eventually I'm planning on automating things further, but for now, here's my process for building up a timelapse that's relatively small in file size, preserving only frames where there's motion from frame to frame.

For something like clouds/sky, or natural environments, it's better to do a straight timelapse export and maybe recompress it if you want, but for indoor or outdoor security footage, it's nice to condense it down.

Raspberry Pi IPO: Selling out?

Raspberry Pi 5 blended into 100 dollar bill USD

Raspberry Pi is looking into an IPO (Initial Public Offering).

But wait, Raspberry Pi's a non-profit! They can't do that? And who would want stock in Raspberry Pi anyway? Their core market hates them—they abandoned hobbyists and makers years ago!

And there are like tons of clones and competitors, nobody even needs Raspberry Pi? Plus, aren't they crazy-expensive? It's like a hundred bucks now, and that's if you can even find one to buy!

Well, hold on a second... there are a lotta misconceptions out there. In this post, I'll walk through what's actually happening, and also through things I see online.

This blog post is a lightly-edited transcript of a video on my YouTube channel, which you can watch below:

MNT Reform - a hackable laptop, not for everyone

MNT Reform bottom with purple battery cells

The MNT Reform's design, the components, everything—is open source. If iFixIt did a teardown, they'd probably give it an 11 out of 10.

You can replace individual battery cells! Some people with these laptops hacked in their own speakers, added more internal Ethernet, or even swapped out the CPU itself.

Does that mean I think you should buy it? No, probably not. It's expensive (starting at €1199), and it's built for a certain type of person. It's not gonna replace a MacBook or a cheap Chromebook.

But why does this exist, and why am I excited about it?

Disclaimer: The reform used in this review was sent to me for testing; it's already been shipped back to MNT Research. They haven't paid me anything, and they have no input into the content of this blog post.

How to customize the dtb (device tree binary) on the Raspberry Pi

Every so often, when you're debugging weird hardware issues on SBCs like the Raspberry Pi, it's useful to get way down into the guts of how the Pi represents its hardware to Linux.

And the Linux kernel uses a method called Device Tree overlays to do it. On the Pi 5 (and other Pis), these overlays are stored as .dtb files inside the /boot/firmware directory, and there's an overlay for every major Raspberry Pi hardware model.

I've had to modify the dtb files in the past to increase the PCIe BAR space for early GPU testing on the Compute Module 4. And recently I've had to mess with how the PCIe address space is set up for testing certain devices on the Raspberry Pi 5.

Ansible Galaxy error 'Unable to compare role versions'

Ansible Galaxy was recently updated to the 'Next Generation' (Galaxy-NG) codebase.

There are some growing pains, as a lot of Galaxy NG was built up around Collections, and Ansible role support was written into the codebase over the past year or so, after it became obvious Galaxy roles would not be deprecated.

Unfortunately, one of the major issues right now—which I'm seeing pop up in many places—is an error that occurs upon installation of Galaxy roles for any playbook (e.g. when you run ansible-galaxy install to download a role), for any role that has had a new version released in the past few weeks.

You wind up with an error like:

My own magic-wormhole relay, for zippier transfers

If you've ever had to transfer a file from one computer to another over the Internet, with minimal fuss, there are a few options. You could use scp or rsync if you have SSH access. You could use Firefox Send, or Dropbox, or iCloud Drive, or Google Drive, and upload from one computer, and download on the other.

But what if you just want to zap a file from point A to point B? Or what if—like me—you want to see how fast you can get an individual file from one place to another over the public Internet?

rsync 40 MB/second

Fork Yeah! Examining open source history after Red Hat's move

We're at the stage in the Red Hat drama where everyone is consulting history, trying to figure out what parts are being repeated in 2023 after Red Hat effectively locked down the sources used to build RHEL clones.

One talk linked quite often was Fork Yeah! The Rise and Development of illumos, by Bryan Cantrill over a decade ago. Bryan was a software engineer at Sun, who went over to Oracle after the buyout, then left to join Joyent, and now resides as CTO of Oxide.

The talk focuses on Sun Microsystem's handling of Solaris and OpenSolaris, both before and after their Oracle acquisition, and the whole talk is worth a listen—so much context about the history of ZFS, Solaris, Illumos, dtrace, and even UNIX and Linux history are contained within.

But there was one section (around the 32:00 mark) where if you substitute "Red Hat" for "Sun," rhymes with this year's "open source company" drama:

I went back and looked at some of the mail trails about this and like, "oh, my God!"

Clearing up FUD surrounding Red Hat's actions

As someone who champions truth, yet knows truth is bent to espouse many ideas, I realize clever phrasing often turns irrational lies into strong beliefs—especially when passion takes over.

And we in the open source community are a passionate bunch.

Red Hat on mountain, generated by Bing AI images

But to clear the air a little bit—especially as I have seen some zingers going both directions (from Red Hat employees to the community, and vice-versa):