41554 blogs · [ { "id": "01a08789-a9b1-7329-aaa0-94b6035e2487", "title": "Validating your OpenAPI specification with reality", "url": "https://jacobbednarz.com/writing/openapi-validation-in-middleware", "published_at": "2026-01-28T03:35:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a78720e36", "title": "Restricted stock units: the hidden trap", "url": "https://jacobbednarz.com/post/restricted-stock-units-the-hidden-trap", "published_at": "2025-11-25T02:54:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a793edff6", "title": "Skip the hype, sell the shovel", "url": "https://jacobbednarz.com/writing/skip-the-hype-sell-the-shovel", "published_at": "2025-10-16T03:18:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a795685a9", "title": "What Emperor Penguins taught me about building high performing teams", "url": "https://jacobbednarz.com/writing/what-emperor-penguins-taught-me-about-building-high-performing-teams", "published_at": "2025-09-17T01:05:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a79862052", "title": "Automatically generating Cloudflare’s Terraform provider", "url": "https://jacobbednarz.com/writing/automatically-generating-cloudflare-s-terraform-provider", "published_at": "2024-09-24T00:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a79f4f2e0", "title": "Lessons from building an automated SDK pipeline", "url": "https://jacobbednarz.com/writing/lessons-from-building-an-automated-sdk-pipeline", "published_at": "2024-04-23T00:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a7a6b60b6", "title": "Gradual deployments, Rate Limiting, and new SDKs", "url": "https://jacobbednarz.com/writing/new-tools-for-production-safety-gradual-deployments-and-new-sdks", "published_at": "2024-04-04T05:40:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a7ac638c5", "title": "Lucky blueberries", "url": "https://jacobbednarz.com/writing/lucky-blueberries", "published_at": "2023-07-02T23:07:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a7b28a418", "title": "Stop trying to convince people", "url": "https://jacobbednarz.com/writing/stop-trying-to-convince-people", "published_at": "2023-03-01T06:33:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a7bf51260", "title": "Terraform Providers and the Terraform Plugin Framework with Jacob Bednarz", "url": "https://jacobbednarz.com/writing/terraform-providers-and-the-terraform-plugin-framework-with-jacob-bednarz", "published_at": "2023-02-11T00:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a7caf0e9c", "title": "Piggybacking on container networking for debugging", "url": "https://jacobbednarz.com/writing/piggybacking-on-container-networking-for-debugging", "published_at": "2022-11-24T02:05:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a7d4deecf", "title": "No redis-cli? No problem", "url": "https://jacobbednarz.com/writing/no-redis-cli-no-problem", "published_at": "2022-11-21T03:43:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a7e0940ec", "title": "Migrating to auto-generated Terraform Registry documentation", "url": "https://jacobbednarz.com/writing/migrating-to-auto-generated-terraform-registry-documentation", "published_at": "2022-06-07T04:27:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a7e343dff", "title": "Home network", "url": "https://jacobbednarz.com/writing/home-network-and-lab", "published_at": "2021-12-15T06:02:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a7f27bf84", "title": "Terraform provider development overrides", "url": "https://jacobbednarz.com/writing/terraform-provider-development-overrides", "published_at": "2021-04-11T23:12:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a7ff74570", "title": "Personal data backup plan", "url": "https://jacobbednarz.com/writing/personal-data-backup-plan", "published_at": "2020-12-10T21:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a80ddb501", "title": "Surviving on-call", "url": "https://jacobbednarz.com/writing/surviving-on-call", "published_at": "2020-05-12T21:23:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a811a60be", "title": "Organisation of information for my workflow", "url": "https://jacobbednarz.com/writing/organisation-of-information-for-my-workflow", "published_at": "2019-12-23T19:47:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a8181aeab", "title": "Taming travel", "url": "https://jacobbednarz.com/writing/taming-travel", "published_at": "2019-09-03T01:40:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a81feee1d", "title": "Interview with Jacob", "url": "https://jacobbednarz.com/writing/remotehabits-interview", "published_at": "2018-11-05T00:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a823f2370", "title": "Migrating edge network providers", "url": "https://jacobbednarz.com/writing/migrating-edge-network-providers", "published_at": "2018-05-06T00:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a82d8cba1", "title": "Remedying the API gateway", "url": "https://jacobbednarz.com/writing/remedying-the-api-gateway", "published_at": "2017-05-22T00:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a83d4d97c", "title": "Getting Envato Market HTTPS everywhere", "url": "https://jacobbednarz.com/writing/getting-envato-market-https-everywhere", "published_at": "2016-08-05T00:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a83e880ee", "title": "Tracking down Ruby heap corruption in amongst 35 million daily requests", "url": "https://jacobbednarz.com/writing/how-we-tracked-down-ruby-heap-corruption-in-amongst-35-million-daily-requests", "published_at": "2016-05-19T00:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a84413155", "title": "Remote transition", "url": "https://jacobbednarz.com/writing/remote-transition", "published_at": "2016-03-09T00:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a85205bd1", "title": "Tracking SQL queries", "url": "https://jacobbednarz.com/writing/tracking-sql-queries", "published_at": "2015-05-15T00:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a86044908", "title": "Why post mortems matter", "url": "https://jacobbednarz.com/writing/why-post-mortems-matter", "published_at": "2015-03-12T09:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a86258c40", "title": "Flip - Bringing feature toggling to Drupal", "url": "https://jacobbednarz.com/writing/flip-bringing-feature-toggling-to-drupal", "published_at": "2015-03-06T06:35:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a862deb3c", "title": "Lightweight RESTful API's in Drupal", "url": "https://jacobbednarz.com/writing/lightweight-rest-api-with-drupal", "published_at": "2014-10-22T00:35:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a8665392a", "title": "Using the 'Accept' header for HTTP API versioning", "url": "https://jacobbednarz.com/writing/using-accept-header-for-http-api-versioning", "published_at": "2014-07-14T00:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a870129b8", "title": "Using monit for server monitoring", "url": "https://jacobbednarz.com/writing/using-monit", "published_at": "2014-03-19T06:35:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a87df64eb", "title": "Bootstrapping your projects", "url": "https://jacobbednarz.com/writing/bootstrapping-your-projects", "published_at": "2014-01-10T03:00:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a88237ff5", "title": "Switching to chruby", "url": "https://jacobbednarz.com/writing/switching-to-chruby", "published_at": "2013-11-20T06:35:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a8840379f", "title": "Sinatra inside of Rails", "url": "https://jacobbednarz.com/writing/sinatra-in-rails", "published_at": "2013-07-28T06:35:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a88f21ee9", "title": "Why you should be virtualising your development environments", "url": "https://jacobbednarz.com/writing/why-you-should-be-virtualising-environments", "published_at": "2013-07-04T06:35:00+00:00" }, { "id": "01a08789-a9b2-7016-ac62-ca9a89a1a69e", "title": "Writing good commit messages", "url": "https://jacobbednarz.com/writing/good-commit-messages", "published_at": "2013-02-04T06:35:00+00:00" } ] posts Claim your blog
Back to jacobbednarz.com
Blog · corpus.blog/blogs/jacobbednarz.com/posts

jacobbednarz.com

jacobbednarz.com

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013