Skip to content

Instantly share code, notes, and snippets.

View shawnyeager's full-sized avatar
🎯

Shawn Yeager shawnyeager

🎯
View GitHub Profile
@shawnyeager
shawnyeager / Framework-Laptop-13.md
Last active September 13, 2026 21:01
[US] Framework Laptop 13 — Ryzen 5 7640U, 2.8K 120Hz, 64GB, 1TB, new 61Wh battery

[US] Framework Laptop 13 — Ryzen 5 7640U, 2.8K 120Hz, 64GB, 1TB, new 61Wh battery

Local pickup only — Nashville, TN. No shipping.

Open front Display
@shawnyeager
shawnyeager / MacBookPro14,3-omarchy.md
Last active September 5, 2026 15:59
MacBookPro14,3 on Omarchy — PRs and merge status

MacBookPro14,3

15-inch 2017 Touch Bar Mac on Omarchy quattro. T1, Intel HD 630 + Radeon Pro 560.

My pull requests for this computer. What works on it, and whether each fix has landed.

Feature On this machine PR Merged
Touch Bar works 7064 · pkgs 152
CS8409 speakers and headphone jack work 7140 · pkgs 155
@shawnyeager
shawnyeager / buzz-update
Last active August 8, 2026 12:04
buzz-update — side-load the latest block/buzz release as a local Arch buzz-bin package
#!/usr/bin/env bash
# Side-load the newest block/buzz release as a local buzz-bin package.
# The AUR package is a thin wrapper around the upstream amd64 .deb, so we
# bump pkgver on a fresh clone of its PKGBUILD and build that ourselves.
#
# Usage: buzz-update [VERSION] # VERSION without the leading "v"; defaults to latest
set -euo pipefail
repo=block/buzz
api="https://api.github.com/repos/$repo"
@shawnyeager
shawnyeager / architecture.md
Last active February 23, 2026 11:22
BUD-XX: Reciprocal Mirroring for Blossom — Draft Architecture (seeking feedback)

BUD-XX: Reciprocal Mirroring for Blossom

Status: Draft — seeking feedback from Blossom and Nostr developers Date: 2026-02-22

The Problem

Blossom has solid primitives for mirroring — PUT /mirror is lightweight, client-driven, and works well. A client can already upload a blob and mirror it to N servers with N simple HTTP calls. That part scales fine.

What's missing is reciprocity and accountability:

@shawnyeager
shawnyeager / swearjar-SKILL.md
Created February 20, 2026 01:48
Swear Jar — an OpenClaw skill that posts to Nostr every time the user curses
name swear-jar
description Detects profanity in user messages and posts a public note to Nostr via nostr-social. Every curse word costs a post.
metadata
openclaw
requires
bins
nostr-social

Swear Jar

Every time the user curses at you, post a note to Nostr calling them out. Public accountability. No mercy.

@shawnyeager
shawnyeager / framework-esp-corruption.md
Created January 28, 2026 04:42
Framework 13: firmware update corrupts ESP FAT filesystem

Framework 13: Firmware Update Corrupts ESP (FAT Filesystem)

After a recent firmware update on a Framework Laptop 13, the EFI System Partition (ESP) can end up with a corrupted FAT filesystem. This is a UEFI/firmware issue, not distro-specific.

Symptoms

Anything that writes to /boot fails with read-only errors. The kernel log (journalctl -k) confirms the corruption:

FAT-fs (nvme0n1p1): Volume was not properly unmounted. Some data may be corrupt.
@shawnyeager
shawnyeager / opencode-systemd-tailscale.md
Last active August 31, 2026 21:18
Run OpenCode as a persistent systemd service with Tailscale access

OpenCode Web Server Setup

Run OpenCode as a persistent background service, accessible from any device via Tailscale.

Why?

  • Access from anywhere — Start a task from your phone, check results from your laptop
  • Sessions persist — Close the browser, come back later, your session is still there
  • Multiple clients — Terminal TUI and browser can connect to the same session simultaneously
  • Survives crashes — systemd restarts the server automatically
@shawnyeager
shawnyeager / claude.md
Last active January 19, 2026 22:24
OpenCode agent to bypass Anthropic's 'You are OpenCode' block. Install: `cp claude.md ~/.config/opencode/agents/claude.md` and tab to `claude` in OpenCode
description Claude Code-compatible agent for Anthropic OAuth
mode primary
model anthropic/claude-opus-4-5
tools
write edit bash
true
true
true
@shawnyeager
shawnyeager / metabolic-workspace-guide.md
Last active January 15, 2026 20:32
Metabolic Workspace: CLI/Neovim Implementation based on Joan Westenberg's concept

Metabolic Workspace: CLI/Neovim Implementation

Based on Joan Westenberg's Metabolic Workspace.


The Problem with Most Note Systems

You've probably tried this before: Notion, Obsidian, Roam, whatever. You set up folders, tags, bidirectional links. You clip articles. You highlight passages. You build an elaborate archive.

@shawnyeager
shawnyeager / lnurl-proxy-guide.md
Created November 27, 2025 22:27
Faster Lightning Address Payments with Netlify Edge Functions

Faster Lightning Address Payments with Netlify Edge Functions

Problem: Using HTTP redirects for Lightning Address (sats@example.comuser@getalby.com) adds 200-500ms latency because wallets must follow the redirect before fetching the LNURL-pay response.

Solution: Replace redirects with an Edge Function proxy that fetches from Alby server-side and returns the response directly.

How it works

Before (redirect):