Skip to content

Instantly share code, notes, and snippets.

View grahamperrin's full-sized avatar

Graham Perrin grahamperrin

View GitHub Profile
@grahamperrin
grahamperrin / mastodon_bio_search_to_csv.py
Created October 10, 2026 14:49
Bulk block Mastodon users by profile tags
#!/usr/bin/env python3
"""
mastodon_bio_search_to_csv.py
Searches a Mastodon instance's account search (bio/username match) for one
or more queries (e.g. hashtags like "noai", "antiai", "nollm") and writes the
combined, deduplicated matching accounts to a CSV file in the format
Mastodon's Settings -> Import and Export -> Import (type: "Block") expects:
one `username@domain` handle per line, under a header row of
"Account address".
@grahamperrin
grahamperrin / context-fabric-review.md
Last active October 4, 2026 07:41
ConText for LLMs – an extension for Firefox by FABRIC – reviewed by Claude

ConText for LLMs – an extension for Firefox by FABRIC – reviewed by Claude

For: https://addons.mozilla.org/addon/context-for-llms/ version 1.0.2.

From: https://claude.ai/share/706d456b-4295-42cb-b650-aabe95715c6e (Sonnet 5.5, medium).


I'll start by reading the file-handling guidance, then unpack the extension and audit it.An .xpi is a zip archive. I'll list it first, and extract into my scratch directory since this is a code audit.The manifest declares only the storage permission and no host permissions. Next I'll search the first-party code for any network-capable APIs, then read the key files.I found some real issues. Before drawing conclusions I'll verify two more things: what the 28 fetch strings in KaTeX are, and whether the unescaped sinks can be reached with ordinary typed text.

@grahamperrin
grahamperrin / voguerage.md
Created October 3, 2026 07:24
vogue rage

vogue rage

(compound noun)

An irrationally angry reaction to popular and effective use of vibe-coding.

@grahamperrin
grahamperrin / freebsd-update-modernised-01.md
Created October 2, 2026 01:32
Modernised use of freebsd-update for minor and major upgrades to FreeBSD

Modernised use of freebsd-update for minor and major upgrades to FreeBSD

A major upgrade example: 14.4-RELEASE to 15.1-RELEASE

All commands should be run as root.

  1. pkg update
  2. pkg upgrade -Uy -r FreeBSD pkg
  3. freebsd-update fetch
  4. freebsd-update install
@grahamperrin
grahamperrin / freebsd-plasma6-plasma-context.md
Created September 9, 2026 23:47
FreeBSD: KDE Plasma: packages associated with meta port x11/plasma6-plasma

FreeBSD: KDE Plasma: packages associated with meta port x11/plasma6-plasma

In the KDE Community Wiki, the quick start for FreeBSD includes plasma6-plasma alongside kde.

Alfonso Siciliano's work for the FreeBSD Foundation was enhanced in January 2026:

… x11/kde no longer depends upon x11/plasma6-plasma, so include plasma6-plasma in the array of packages to be installed. …

Context

@grahamperrin
grahamperrin / ai-zaconil-2026-08-06.md
Created August 9, 2026 12:58
A conversation with AI about LLMs and moderation in Reddit

A conversation with AI about LLMs and moderation in Reddit

Taken from the public paste that's currently linked from https://www.reddit.com/r/modnews/comments/1vgbt2j/comment/p1wx76o/ under What’s Next for Mod Tools : r/modnews.

User

So reddit is trying to sunset automod in favor of LLMs. As an LLM what's your opinion on this? My biggest complaint is that LLMs still struggle with context and some some subs can get 5000+ comments a day.

Assistant

@grahamperrin
grahamperrin / xCtFeukJs-E.json
Created June 8, 2026 13:59
Automated transcript of 'I Interviewed the CTO of TrueNAS (Why They Left FreeBSD for Linux)' on YouTube
{
"title": "I Interviewed the CTO of TrueNAS (Why They Left FreeBSD for Linux) - YouTube",
"url": "https://www.youtube.com/watch?v=xCtFeukJs-E",
"sections": [
{
"name": "",
"lines": [
{
"0:00": "What's up guys? I'm here with Chris who"
},
@grahamperrin
grahamperrin / ai-hatred.md
Last active October 20, 2026 04:27
Hatred of AI

Hatred of AI

I do not hate AI.

In April 2026, I described myself as a proponent of rational discussion.

In August 2026, I was profiled:

your public posts and comments lean distinctly toward the critical and cautious side of the spectrum, paired with a highly pragmatic, strictly-defined stance on utility. … a deliberate critic who actively resists the "pro-AI" narrative, preferring strict boundaries, human sovereignty in code, and clear labeling rules.

@grahamperrin
grahamperrin / pkgsave_cleanup.sh
Created March 9, 2026 07:07
pkgsave_cleanup script from Roger Marquis
#!/bin/sh -
## pkgsave_cleanup
# Archive .pkgsave files created in multiple locations by messy upgrade apps,
# preserving the original path and deleting unchanged files.
## to do:
# Check-in as appropriate.
# See also: etcupdate, zfs snapshot, beadm, ...
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin
set -a
@grahamperrin
grahamperrin / freebsd-desktop-alfix-quickstart.md
Last active June 15, 2026 13:59
FreeBSD desktop installer script test: quick start

FreeBSD desktop installer script test

Quick start

  1. perform a fresh installation of FreeBSD
  2. restart
  3. run the four commands below.

cd /root