How to use an existing instance of a browser to debug in VSCode - instead of always launching a new one, or use debug in Brave.
How to use git hashes - or other environment variables in Vite & Vue 3
I run a Miniflux instance on my desktop computer, which fetches all my feeds and makes the content available locally.
Inspired by a discussion the other day on HackerNews, I wrote a little script that asks Miniflux for a list of my feeds in OPML format and turns it into an AsciiDoc page, which I publish on here, as my BlogRoll & Links page:
import os
import sys
import urllib.request
import xml.etree.ElementTree as ET
from datetime import datetime
key = os.environ["MINIFLUX_API_KEY"]
if not key:
print("$MINIFLUX_API_KEY not set.")
sys.exit(-1)
url = "http://miniflux.home/v1/export"
hdr = {"X-Auth-Token": key}
request = urllib.request.Request(url, headers=hdr)
opml = ET.fromstring(urllib.request.urlopen(request).read())
header = f"""
:title: Blogroll & Links
:slug: blogroll-links
:created: 2022-11-15 13:23:54-08:00
:date: {datetime.now().astimezone().replace …
If you want to use SVG icons on a website and style them with CSS - then the SVG needs to be inline - i.e. the SVG markup needs to be included with the rest of the pages HTML markup.
Unfortunately putting things inline means that they can’t be cached. In this article I’ll show one way to get around this - and get the best of both worlds: inline styleable SVG icons, with caching!
Continue reading “Styleable Inline SVG Icons, with Caching & Fallback”cssmin is unmaintained & has a bug with complex :is selectors
Sometimes I want to have a just a tiny bit of CSS that’s unique, just for one page or post. I don’t want a whole stylesheet, or to have to add this to my site-wide theme, just for one post – I want a simple way to add it in the post itself.
This is how I did it:
You can use the new CSS :is selector to write complex CSS selectors in a much more compact way
The content-type guessing done by AWS CLI is based on the mimetype definitions available on your system. You can improve the mimetype guessing by updating these definitions.
I had an issue where the AWS CLI wasn't guessing the content-type of SVG files correctly on sync and was setting them to `application/octet-stream` - the default "I don't know" mimetype. This is a quick fix for that.

I’ve had a mysterious broken page on this site for a while - but been too busy to look into it. My Comprehensive Linux Backups with etckeeper & backupninja article has been refusing to load, and returning a weird HTTP 418 Unused status code instead. I finally made the time to figure out the cause.
It turned out that this was being caused by the Apache/PHP mod_security
module. This is a static website - there’s no PHP anywhere - so why would that be a problem? Well, so far I’ve been very happily hosting the site on my old DreamHost shared hosting account - which comes with Apache & PHP installed whether you want it or not. At some point …