JournalLinksAboutSign in
  • 2026-05-20#tech
    Siri Thought Capture
    "Hey Siri, thought" — dictate, hit a URL, it's in the logs. Grep later, turn into journal entries. Works from the watch with a crown action.
  • 2026-05-20#tech
    Schema-Filtered Reads
    The schema declares @pii. The reader applies the filter. Same file, different view per consumer. Access control lives in the reader, not the storage.
  • 2026-05-20#tech
    Per-Repo Vault
    One encrypted file per repo. One script to show credentials. openssl and a password. No secrets manager, no service, no monthly cost.
  • 2026-05-20#tech
    MCP Log Reader
    An MCP server that reads CloudFront logs from S3. Query events, verify deploys, check comments — all from the chat without running CLI commands.
  • 2026-05-20#tech
    jmux
    A Python terminal multiplexer. Two panes — Kiro CLI and a live markdown preview. SSH in, jmux journal.md, resume where you left off. The state is in git.
  • 2026-05-20#tech
    GitHub as CMS
    A custom GUI that commits to the repo. GitHub is the backend. No CMS server, no database. The WordPress experience without WordPress.
  • 2026-05-20#tech
    Contact Form
    Same pattern as comments. A form that hits /events/contact/submit. CloudFront logs it. You grep when you want. The log is the inbox.
  • 2026-05-20#tech
    Compose Queries
    GraphQL fragments compose into one query. @defer means they don't have to come back at the same time. Parallel fetches to different files, progressive rendering. No server.
  • 2026-05-20#tech
    Cleanup
    Small things skipped in the flow. Batch them later.
  • 2026-05-20#travel
    Business Card
    An SVG business card — the logo and a URL. That's all you need when the site is the portfolio.
  • 2026-05-20#tech
    Bluesky Handle
    Setting up thetube.today as a Bluesky handle. Your domain is your identity — no platform namespace required.
  • 2026-05-20#tech
    9P at Internet Scale
    Plan 9 and NFS had it right — files as the interface, namespace as the abstraction, stateless operations. HTTPS + CDN + JWT is the same model without the LAN constraint.
  • 2026-05-18#tech
    Same Hooks, No Server
    React hooks with the same API as Apollo or urql — but the backend is files and a CDN. No GraphQL server. The hook hides the implementation.
  • 2026-05-18#tech
    Real-Time Comments
    Same as moderated. Add a Lambda. That's it. The architecture doesn't change. The form doesn't change. The logging doesn't change.
  • 2026-05-18#tech
    Plugins Are Specs, Not Code
    A plugin isn't code you install — it's a spec you combine with your platform spec. AI generates the implementation that fits your site. No compatibility issues.
  • 2026-05-18#tech
    Moderated Comments
    Comments via batch events. You review, approve, they appear on next build. No spam, no real-time pressure. The log holds everything until you're ready.
  • 2026-05-17#tech
    The URL Is the Log Entry
    The browser fetches a URL with the event in the query string. CloudFront logs the request. No backend, no analytics service. The log is a side effect of the request existing.
  • 2026-05-16#tech
    Don't Let Your Repo Be a Junk Drawer
    The private repo started with fonts and ended up with Lambda code and CDK stacks. "Private" is not a concern — it's an access control label. The fork isn't a fix — it's an upgrade, and upgrades are cheap.
  • 2026-05-12#tech
    Short URLs in the Frontmatter
    A short URL in a post's frontmatter, a CloudFront function generated at build time. No third-party service, no database, no link rot.
  • 2026-05-11#tech
    Building theTube
    How I built this blog — static site, real auth, role-based content, no server.
  • 2023-11-11#tech
    Copilot Commit Messages
    Updated VSCode the other day and noticed Copilot will now create git commit messages. Since most of mine are "did some stuff" I figured, what's the worst that could happen.
© 2026
7b77fa8 · 86e9769 · b9e79f8 · 2026-05-20T20:16:56Z