41554 blogs · [ { "id": "01a08791-6cba-7106-8fd0-bcfa1c6fc51a", "title": "Can I afford to retire?", "url": "https://josnyder.com/blog/2026/roboadvisor.html", "published_at": "2026-08-11T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa1c8370a8", "title": "Deterministic computing on x86", "url": "https://josnyder.com/blog/2026/deterministic_vmm.html", "published_at": "2026-04-07T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa1d2bff5f", "title": "Good encrypted swap", "url": "https://josnyder.com/blog/2026/integrity_protected_swap.html", "published_at": "2026-04-03T12:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa1d3215f5", "title": "The matryoshka rule", "url": "https://josnyder.com/blog/2026/matryoshka_rule.html", "published_at": "2026-04-03T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa1d7c06fa", "title": "Booting Linux faster with nullfs and pivot_root", "url": "https://josnyder.com/blog/2026/nullfs_and_pivot_root.html", "published_at": "2026-04-02T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa1d9af1c7", "title": "Running a Linux process deterministically", "url": "https://josnyder.com/blog/2026/deterministic.html", "published_at": "2026-04-02T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa1e1ceb90", "title": "Eleven missing Terraform features", "url": "https://josnyder.com/blog/2025/missing_terraform_features.html", "published_at": "2025-07-13T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa1e5b7609", "title": "Achieving immortality with Python workers", "url": "https://josnyder.com/blog/2025/python_forking.html", "published_at": "2025-01-12T22:38:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa1e998573", "title": "Never move a private key", "url": "https://josnyder.com/blog/2025/never_move_a_private_key.html", "published_at": "2025-01-12T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa1f66d11c", "title": "Every database needs a transaction killer", "url": "https://josnyder.com/blog/2024/transaction_killer.html", "published_at": "2024-12-28T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa205dcc36", "title": "A good transaction is a stateless transaction", "url": "https://josnyder.com/blog/2024/stateless_transactions.html", "published_at": "2024-12-27T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa20bcffdd", "title": "Per-task asyncio utilization statistics", "url": "https://josnyder.com/blog/2024/asyncio_utilization.html", "published_at": "2024-12-25T19:18:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa20cab9f0", "title": "Patching the cpython stdlib is deceptively easy", "url": "https://josnyder.com/blog/2024/patching_cpython.html", "published_at": "2024-12-25T13:19:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa213ac04c", "title": "What is my asyncio app doing?", "url": "https://josnyder.com/blog/2024/asyncio_stacktraces.html", "published_at": "2024-12-25T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa220066fc", "title": "Cancelling hung-up requests in uvicorn", "url": "https://josnyder.com/blog/2024/uvicorn_cancellation.html", "published_at": "2024-12-22T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa22e4a256", "title": "wchan, and thinking beneath the syscall", "url": "https://josnyder.com/blog/2024/wchan.html", "published_at": "2024-12-15T23:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2339a9cb", "title": "Wrangling wayward event loops with Linux perf and eBPF", "url": "https://josnyder.com/blog/2024/blocked_event_loops.html", "published_at": "2024-12-15T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa23913d9d", "title": "Digital signatures are free-range rows", "url": "https://josnyder.com/blog/2024/free_range_rows.html", "published_at": "2024-12-11T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa23b00917", "title": "An oncall meta-runbook", "url": "https://josnyder.com/blog/2024/oncall_meta_runbook.html", "published_at": "2024-11-26T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa23f3d010", "title": "Your security is only as good as you can prove", "url": "https://josnyder.com/blog/2024/provable_security.html", "published_at": "2024-11-24T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa24094c20", "title": "Distributed hash ring maintenance", "url": "https://josnyder.com/blog/2024/shingled_maintenance.html", "published_at": "2024-10-15T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa249e3fce", "title": "An application should sit in a deep dark hole", "url": "https://josnyder.com/blog/2024/unix_services.html", "published_at": "2024-10-07T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa250fd90b", "title": "Shimming S3", "url": "https://josnyder.com/blog/2024/patterns_in_s3_data_access.html", "published_at": "2024-10-03T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2534050b", "title": "Should all databases be shard-per-core?", "url": "https://josnyder.com/blog/2024/scylla_and_charybdis.html", "published_at": "2024-09-30T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa254952de", "title": "A good database is a stateless database", "url": "https://josnyder.com/blog/2024/stateless_database.html", "published_at": "2024-09-28T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa25718924", "title": "Software artifacts: hash, don't sign", "url": "https://josnyder.com/blog/2024/hashing_better_than_signing.html", "published_at": "2024-09-26T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa25c4dd63", "title": "Isolation of libraries is surprisingly easy", "url": "https://josnyder.com/blog/2024/library_isolation.html", "published_at": "2024-09-10T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2676bb39", "title": "Don't build \"The Vault\"", "url": "https://josnyder.com/blog/2024/the_vault.html", "published_at": "2024-08-22T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa26ce8e8b", "title": "Why Kubernetes failed", "url": "https://josnyder.com/blog/2024/why_kubernetes_failed.html", "published_at": "2024-08-19T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa274946dc", "title": "Queueing theory for the working software engineer", "url": "https://josnyder.com/blog/2024/queueing_theory_swe.html", "published_at": "2024-08-18T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa279051d7", "title": "JIT access considered harmful", "url": "https://josnyder.com/blog/2024/jit_is_bad.html", "published_at": "2024-08-17T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2862814c", "title": "A hierarchy of enclaves", "url": "https://josnyder.com/blog/2024/enclaves.html", "published_at": "2024-08-16T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2945ed1a", "title": "VPN rots your brains", "url": "https://josnyder.com/blog/2024/vpn_rots_brains.html", "published_at": "2024-08-10T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2973d6ed", "title": "Nonces are bad and we should stop using them", "url": "https://josnyder.com/blog/2024/nonces_are_bad.html", "published_at": "2024-06-27T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa29ee6de7", "title": "The single version rule is good for Google and bad for you", "url": "https://josnyder.com/blog/2024/single_version_rule.html", "published_at": "2024-02-20T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2a3f4168", "title": "Don't use golden images. Do this instead.", "url": "https://josnyder.com/blog/2023/golden_images.html", "published_at": "2023-07-19T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2b18f51d", "title": "Don't trust aws:SourceIP!", "url": "https://josnyder.com/blog/2023/dont_trust_sourceip.html", "published_at": "2023-06-23T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2bbeeb80", "title": "But actually, how do flamegraphs work?", "url": "https://josnyder.com/blog/2023/how_flamegraphs.html", "published_at": "2023-06-07T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2bf42764", "title": "Observations about S3", "url": "https://josnyder.com/blog/2023/s3_observations.html", "published_at": "2023-01-16T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2c4bc8bc", "title": "Contracts do not bind", "url": "https://josnyder.com/blog/2022/contracts_do_not_bind.html", "published_at": "2022-08-15T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2ce639d9", "title": "Safer S3 signed URLs", "url": "https://josnyder.com/blog/2022/safer_signed_urls.html", "published_at": "2022-07-11T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2d730b5d", "title": "Security tiers considered harmful", "url": "https://josnyder.com/blog/2022/tiers_considered_harmful.html", "published_at": "2022-06-10T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2df0f864", "title": "iostat's %util is wrong", "url": "https://josnyder.com/blog/2022/util_wrong.html", "published_at": "2022-03-23T00:00:00+00:00" }, { "id": "01a08791-6cba-7106-8fd0-bcfa2e24ef3c", "title": "Why bother with immutable infrastructure?", "url": "https://josnyder.com/blog/2022/why_immutable.html", "published_at": "2022-03-22T00:00:00+00:00" } ] posts Claim your blog
Back to josnyder.com
Blog · corpus.blog/blogs/josnyder.com/posts

josnyder.com

josnyder.com

2026

2025

2024

2023

2022