41554 blogs · [ { "id": "01a0d766-7a76-7098-95e3-fe7882da64e8", "title": "The schema is the contract", "url": "https://brendanbondurant.com/the-schema-is-the-contract/", "published_at": "2026-09-21T16:00:00+00:00" }, { "id": "01a0d766-7a76-7098-95e3-fe7883d72042", "title": "What GraphQL was actually built for", "url": "https://brendanbondurant.com/what-graphql-was-actually-built-for/", "published_at": "2026-09-14T16:00:00+00:00" }, { "id": "01a094de-52f7-7045-b3ad-09961d5285be", "title": "A Tenth Is Just a Wide Third", "url": "https://brendanbondurant.com/10ths/", "published_at": "2026-09-11T16:00:00+00:00" }, { "id": "01a08758-ae9d-7256-adde-c7060f44577d", "title": "When two tools can’t talk, a person becomes the API", "url": "https://brendanbondurant.com/when-two-tools-cant-talk/", "published_at": "2026-08-07T16:00:00+00:00" }, { "id": "01a08758-ae9d-7256-adde-c7060f7c311f", "title": "Primary and Secondary Chords in Modal Music", "url": "https://brendanbondurant.com/primary-and-secondary-chords-in-modal-music/", "published_at": "2026-08-03T16:00:00+00:00" }, { "id": "01a08758-ae9d-7256-adde-c7060fe6a408", "title": "What is an API? A plain-language guide", "url": "https://brendanbondurant.com/what-is-an-api/", "published_at": "2026-07-28T20:18:22+00:00" }, { "id": "01a08758-ae9d-7256-adde-c706108da4e6", "title": "Modal Notes", "url": "https://brendanbondurant.com/modal-notes/", "published_at": "2026-07-20T16:00:00+00:00" }, { "id": "01a08758-ae9d-7256-adde-c70610a13653", "title": "Why your LLM bill exploded overnight (and how to regain control)", "url": "https://brendanbondurant.com/llm-cost-control/", "published_at": "2026-07-13T19:38:02+00:00" }, { "id": "01a08758-ae9d-7256-adde-c706112f3742", "title": "Learn the Difference Between 3/4 and 6/8 Time", "url": "https://brendanbondurant.com/learn-the-difference-between-3-4-and-6-8-time/", "published_at": "2026-07-06T16:00:00+00:00" }, { "id": "01a08758-ae9d-7256-adde-c706121e41ee", "title": "RAG Cost Optimization", "url": "https://brendanbondurant.com/rag-cost-optimization/", "published_at": "2026-05-20T23:13:01+00:00" }, { "id": "01a08758-ae9d-7256-adde-c70612b3d6a5", "title": "The Blues Scale is a Compromise", "url": "https://brendanbondurant.com/the-blues-scale-is-a-compromise/", "published_at": "2026-05-10T22:10:59+00:00" }, { "id": "01a08758-ae9d-7256-adde-c706132744ce", "title": "Three Minor Scales, One Minor Key", "url": "https://brendanbondurant.com/three-minor-scales-one-minor-key/", "published_at": "2026-05-03T16:00:00+00:00" }, { "id": "01a08758-ae9d-7256-adde-c70613f03421", "title": "The Dominant Seventh Wants to Go Somewhere", "url": "https://brendanbondurant.com/the-dominant-seventh-wants-to-go-somewhere/", "published_at": "2026-04-26T15:00:00+00:00" }, { "id": "01a0d766-6a6e-73b4-9fad-c70c3825be63", "title": "CAGED Is a Starting Point", "url": "https://brendanbondurant.com/caged-is-a-map-not-the-territory/", "published_at": "2026-04-19T16:00:00+00:00" }, { "id": "01a0d766-6a6e-73b4-9fad-c70c3902ee0b", "title": "Voice Leading on Guitar", "url": "https://brendanbondurant.com/voice-leading-on-guitar-the-missing-lesson/", "published_at": "2026-04-12T20:45:00+00:00" }, { "id": "01a0d766-6a6e-73b4-9fad-c70c399c8811", "title": "Learn to Hear the Melody", "url": "https://brendanbondurant.com/learn-to-hear-the-melody/", "published_at": "2026-04-06T02:00:34+00:00" }, { "id": "01a0d766-6a6e-73b4-9fad-c70c3a538f08", "title": "Intervals Are Sounds, Not Fret Distances", "url": "https://brendanbondurant.com/intervals-are-sounds-not-fret-distances/", "published_at": "2026-03-29T22:07:04+00:00" }, { "id": "01a0d766-6a6e-73b4-9fad-c70c3a69b5e0", "title": "G Major vs A Dorian: Same Notes, Different Music", "url": "https://brendanbondurant.com/g-major-vs-a-dorian-same-notes-different-music/", "published_at": "2026-03-05T22:06:45+00:00" }, { "id": "01a0d766-6a6e-73b4-9fad-c70c3b257544", "title": "The State of Federation 2026 Survey Is Open", "url": "https://brendanbondurant.com/the-state-of-federation-2026-survey-is-open/", "published_at": "2026-02-04T00:24:04+00:00" }, { "id": "01a0d766-6a6e-73b4-9fad-c70c3bacc0e9", "title": "The Hidden Cost of Non-Compliance in AI", "url": "https://brendanbondurant.com/the-hidden-cost-of-non-compliance-in-ai/", "published_at": "2026-01-09T00:26:12+00:00" }, { "id": "01a0d769-249d-715a-86bc-8c7ff3334681", "title": "What a Year at WunderGraph Looks Like", "url": "https://brendanbondurant.com/what-a-year-at-wundergraph-looks-like/", "published_at": "2026-01-01T00:20:45+00:00" }, { "id": "01a0d769-249d-715a-86bc-8c7ff3c87484", "title": "From 10+ Seconds to Under One: Solving Their Slowest Operation", "url": "https://brendanbondurant.com/from-10-seconds-to-under-one-solving-their-slowest-operation/", "published_at": "2025-11-14T00:14:00+00:00" }, { "id": "01a0d769-249d-715a-86bc-8c7ff43b8528", "title": "When Prompt Injection Gets Real: Use GraphQL Federation to Contain It", "url": "https://brendanbondurant.com/when-prompt-injection-gets-real-use-graphql-federation-to-contain-it/", "published_at": "2025-10-26T04:10:53+00:00" }, { "id": "01a0d769-249d-715a-86bc-8c7ff53525a5", "title": "Cosmo Connect Tutorials for Router Plugins and gRPC Services", "url": "https://brendanbondurant.com/cosmo-connect-tutorials-for-router-plugins-and-grpc-services/", "published_at": "2025-09-14T03:58:00+00:00" }, { "id": "01a0d769-249d-715a-86bc-8c7ff5847755", "title": "Acoustic saves $178K in engineering costs with WunderGraph Cosmo", "url": "https://brendanbondurant.com/acoustic-saves-178k-in-engineering-costs-with-wundergraph-cosmo/", "published_at": "2025-09-02T20:49:40+00:00" }, { "id": "01a0d769-249d-715a-86bc-8c7ff67b4403", "title": "What is a capo (and why do you need one)?", "url": "https://brendanbondurant.com/what-a-capo-is-and-why-you-need-one/", "published_at": "2025-08-21T23:05:35+00:00" }, { "id": "01a0d769-249d-715a-86bc-8c7ff6ca1b3a", "title": "Over 15 Years of APIs with Kevin Swiber", "url": "https://brendanbondurant.com/over-15-years-of-apis-with-kevin-swiber/", "published_at": "2025-07-30T01:30:00+00:00" }, { "id": "01a0d769-249d-715a-86bc-8c7ff6e60e16", "title": "The Architecture Behind 40 Deploys a Day at Luxury Presence", "url": "https://brendanbondurant.com/the-architecture-behind-40-deploys-a-day-at-luxury-presence/", "published_at": "2025-07-23T13:35:00+00:00" }, { "id": "01a0d769-249d-715a-86bc-8c7ff7c32454", "title": "Behind the Counter: How Cosmo Works", "url": "https://brendanbondurant.com/behind-the-counter-how-cosmo-works/", "published_at": "2025-07-15T17:40:00+00:00" }, { "id": "01a0d769-249d-715a-86bc-8c7ff870cdd6", "title": "I Walk the Line", "url": "https://brendanbondurant.com/i-walk-the-line/", "published_at": "2025-06-25T22:47:00+00:00" }, { "id": "01a0d769-bce2-70eb-a4e7-864575cb7bd4", "title": "Scaling GraphQL Federation: Inside Cosmo’s Food Park", "url": "https://brendanbondurant.com/scaling-graphql-federation-inside-cosmos-food-park/", "published_at": "2025-06-12T00:05:00+00:00" }, { "id": "01a0d769-bce2-70eb-a4e7-864575d38f11", "title": "When to Migrate from Cosmo OSS", "url": "https://brendanbondurant.com/when-to-migrate-from-cosmo-oss/", "published_at": "2025-05-16T01:30:00+00:00" }, { "id": "01a0d769-bce2-70eb-a4e7-864576132688", "title": "Syncing Up in Bretten: Final Thoughts", "url": "https://brendanbondurant.com/syncing-up-in-bretten-final-thoughts/", "published_at": "2025-03-25T14:01:00+00:00" }, { "id": "01a0d769-bce2-70eb-a4e7-8645766549e3", "title": "Syncing Up in Bretten: Day 1", "url": "https://brendanbondurant.com/syncing-up-in-bretten-day-1/", "published_at": "2025-03-18T22:34:00+00:00" }, { "id": "01a0d769-bce2-70eb-a4e7-8645768b2aa3", "title": "Safeguarding APIs: How K Health Ensures Security While Scaling with Cosmo", "url": "https://brendanbondurant.com/safeguarding-apis-how-k-health-ensures-security-while-scaling-with-cosmo/", "published_at": "2025-03-13T02:17:27+00:00" }, { "id": "01a0d769-bce2-70eb-a4e7-864576bc2a5b", "title": "SoundCloud and WunderGraph Cosmo Cut Computing Costs by 86%", "url": "https://brendanbondurant.com/soundcloud-and-wundergraph-cosmo-cut-computing-costs-by-86/", "published_at": "2025-03-07T17:18:00+00:00" }, { "id": "01a0d769-bce2-70eb-a4e7-864576f93103", "title": "From Custom Code to Cutting-Edge: On The Beach Adopts WunderGraph Cosmo for GraphQL Federation", "url": "https://brendanbondurant.com/from-custom-code-to-cutting-edge-on-the-beach-adopts-wundergraph-cosmo-for-graphql-federation/", "published_at": "2025-02-05T18:42:00+00:00" }, { "id": "01a0d769-bce2-70eb-a4e7-86457781c893", "title": "Is gRPC Really Better for Microservices Than GraphQL?", "url": "https://brendanbondurant.com/is-grpc-really-better-for-microservices-than-graphql/", "published_at": "2025-01-22T18:55:00+00:00" }, { "id": "01a0d769-bce2-70eb-a4e7-8645783a3340", "title": "New website coming", "url": "https://brendanbondurant.com/new-website-coming/", "published_at": "2024-11-02T00:04:04+00:00" }, { "id": "01a0d769-bce2-70eb-a4e7-8645791b498b", "title": "Errors and using your ear", "url": "https://brendanbondurant.com/errors-and-using-your-ear/", "published_at": "2024-10-23T16:57:13+00:00" }, { "id": "01a0d76a-7599-711f-9f23-408201321257", "title": "Dexterity", "url": "https://brendanbondurant.com/dexterity/", "published_at": "2024-10-18T16:31:12+00:00" }, { "id": "01a0d76a-7599-711f-9f23-40820196df4c", "title": "Procs, lambdas, and performance", "url": "https://brendanbondurant.com/procs-lambdas-and-performance/", "published_at": "2024-09-25T21:10:46+00:00" }, { "id": "01a0d76a-7599-711f-9f23-408201d8876a", "title": "99 bottles – go and ruby", "url": "https://brendanbondurant.com/99-bottles-go-and-ruby/", "published_at": "2024-09-19T19:26:59+00:00" }, { "id": "01a0d76a-7599-711f-9f23-408201e98f16", "title": "Selenium in Rails", "url": "https://brendanbondurant.com/selenium-in-rails/", "published_at": "2024-09-06T20:58:54+00:00" }, { "id": "01a0d76a-7599-711f-9f23-408202afad8a", "title": "C# Testing set up", "url": "https://brendanbondurant.com/c-testing-set-up/", "published_at": "2024-09-05T04:23:02+00:00" }, { "id": "01a0d76a-7599-711f-9f23-408202e72544", "title": "hashing", "url": "https://brendanbondurant.com/hashing/", "published_at": "2024-06-14T01:56:53+00:00" }, { "id": "01a0d76a-7599-711f-9f23-408203c9efb1", "title": "Ruby vs Python – Speed Comparison", "url": "https://brendanbondurant.com/ruby-vs-python-speed-comparison/", "published_at": "2024-04-08T17:09:22+00:00" }, { "id": "01a0d76a-7599-711f-9f23-4082041aca75", "title": "Two Sum – Python", "url": "https://brendanbondurant.com/two-sum-python/", "published_at": "2024-03-29T20:09:45+00:00" }, { "id": "01a0d76a-7599-711f-9f23-40820458bde4", "title": "Classes in C#", "url": "https://brendanbondurant.com/classes-in-c/", "published_at": "2024-03-14T03:27:28+00:00" }, { "id": "01a0d76a-7599-711f-9f23-4082050beb6a", "title": "Dynamic vs Static", "url": "https://brendanbondurant.com/dynamic-vs-static/", "published_at": "2024-03-05T23:30:50+00:00" }, { "id": "01a0d76b-1cb4-713a-acdf-e8ae83fd69b7", "title": "Method/Function in Ruby and C#", "url": "https://brendanbondurant.com/method-function-in-ruby-and-c/", "published_at": "2024-02-29T21:32:06+00:00" }, { "id": "01a0d76b-1cb4-713a-acdf-e8ae848c2b58", "title": "C# and Ruby", "url": "https://brendanbondurant.com/c-and-ruby/", "published_at": "2024-02-26T03:58:59+00:00" }, { "id": "01a0d76b-1cb4-713a-acdf-e8ae84c57a6a", "title": "Linked List", "url": "https://brendanbondurant.com/linked-list/", "published_at": "2024-02-17T20:45:00+00:00" }, { "id": "01a0d76b-1cb4-713a-acdf-e8ae84c82eea", "title": "Includes & Find", "url": "https://brendanbondurant.com/includes-find/", "published_at": "2024-02-09T17:21:00+00:00" }, { "id": "01a0d76b-1cb4-713a-acdf-e8ae84ff015b", "title": "pop & shift", "url": "https://brendanbondurant.com/pop-shift/", "published_at": "2024-02-02T04:39:20+00:00" }, { "id": "01a0d76b-1cb4-713a-acdf-e8ae85924286", "title": "insert into linked list", "url": "https://brendanbondurant.com/insert-into-linked-list/", "published_at": "2024-01-25T04:12:28+00:00" }, { "id": "01a0d76b-1cb4-713a-acdf-e8ae861a960d", "title": "node_at", "url": "https://brendanbondurant.com/node_at/", "published_at": "2024-01-17T03:31:03+00:00" }, { "id": "01a0d76b-1cb4-713a-acdf-e8ae86ce80c5", "title": "Prepend – LinkedList", "url": "https://brendanbondurant.com/prepend-linkedlist/", "published_at": "2024-01-08T23:44:00+00:00" }, { "id": "01a0d76b-1cb4-713a-acdf-e8ae871e68bd", "title": "Linked List to String", "url": "https://brendanbondurant.com/linked-list-to-string/", "published_at": "2023-12-23T19:03:36+00:00" }, { "id": "01a0d76b-1cb4-713a-acdf-e8ae875f586e", "title": "Count a Linked List", "url": "https://brendanbondurant.com/count-a-linked-list/", "published_at": "2023-12-16T18:59:35+00:00" }, { "id": "01a0d76b-7a1b-7222-9503-fee11b0a94a0", "title": "Linked List – Append", "url": "https://brendanbondurant.com/linked-list-append/", "published_at": "2023-12-09T20:57:00+00:00" }, { "id": "01a0d76b-7a1b-7222-9503-fee11b97dc8c", "title": "Linked List Class", "url": "https://brendanbondurant.com/linked-list-class/", "published_at": "2023-12-03T15:23:00+00:00" }, { "id": "01a0d76b-7a1b-7222-9503-fee11bbee1d0", "title": "Linked Lists", "url": "https://brendanbondurant.com/linked-lists/", "published_at": "2023-11-27T14:35:00+00:00" }, { "id": "01a0d76b-7a1c-720c-90de-576d06997bb1", "title": "What’s next?", "url": "https://brendanbondurant.com/whats-next/", "published_at": "2023-11-25T21:24:50+00:00" } ] posts Claim your blog
Back to brendanbondurant.com
Blog · corpus.blog/blogs/brendanbondurant.com/posts

brendanbondurant.com

brendanbondurant.com

2026

2025

2024

2023