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.")

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 …
Continue reading “Automatically Publishing a Blogroll from an OPML File”

In this When Will We Learn post, Drew DeVault talks about supply chain attacks against language package managers (npm, PyPI, cargo, etc…​) - and compares them to official Linux distribution repositories (deb, rpm, etc…​).

The conclusion drawn was:

The correct way to ship packages is with your distribution’s package manager. These have a separate review step, completely side-stepping typo-squatting, establishing a long-term relationship of trust between the vendor and the distribution packagers, and providing a dispassionate third-party to act as an intermediary between users and vendors. Furthermore, they offer stable distributions which can be relied upon for an extended period of time, provide cohesive whole-system integration testing, and unified patch distribution and CVE notifications for your entire system.

I think I agree with this, essentially. We do need to change the way we do …

Continue reading “Supply Chain Attacks & Package Managers - a Solution?”

I’ve been using Linux exclusively for ~15 yrs. I’ve recently started a fantastic new job – the only wrinkle was that it came with a Windows 10 laptop. This is my first time using Windows after a 15-year break. This is how it’s been going.

First Impressions

Windows is such a mess! It’s sort of shocking how much of a mess it is. Desktop Linux is often criticized for this, but Windows is much worse, somehow! It’s really inconsistent. Half of it is “new” UI and half of it is old Win32/GDI type UI - just as bad as KDE/GTK - except worse, because you can’t configure them to use the same theme. Also, when you install a Linux distribution, it’ll start off either all KDE or all GTK, or whatever - but with Windows …

Continue reading “Using Windows after 15 years on Linux”

The last thing we need right now is new fossil fuel projects. Send a message to Minister Steven Guilbeault and key cabinet ministers, calling on them to reject the Bay Du Nord project and investing in a just transition instead: https://act.leadnow.ca/bay-du-nord-ett/

This is what I wrote, if anyone wants some ideas:

To Minister Guilbeault and cabinet,

I’m writing to you to urge you to reject the Bay du Nord offshore drilling project.

Oil and Gas is ~26% of Canada’s emissions - AND this is ONLY the emissions from production - not the emissions from burning all that fuel for transport, heating etc…​ the Oil and Gas industry needs to go away, ASAP. Fossil fuels must stay in the ground to have any chance of getting to zero.

No approvals for new fossil fuel extraction projects, ever …

Continue reading “Write to Minister Guilbeault Opposing Bay Du Nord Offshore Oil Development”

The Python Black formatter outputs to stderr, not stdout

Windows PowerShell does support aliases, but doesn't support commands with parameters in aliases - you have to create a function

How to template out JSON in Bash

Tag Icon in the shape of a luggage tag
Figure 1. This pages tag list is using this tag icon from FontAwesome. This is a 550 byte SVG file, 346 bytes gzipped.

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”

I’ve just emailed my UK MP to complain about government corruption & Owen Patterson. You should do the same. As always, we need as many people as possible to speak out.

This is what I wrote, if anyone wants some ideas:

<My Name>
<My Address>
<My Email Address>

Dear <MP Name>,

Like many others, I am angered - but not very surprised - by the latest revelations of government corruption, revealed by the corrupt behaviour of Owen Patterson.

I do have to admit to being slightly surprised that the government’s reaction to this was naked collusion and a blatant attempt to water down the rules & standards!

The existing Committee on Standards needs to be strengthened, not weakened by the introduction of another Conservative-dominated committee overseeing its work.

The government needs to adopt the recommendations of numerous independent bodies - such as the …

Continue reading “You Should Write to Your UK MP about Corruption Now”

How to find a git repositories default branch name