A step-by-step tutorial on detecting clouds and cloud shadows from satellite imagery using OmniCloudMask and GeoAI, with post-processing, vectorization, and cloud-free mask generation.
This month in Radicle CI, March 2026
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…
I always spend too much time setting up a new project and thinking how
to structure it. I decided to summuraize my experience, to enhance it
with a small research and to write down my thoughts on the topic. So I
can come back to it myself or reference in the discussion.
Recently I came into posession of a few Apple Xserves. The one in question today is an Xserve G5, RackMac3,1, which was built when Apple at the top—and bottom—of it's PowerPC era.</figure class="insert-image">
This isn't the first Xserve—that honor belongs to the G4<a href="#fn:1"…
Many of us wonder if the MacBook Neo is 'the one'.
Because I have a faster desktop (currently a M4 Max Mac Studio), I've always used a lower-end Mac laptop, like the iBook or MacBook Air, for travel. I've used MacBook Pros in the past, but I like the portability of smaller, cheaper models.
In…
Hello! My big takeaway from last month’s musings about man pages
was that examples in man pages are really great, so I worked on adding (or
improving) examples to two of my favourite tools’ man pages.
Here they are:
the dig man page (now with examples)
the tcpdump man page examples (this one is an…
After seeing Oliver Ettlin's 39C3 presentation Excuse me, what precise time is It?, I wanted to replicate the PTP (Precision Time Protocol) clock he used live to demonstrate PTP clock sync:
I pinged him on LinkedIn inquiring about the build (I wasn't the only one!), and shortly thereafter, he…
A step-by-step tutorial on creating an interactive spinning 3D globe with raster and vector data overlays using a web-based tool or Jupyter Notebook, no coding required.
After migrating this blog from a static site generator into Drupal in 2009, I noted:
As a sad side-effect, all the blog comments are gone. Forever. Wiped out. But have no fear, we can start new discussions on many new posts! I archived all the comments from the old 'Thingamablog' version of the…
In 2024 I built a Pi Frigate NVR with Axzez's Interceptor 1U Case, and installed it in my 19" rack. Using a Coral TPU for object detection, it's been dutifully surveilling my property—on <y terms (100% local, no cloud integration or account required).
I've wanted to downsize the setup while…
Announcing GeoAI QGIS Plugin v1.0 with one-click installation, SAM 3, water segmentation, forest segmentation, and export to vector, raster, COCO, YOLO, and Pascal VOC formats.
A cool thing about Guix (and probably functional package managers in
general) is, that derivations form a directed acyclic graph, which
means that all packages with their dependencies or system
configurations can be represented as such. Another, even cooler, thing
is, that Guix provides a graphing…
I've raised a few PRs against the Guix Codeberg repository recently, and each time I've done so with Forgejo's AGit workflow. This workflow is pretty nice, and allows me to raise a PR entirely from within Emacs. To do that, I've been using this code in my Emacs config to add an extra option to the…
Hello! After spending some time working on the Git man pages last year,
I’ve been thinking a little more about what makes a good man page.
I’ve spent a lot of time writing cheat sheets for tools (tcpdump, git, dig, etc)
which have a man page as their primary documentation. This is because I…
A step-by-step tutorial on searching, loading, and visualizing massive NOAA coastal LiDAR point clouds directly in your browser without downloading any data.
I've been meaning to write up a post on how I manage my Guix System configurations for a while, because I've hit on a solution that feels kinda nice, inspired by how folks do things in NixOS.
Recently I've been trying to get a PR merged with some fixes for Lua. I thought this would be a pretty straightforward thing to merge, but it turns out that modifying the Lua packages leads to 990 packages needing to be rebuilt. This is more than the 300 limit for a merge to master, so instead of…
Last week, from Monday to Tuesday was Guix days! Guix days is an
annual FOSDEM fringe event, where Guix hackers from Europe and
abroad meet. This year was my second time going, and I was waiting
for it all year! In this post, I’ll do a quick retrospective of what
happened, and my thoughts on…
Introducing anymap-ts, a new Python package built on MapLibre and TypeScript for interactive geospatial visualization in both web apps and Jupyter Notebooks.
Introducing maplibre-gl-components, a MapLibre plugin for visualizing cloud-native geospatial formats like COG, Zarr, PMTiles, FlatGeobuf, and GeoParquet with built-in UI components.
Up until a few months ago, I was working on a Ruby on Rails monolith. In the four years that I worked on the project, we went through a few ways of building a local development environment:
Guix-HPC is a collaborative effort to bring reproducible software
deployment to scientific workflows and high-performance computing (HPC).
Guix-HPC builds upon the GNU Guix software
deployment tools and aims to make them useful for HPC practitioners and
scientists concerned with dependency graph…
There was a
session on running guix on weird computers
during this
years Guix Days, and five people brought their purple colored MNT
Pocket Reform laptops with them, which proves two things in my book: