Skip to content

Instantly share code, notes, and snippets.

View agoose77's full-sized avatar
🏠
Working from home

Angus Hollands agoose77

🏠
Working from home
View GitHub Profile
@agoose77
agoose77 / main.md
Last active September 21, 2026 09:20

Frontier Physics Paper

Statement

$$ \ds{f}{t}=0 $$

Proof

import * as fsp from "node:fs/promises";
import * as path from "node:path";
import { createRequestHandler } from "react-router";
import * as build from "virtual:react-router/server-build";
const MAGIC_BASE_URL = build.basename;
const TRUE_BASE_URL = process.env.BASE_URL ?? "/";
const PRERENDER_PATHS = [`${MAGIC_BASE_URL}`, `${MAGIC_BASE_URL}parent/about/`];
@agoose77
agoose77 / 998-fix-wifi-roaming.patch
Last active September 19, 2026 15:47
Build an OpenWRT image with kernel-patches from a release
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 6dfc61a9a..76291c489 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -511,7 +511,15 @@ static int ieee80211_add_key(struct wiphy *wiphy, struct net_device *dev,
key->conf.flags |= IEEE80211_KEY_FLAG_NO_AUTO_TX;
if (mac_addr) {
+ bool defer_hw_upload;
+
@agoose77
agoose77 / find-nodegroup-ami.sh
Last active August 7, 2026 21:45
Find the AMI details for a deployed managed nodegroup on AWS
#!/usr/bin/env bash
: "${nodegroup:?Need nodegroup}"
: "${region:?Need region}"
: "${cluster:?Need cluster}"
# Get the autoscaling group name from the EKS node pool
autoscaling_group_name=$(aws --region "${region}" eks describe-nodegroup --cluster-name "${cluster}" --nodegroup-name "${nodegroup}" --output json | jq '.nodegroup.resources.autoScalingGroups | last | .name' -r)
# Determine the ASG launch template for this ASG
launch_template_name=$(aws --region "${region}" autoscaling describe-auto-scaling-groups --auto-scaling-group-names "${autoscaling_group_name}" | jq '.AutoScalingGroups | last | .MixedInstancesPolicy.LaunchTemplate.LaunchTemplateSpecification.LaunchTemplateName' -r )
# Now query the image ID for that template
@agoose77
agoose77 / controller.py
Created July 28, 2026 12:51
Deployment controller
#!/usr/bin/env python
import argparse
from kubernetes import client, config
from kubernetes.client.exceptions import NotFoundException
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("replicas", type=int)
parser.add_argument("--deployment", default="node-placeholder")
import argparse
import collections
import csv
import escapism
import string
import sys
def escape_email(email):
return escapism.escape(email, safe=safe_chars, escape_char="-").lower()
@agoose77
agoose77 / flake.nix
Created June 3, 2026 10:48
Docker image in Flake
{
description = "nbgitpuller";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
};
outputs = {
self,
nixpkgs,
xterm_colors = [
# colors 0..15: 16 basic colors
(0x00, 0x00, 0x00), # 0
(0xCD, 0x00, 0x00), # 1
(0x00, 0xCD, 0x00), # 2
(0xCD, 0xCD, 0x00), # 3
(0x00, 0x00, 0xEE), # 4
(0xCD, 0x00, 0xCD), # 5
(0x00, 0xCD, 0xCD), # 6
(0xE5, 0xE5, 0xE5), # 7
@agoose77
agoose77 / README.md
Created March 27, 2026 14:07
Generate nbgitpuller-aware permalinks

Modify user-direct URLs to include permalinks

This script takes two URLs, the permalink URL for a hub profile, and a user-direct URL (e.g. an nbgitpuller URL), and fuses them together.

python ./permalink.py <USER-URL> <PERMALINK-URL>

The output is the fixed URL.

Basic JupyterHub CLI

Spin up named servers from a CLI

python jupyterhub-cli.py --server <SERVER-NAME> --profile-option="profile=<PROFILE-SLUG>" https://my-hub.com/hub/api/ <API-TOKEN>

You can use this with xargs to spin up several servers.