In the midst of our AI slop revolution, traveling to the West coast for Open Sauce this past weekend was the perfect antiseptic for rising costs, summer heat, and online divisiveness.
It's ironic, then, that I used Claude to vibe code my Tufty GPS Time Badge.
Partly due to time constraints, and…
This is a monthly newsletter about the current state of Radicle CI,
what has happened recently, and near future plans.
Current status
Radicle CI is in production use. There are several CI nodes,
and Lars runs a public one for open source Rust projects at
callisto.liw.fi.
Radicle CI use metrics
I…
Hello! I’m on a funny journey right now where I’m trying to learn how to make
websites in a sort of 2010 style, where I have an SQL database and render some
HTML on the backend.
It’s kind of an interesting journey because it doesn’t necessarily feel “easy”
to me to make websites in this way: I never…
When Emacs 29 made eglot the built-in, default Language Server Protocol (LSP) client, many of us rejoiced.
It is lightweight, fast, adheres strictly to Emacs philosophy, and doesn’t try to reinvent the wheel.
However, being minimal means that when an LSP server steps out of line or acts…
I consider myself a pretty chill and calm person, I can endure and
tolerate quite a lot, but I become furious when a program spits in my
face with what I didn't ask for, take me for a dumbass or exploit
legacy vulnurabilities of my brain. Annoying notification,
algorithmic feeds and…
Hello! I’ve been working on a Django site recently, and I decided to use SQLite
as the database.
When I was getting started with using SQLite as database for a website I read a bunch
of blog posts about how it is totally fine to use SQLite in production for a
small site and I think it is totally…
The QuadRF (pictured above) a phased-array radio built around a Raspberry Pi 5 and an FPGA board with picosecond-level timing. It does advanced signal processing and beamforming.
It can see WiFi through walls and track drones in flight.
If the open source community can come up with something like…
The 'Special Value' Pi 4 pictured above is probably the rarest Raspberry Pi I own—even rarer than my <lue special edition Pi.
A Raspberry Pi reseller briefly listed a special 'value edition' Pi 4. But the product page 404's now. While it was up, my curiosity got the better of me, and now I have two…
This is a quick post, mostly for my own reference.
I've avoided LUTs and 'Log' video footage for years1, mostly because of the extra tiny bit of workflow involved. Like RAW photos, 'Log' footage retains the video sensor's full dynamic range, so you can pull more color and luminance information out…
Apple FINALLY lets you turn on your Mac remotely, without having to press the power button. In the media, articles suggest it's a reaction to Mac mini power button complaints.
While I agree the M4 mini's power button is in a really dumb spot, that's not why I care about this feature. The two…
Introducing GeoLibre 1.0, a free and open-source, lightweight, cloud-native GIS platform that runs in your browser, as a desktop app, on your phone, and inside Jupyter notebooks.
Since the PiKVM came out in 2017, there's been an explosion of IP KVMs. I've tested almost every one. But what are they good for?
You can use Remote Desktop, Screen Sharing, or VNC to remote control a computer from anywhere on a LAN. And if you don't have a private VPN, you could use RealVNC,…
My nephew just graduated high school, and wants a laptop. When he decides what computer to buy, price (or more precisely, value) is the most important attribute.
Apple's MacBook Neo upended the 'value laptop' equation—Apple's not supposed to be both the cheapest option <nd the best value... but it…
Pooch from Repkord dropped by my studio while he was in St. Louis, and asked a simple question:
Can a 3D printer's heatbed act as an antenna?
A fair question, as many an antenna is embedded in a PCB these days... and the traces on a PCB heatbed like the one used in Prusa's Core One look kinda like…
A tutorial on accessing, streaming, downloading, and analyzing Planet Tanager 426-band hyperspectral imagery in QGIS using the HyperCoast plugin, including footprint browsing, HDF5 downloads, custom band composites, and spectral signature inspection.
A tutorial on accessing, visualizing, and analyzing NASA Harmonized Landsat Sentinel-2 (HLS) imagery in QGIS using the NASA Earthdata, GEE Data Catalogs, and OpenGeoAgent plugins, including RGB composites, NDVI, monthly time series, pixel extraction, and voice-driven workflows.
Last year I went through a self-hosting spree during which I deployed some services (e.g. Nextcloud, Mattermost, and Prosody) to a bunch of VPSes, while documenting the process on this blog. This post is a follow-up on that series, detailing the deployment of GoToSocial, a lightweight ActivityPub…
Hello! 8 years ago, I wrote excitedly about discovering Tailwind.
At that time I really had no idea how to structure my CSS code and given the
choice between a pile of complete chaos and Tailwind, I was really happy to choose
Tailwind. It helped me make a lot of tiny sites!
I spent the last week or…
A tutorial on searching, streaming, visualizing, and downloading NASA Earth observation data inside QGIS using the NASA Earthdata plugin and OpenGeoAgent for natural-language and voice workflows.
A tutorial on using OpenGeoAgent with the QGIS Timelapse plugin to generate Landsat, MODIS, GOES, and Esri Wayback timelapse animations from natural language and voice prompts.
While Guile Scheme has a lot of hidden gems, like (ice-9 peg), parsing command line arguments is not one of its strengths in my opinion. Even if there are many powerful approaches to structured argument parsing, there is no API simple enough for me to know it by heart (as opposed for example to…
A step-by-step tutorial on installing the NASA OPERA QGIS plugin, searching and visualizing DSWx surface water products, and using an integrated AI agent to analyze flood events with natural language and voice commands.