Several security issues (CVE IDs pending) have been identified in guix substitute , a helper utility invoked by
guix-daemon ,
which enable a variety of harmful activities including remote privilege
escalation to the build daemon user , remote store corruption , and
potentially local…
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…
A year ago, Guix migrated to
Codeberg for
source code hosting, issue tracking, and pull requests. This is a
significant change for a project with more than 400 people contributing
code each year, after more than decade hosting code at
Savannah and dealing with bug
reports and patches by email,…
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.
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.
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.
A while back I decided to stop using Tailwind for new projects and to just write
vanilla CSS instead.
But one thing I missed about Tailwind was the colour palette (here as CSS).
If I wanted a light blue I could just use blue-100 and if I didn’t like it
maybe try blue-200 or blue-50. I’m not very…
Introducing OpenGeoAgent, an open-source multimodal AI agent that automates geospatial analysis and visualization in QGIS through natural language and voice commands.
Hello! One of my long term projects on here is
figuring out how to write frontend Javascript without using Node
or any other server JS runtime.
One issue I run into a lot in my frontend JS projects is that I don’t know how
to write tests for them. I’ve tried to use Playwright in the past, but it…
A step-by-step tutorial on building a developer blog with the MyST Markdown template, deploying it to GitHub Pages, and enabling GitHub Discussions-backed comments with Giscus.
A step-by-step tutorial on building a personal CV website with MyST Markdown and Typst that automatically generates a PDF version of your CV from the same Markdown source.
A step-by-step video tutorial showing how to create and deploy a personal website using the MyST Markdown template and GitHub Pages, with no coding experience needed.
A complete tutorial on using instance segmentation and the Fields of the World dataset to delineate agricultural field boundaries with GeoAI, from data preparation to batch inference.
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.
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…