Replace [your key] with your key ID
To obtain your key ID
gpg --list-secret-keys --keyid-format LONGWhich returns something like
| // ==UserScript== | |
| // @name Letterboxd Links for Jellyfin | |
| // @namespace https://github.com/stpettersens | |
| // @version 2026-10-07 | |
| // @description This script adds a Letterboxd link for movies on Jellyfin. | |
| // @author Sam Saint-Pettersen | |
| // @match https://jellyfin.mmedia.stpettersen.xyz/* | |
| // @icon https://letterboxd.com/favicon.ico | |
| // @grant none | |
| // @run-at document-start |
| #!/usr/bin/env bash | |
| # Setup Netplan with WiFi settings on Ubuntu | |
| # This should be copied to the target system with Rpi Imager etc. | |
| # Usage: sudo setup-wifi-netplan-ubuntu.sh --ssid <SSID> --password <PASSWORD> | |
| dump_netplan_config() { | |
| echo "Setting WiFi SSID to \"$1\"." | |
| echo "Setting WIFI password to \"$2\"." | |
| local cfg="50-cloud-init.yaml" |
| #!/usr/bin/env bash | |
| # This script installs packages necessary for a dwm environment on Armbian Linux. | |
| # Written by Sam Saint-Pettersen <s dot stpettersen at pm dot me> | |
| # | |
| # wget -q https://playbooks.stpettersen.xyz/armbian/setup-dwm-armbian | |
| # bash setup-dwm-armbian | |
| apt_pkgs=( | |
| "build-essential" | |
| "libpam0g-dev" |
| module util::id; | |
| import libc; | |
| alias Id = String; | |
| fn Id generate_id(uint length) { | |
| /* Valid IDs are a-z lowercase *length* char strings */ | |
| DString id = {}; | |
| while (id.len() < length) { | |
| int r = (97 + (libc::rand() % 26)); |
| module stack<Type>; | |
| import std::collections; | |
| /* A stack implemented around a list */ | |
| struct Stack { | |
| List{Type} items; | |
| int size; | |
| } | |
| fn Stack new() { |
| #!/usr/bin/env python3 | |
| # refresh-jellyfin media script | |
| import os | |
| import sys | |
| import requests | |
| from datetime import datetime | |
| from typing import TypeAlias | |
| from dataclasses import dataclass |
| <NotepadPlus> | |
| <UserLang name="C3" ext="c3" udlVersion="2.1"> | |
| <Settings> | |
| <Global caseIgnored="no" allowFoldOfComments="yes" foldCompact="no" forcePureLC="1" decimalSeparator="0" /> | |
| <Prefix Keywords1="no" Keywords2="no" Keywords3="yes" Keywords4="no" Keywords5="yes" Keywords6="no" Keywords7="no" Keywords8="no" /> | |
| </Settings> | |
| <KeywordLists> | |
| <Keywords name="Comments">00/* 01 02*/ 03// 04</Keywords> | |
| <Keywords name="Numbers, prefix1"></Keywords> | |
| <Keywords name="Numbers, prefix2"></Keywords> |
| import std.conv; | |
| import std.file; | |
| import std.stdio; | |
| import std.string; | |
| import std.process; | |
| import core.time; | |
| import core.thread; | |
| import core.sys.posix.unistd; // getlogin |
| #!/usr/bin/env python3 | |
| # Simple program to find resistance | |
| # Author: Sam Saint-Pettersen, Feb 2026 | |
| # R = pL/A for a given resistivity in ohm metre (i.e. pCu or pAl). | |
| import os | |
| import sys | |
| # Resistivities | |
| resists: dict[str,float] = { |