41554 blogs · [ { "id": "01a08758-7a09-7176-b549-d44299eb5d09", "title": "On Post-Quantum Security Adoption", "url": "https://brandonrozek.com/blog/post-quantum-security-adoption/", "published_at": "2026-06-15T16:44:12+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429a89c4e6", "title": "Synchronizing my Static Website with Object Storage", "url": "https://brandonrozek.com/blog/synchronizing-static-website-object-storage/", "published_at": "2026-06-13T21:51:08+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429b5bd982", "title": "Can you tell the difference? A quick look into discrimination testing.", "url": "https://brandonrozek.com/blog/discrimination-testing/", "published_at": "2026-05-24T19:32:35+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429b67731a", "title": "Praise the Smart Button", "url": "https://brandonrozek.com/blog/praise-smart-button/", "published_at": "2026-05-23T00:07:42+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429c02a00d", "title": "Expectations are Linear", "url": "https://brandonrozek.com/blog/expectations-are-linear/", "published_at": "2026-04-26T13:03:28+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429c0d4b8a", "title": "Bringing this website to the Tor network", "url": "https://brandonrozek.com/blog/on-the-tor-network/", "published_at": "2026-02-01T22:47:15+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429ccd2aa0", "title": "Tales of Christmas Trees", "url": "https://brandonrozek.com/blog/tales-of-christmas-trees/", "published_at": "2026-01-25T22:59:15+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429d699116", "title": "Blogging as an Invitation for Dialogue", "url": "https://brandonrozek.com/blog/blogging-as-dialogue-invitation/", "published_at": "2026-01-15T16:21:29+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429e342926", "title": "Backing up my data with Restic, Btrfs, and MinIO", "url": "https://brandonrozek.com/blog/backups-with-restic-btrfs/", "published_at": "2025-12-30T16:51:07+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429e5b15b2", "title": "After 75 Miles of Running", "url": "https://brandonrozek.com/blog/running-75-miles/", "published_at": "2025-12-26T14:55:41+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429e7b4fcd", "title": "Disabling Nat Source Port Randomization on OPNsense for Gaming", "url": "https://brandonrozek.com/blog/disabling-nat-source-port-randomization-opnsense/", "published_at": "2025-12-23T16:16:02+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429e84b968", "title": "Fedora CoreOS: First Impressions", "url": "https://brandonrozek.com/blog/fedora-coreos-first-impressions/", "published_at": "2025-11-28T15:47:11+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429f57442d", "title": "Flattening Cases to Avoid Nesting in Lean 4", "url": "https://brandonrozek.com/blog/flattening-cases-avoid-nesting-lean-4/", "published_at": "2025-10-05T23:38:20+00:00" }, { "id": "01a08758-7a09-7176-b549-d4429f8326d0", "title": "Cursed Knowledge: Javascript Arrays Are Objects", "url": "https://brandonrozek.com/blog/cursed-knowledge-javascript-arrays-are-objects/", "published_at": "2025-09-01T13:47:01+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a07cdc50", "title": "Deterministically Iterating over a set within Dafny functions", "url": "https://brandonrozek.com/blog/deterministic-set-iteration-dafny/", "published_at": "2025-07-06T16:27:01+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a1672a11", "title": "Dealing with Web Scrapers", "url": "https://brandonrozek.com/blog/anti-scraper-techniques/", "published_at": "2025-07-02T13:10:23+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a19140bf", "title": "Exploring via Public Transit", "url": "https://brandonrozek.com/blog/exploring-via-public-transit/", "published_at": "2025-06-16T01:38:02+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a259d50b", "title": "Embrace the Heat", "url": "https://brandonrozek.com/blog/embrace-the-heat/", "published_at": "2025-06-09T00:36:54+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a2d6279b", "title": "Verifying Proofs with Type Checkers", "url": "https://brandonrozek.com/blog/verifying-proofs-type-checkers/", "published_at": "2025-05-27T13:27:59+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a2d663a8", "title": "Is this program safe? Lessons from Type Theory", "url": "https://brandonrozek.com/blog/program-safety-type-theory/", "published_at": "2025-05-10T13:28:07+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a3b41ce0", "title": "Filesystem as a persistent key-value store in Python", "url": "https://brandonrozek.com/blog/filesystem-as-persistent-kvs-python/", "published_at": "2025-04-27T17:39:49+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a418603b", "title": "Quick Lean: if-then-else statement in hypothesis", "url": "https://brandonrozek.com/blog/quick-lean-if-then-else-in-hypothesis/", "published_at": "2025-04-26T14:58:42+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a447ecea", "title": "10 Years", "url": "https://brandonrozek.com/blog/10-years/", "published_at": "2025-04-16T16:13:29+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a5223cb2", "title": "Recently: April Showers Bring...", "url": "https://brandonrozek.com/blog/recently-2504-april-showers/", "published_at": "2025-04-12T14:38:45+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a5da28ed", "title": "Setting up Ollama with CUDA on Podman Quadlets", "url": "https://brandonrozek.com/blog/ollama-cuda-podman-quadlets/", "published_at": "2025-03-29T13:59:55+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a68380d4", "title": "Weather Forcecasts on the Command-Line with the National Weather Service API", "url": "https://brandonrozek.com/blog/weather-forcecasts-cli-nws/", "published_at": "2025-03-16T19:33:49+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a7601afe", "title": "Adventures in Rust WebAssembly", "url": "https://brandonrozek.com/blog/adventures-in-rust-webassembly/", "published_at": "2025-02-21T15:13:17+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a837e49f", "title": "Blog Question Challenge (Jan 2025)", "url": "https://brandonrozek.com/blog/blog-question-challenge-jan2025/", "published_at": "2025-01-30T02:18:03+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a8e42fb9", "title": "Hashing Based on Word (Emoji?) Lists", "url": "https://brandonrozek.com/blog/hashing-based-on-word-emoji-lists/", "published_at": "2024-12-31T00:13:35+00:00" }, { "id": "01a08758-7a09-7176-b549-d442a9c8e92a", "title": "Naive Encodings of Transitivity within First-Order Logic", "url": "https://brandonrozek.com/blog/naive-encodings-transitivity-fol/", "published_at": "2024-12-29T12:28:05+00:00" }, { "id": "01a08758-7a09-7176-b549-d442aa3857c4", "title": "Rolling out my own CDN with GeoDNS", "url": "https://brandonrozek.com/blog/implementing-cdn-geodns/", "published_at": "2024-12-28T12:11:16+00:00" }, { "id": "01a08758-7a09-7176-b549-d442aab97ee7", "title": "Curl-able Business Cards", "url": "https://brandonrozek.com/blog/curl-card/", "published_at": "2024-12-26T14:12:58+00:00" }, { "id": "01a08758-7a09-7176-b549-d442ab94cbe5", "title": "Temporary Port Forward using UPnP in Linux", "url": "https://brandonrozek.com/blog/temporary-port-forward-upnp-linux/", "published_at": "2024-12-09T02:04:51+00:00" }, { "id": "01a08758-7a09-7176-b549-d442ac8aef53", "title": "Listing Offline Pages with Service Workers", "url": "https://brandonrozek.com/blog/listing-offline-pages-service-workers/", "published_at": "2024-12-07T15:05:20+00:00" }, { "id": "01a08758-7a09-7176-b549-d442aca4d4e2", "title": "Linting my blog posts with Vale", "url": "https://brandonrozek.com/blog/vale-linter-human-prose/", "published_at": "2024-11-27T21:29:30+00:00" }, { "id": "01a08758-7a09-7176-b549-d442ad19bca5", "title": "Please monitor disk usage", "url": "https://brandonrozek.com/blog/please-monitor-disk-usage/", "published_at": "2024-11-27T00:59:10+00:00" }, { "id": "01a08758-7a09-7176-b549-d442ad55303c", "title": "Introduction to Possibility Theory", "url": "https://brandonrozek.com/blog/intro-possibility-theory/", "published_at": "2024-10-30T14:25:31+00:00" }, { "id": "01a08758-7a09-7176-b549-d442adbde36f", "title": "Introduction to Dempster-Shafer Theory", "url": "https://brandonrozek.com/blog/intro-dempster-shafer/", "published_at": "2024-10-29T16:38:21+00:00" }, { "id": "01a08758-7a09-7176-b549-d442adf70d5d", "title": "Replacing a drive in Btrfs", "url": "https://brandonrozek.com/blog/replacing-drive-btrfs/", "published_at": "2024-10-23T14:37:54+00:00" }, { "id": "01a08758-7a09-7176-b549-d442aecee858", "title": "Monitoring my Hard Drives with SMART Attributes", "url": "https://brandonrozek.com/blog/monitoring-disks-smartattributes/", "published_at": "2024-10-17T17:05:59+00:00" }, { "id": "01a08758-7a09-7176-b549-d442af8ca4bd", "title": "Process JSON in the terminal with jq", "url": "https://brandonrozek.com/blog/jq/", "published_at": "2024-10-05T22:59:10+00:00" }, { "id": "01a08758-7a09-7176-b549-d442b0748b9c", "title": "Importing External Schemas in Prost", "url": "https://brandonrozek.com/blog/prost-import-external-schemas/", "published_at": "2024-10-05T18:19:37+00:00" }, { "id": "01a08758-7a09-7176-b549-d442b0826cb2", "title": "Hunter-Gatherer Traditions: Apple Picking", "url": "https://brandonrozek.com/blog/hunter-gathering-apple-picking/", "published_at": "2024-09-28T16:03:47+00:00" }, { "id": "01a08758-7a09-7176-b549-d442b0a92f79", "title": "Webhook notifications on systemd service failure", "url": "https://brandonrozek.com/blog/webhook-notifications-on-systemd-service-failure/", "published_at": "2024-09-05T04:03:38+00:00" }, { "id": "01a08758-7a09-7176-b549-d442b0dc7bed", "title": "Writing Unit Tests in Lean 4", "url": "https://brandonrozek.com/blog/writing-unit-tests-lean-4/", "published_at": "2024-08-06T03:43:52+00:00" }, { "id": "01a08758-7a09-7176-b549-d442b189f261", "title": "Polymorphic Functions w/ Wildcard Matching in Lean 4", "url": "https://brandonrozek.com/blog/polymorphic-functions-wildcard-matching-lean-4/", "published_at": "2024-08-04T14:21:07+00:00" }, { "id": "01a08758-7a09-7176-b549-d442b1cba1da", "title": "Modifying JSON in Rust", "url": "https://brandonrozek.com/blog/modifying-json-in-rust/", "published_at": "2024-08-03T14:59:15+00:00" }, { "id": "01a08758-7a09-7176-b549-d442b2b573c5", "title": "Accessing Homelab Services Remotely with mTLS", "url": "https://brandonrozek.com/blog/accessing-homelab-services-mtls/", "published_at": "2024-07-21T14:29:20+00:00" }, { "id": "01a08758-7a09-7176-b549-d442b2f1e7f3", "title": "Re: Static+, can it work?", "url": "https://brandonrozek.com/blog/re-static-plus/", "published_at": "2024-07-02T04:59:26+00:00" }, { "id": "01a08758-7a09-7176-b549-d442b3e88786", "title": "Quick Beamer: Generating a slide at the beginning of each section", "url": "https://brandonrozek.com/blog/beamer-gen-slide-at-section/", "published_at": "2024-06-16T02:26:27+00:00" } ] posts Claim your blog
Back to brandonrozek.com
Blog · corpus.blog/blogs/brandonrozek.com/posts

brandonrozek.com

brandonrozek.com

2026

2025

2024