Skip to content

Instantly share code, notes, and snippets.

View drewr's full-sized avatar
👋
hacking on datum.net

Drew Raines drewr

👋
hacking on datum.net
View GitHub Profile

This should instead be:

  • Whatever you're working on needs an issue somewhere
  • Every day look through the open issues assigned to you
    • Do they have a recent status? If not, add one.
    • Is the status still accurate? If not, fix it.
    • Does the status have a time component? If not, add when others can expect the next action to be completed.
    • Is the issue blocked? If so, reach out to whomever is blocking the work. Push it forward.
    • Is the issue's purpose and next action clear? If not, go get clarity.
    • Is the work still relevant? If not, or if it's unclear and you're unable to get clarity, add a comment describing that's the case and unassign yourself.

HTTP/3: A Comprehensive Research Report

Executive Summary

HTTP/3 represents the most significant architectural change in web communication since the internet's inception. While previous versions of HTTP (the protocol that allows your browser to fetch web pages) made incremental improvements, HTTP/3 fundamentally reimagines how data travels across the internet. It replaces the 50-year-old foundation (TCP) with an entirely new transport system called QUIC, designed for the mobile-first, always-connected world we live in today.

Key takeaway: HTTP/3 is not just a faster version of HTTP/2. It is a ground-up redesign that solves problems the original internet architects never anticipated: smartphones switching between WiFi and cellular networks, video calls that cannot tolerate delays, and billions of simultaneous connections that must remain secure without sacrificing speed.


#!/usr/bin/env bash
INPUT=$*
OUTPUT=$(basename $INPUT .MTS)
### Fast version, just copies streams to mp4, but failed on one MTS file
#echo ffmpeg -i $INPUT -c:v copy -c:a aac ${OUTPUT}.mp4
### Slow version, re-encodes, but works on every file
echo ffmpeg -i $INPUT -y -c:v libx264 -crf 23 -c:a aac -b:a 128k ${OUTPUT}.mp4
@drewr
drewr / bb.edn
Last active December 7, 2025 06:19
{:paths ["src"]
:deps {org.clojure/clojure {:mvn/version "1.12.3"}}
:tasks
{:require [[clojure.string :as str]]
test {:doc "Run the test suite."
:task (clojure "-M:test" "-m" "cognitect.test-runner")}
test:bb {:doc "Run the test suite using Babashka to check compatibility."
:extra-paths ["test"]
name about title labels assignees
Turn-Up Ticket
Procedure for managing changes in production.
[turn-up] <Summary>

Production Readiness:

Background

I want to build a model and its APIs using the kubebuilder pattern. Don't use code examples or any particular programming language. Walk me through at the REST API layer or other interfaces how I would need to build in my language of choice

I'll walk you through the conceptual architecture and interfaces you need to build, independent of language.

The Core Insight

You're essentially building two parallel systems that share data sources:

  1. The Reconciliation System (Kubebuilder's domain)
  2. The REST API System (Your webapp domain)
@drewr
drewr / config.txt
Last active January 3, 2026 14:40
Ghostty config for Emacs on macOS
theme = Alabaster
font-family = Menlo
macos-option-as-alt = true
# alt because I use cmd-key-happy to swap cmd and option
# Could use esc:CHAR instead of text:ESCAPE here.
keybind = alt+a=text:\x1ba
keybind = alt+b=text:\x1bb
keybind = alt+c=text:\x1bc
keybind = alt+d=text:\x1bd
@drewr
drewr / README.org
Last active February 3, 2025 18:44
Quick slack interaction
  1. Create slack app in the UI (the command line ended up creating an unusable app)
  2. Add these oauth permissions
channels:history
channels:read
groups:history
groups:read
im:history
mpim:history
team:read

drewr on defn Podcast

2024-11-24

How a mediocre programmer did some useful things.

Bio

  • Based in Nashville, TN, USA, moved here in late 90s to briefly pursue music
  • Local community: church, transit advocacy