[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-pvI_9Qt_lLcfUK9DTizDcuHEEtTs3vn64KupGMNdYYk":3,"sanity-Z0GPoPv0VLclC2Ndy-XPM319pK0lMZk0ngS44jsbdS4":206},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":181},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"4d0175f4-40a8-47eb-9bb3-a453b326aa7d","2026-07-03T07:40:00.000Z",{"_type":10,"current":11},"slug","the-good-the-bad-and-the-ai-apps",null,"The good, the bad, and the AI apps",[15,21,27,33],{"_id":16,"publishedAt":17,"slug":18,"title":20},"eb5b66eb-9410-4329-83bb-22bbff39402a","2026-04-28T13:00:00.000Z",{"_type":10,"current":19},"turn-scattered-knowledge-into-trusted-intelligence","Turning scattered knowledge into trusted intelligence: Stack Internal 2026.3",{"_id":22,"publishedAt":23,"slug":24,"title":26},"369c2401-b62e-4a37-8ff8-bf603023ecad","2026-03-02T15:03:00.988Z",{"_type":10,"current":25},"what-s-new-at-stack-overflow-march-2026","What’s new at Stack Overflow: March 2026",{"_id":28,"publishedAt":29,"slug":30,"title":32},"5e9053a4-07ea-447c-91ea-29e0b6228537","2026-02-02T15:00:00.000Z",{"_type":10,"current":31},"what-s-new-at-stack-overflow-february-2026","What’s new at Stack Overflow: February 2026",{"_id":34,"publishedAt":35,"slug":36,"title":38},"a1b538eb-a8a6-46d0-80a1-ac70ec9bb935","2026-01-05T10:00:00.000-05:00",{"_type":10,"current":37},"what-s-new-at-stack-overflow-january-2026","What’s new at Stack Overflow: January 2026",{"_createdAt":40,"_id":41,"_rev":42,"_type":43,"_updatedAt":44,"author":45,"body":64,"comments":154,"dateUrl":155,"excerpt":156,"image":157,"legacyBody":160,"product":12,"publishedAt":163,"slug":164,"sponsored":12,"tags":166,"title":180,"visible":154},"2023-05-25T09:39:17Z","wp-post-17560","XzVcPPDfPNmxxXS3zvEUaW","blogPost","2025-10-31T17:26:54Z",[46],{"_createdAt":47,"_id":48,"_rev":49,"_system":50,"_type":53,"_updatedAt":54,"avatar":55,"employee":60,"name":61,"slug":62},"2023-05-23T16:27:18Z","wp-author-213","nRfzWrvFg3DIXOd15U9uv8",{"base":51},{"id":48,"rev":52},"9xJoPFf2DISyAMMJXP7Ct6","blogAuthor","2025-07-29T19:37:47Z",{"_type":56,"asset":57},"image",{"_ref":58,"_type":59},"image-e81c84dcaeb58be1002795a6544b595bd6fc8071-1024x1024-jpg","reference","former","Ben Popper",{"current":63},"benpopper",[65,69,80,89,109,128,143],{"_key":66,"_type":67,"markDefs":12,"url":68},"7b05c3b974bf","embed","https:\u002F\u002Fart19.com\u002Fshows\u002F2355b740-4531-4071-a3ab-5907a95a36d3\u002Fepisodes\u002F00be6926-e018-429c-87c4-6890a0871fba",{"_key":70,"_type":71,"children":72,"markDefs":78,"style":79},"bb88953e4107","block",[73],{"_key":74,"_type":75,"marks":76,"text":77},"bb88953e41070","span",[],"This week we chat about the half-life of the software you create. Why does some get refactored after six weeks while another program goes untouched for years? How do you know when it's time to say goodbye to your codebase and try a new architecture?",[],"normal",{"_key":81,"_type":71,"children":82,"markDefs":87,"style":88},"b3ae37c6408c",[83],{"_key":84,"_type":75,"marks":85,"text":86},"b3ae37c6408c0",[],"Episode Notes",[],"h2",{"_key":90,"_type":71,"children":91,"markDefs":105,"style":79},"9a620ca2c7b9",[92,96,101],{"_key":93,"_type":75,"marks":94,"text":95},"9a620ca2c7b90",[],"This week's discussion was inspired by an article from Sandi Metz, which you can find ",{"_key":97,"_type":75,"marks":98,"text":100},"9a620ca2c7b91",[99],"341cdc33fd62","here",{"_key":102,"_type":75,"marks":103,"text":104},"9a620ca2c7b92",[],". It begins with a terrific line, defining the half-life of software as, \"the amount of time required for half of an application's code to change so much that it becomes unrecognizable.\"",[106],{"_key":99,"_type":107,"href":108,"reference":12},"link","https:\u002F\u002Fsandimetz.com\u002Fblog\u002F2017\u002F6\u002F1\u002Fthe-half-life-of-code",{"_key":110,"_type":71,"children":111,"markDefs":125,"style":79},"dfd6dbb1500a",[112,116,121],{"_key":113,"_type":75,"marks":114,"text":115},"dfd6dbb1500a0",[],"This topic also connected to ",{"_key":117,"_type":75,"marks":118,"text":120},"dfd6dbb1500a1",[119],"c3f2bc657981","a post",{"_key":122,"_type":75,"marks":123,"text":124},"dfd6dbb1500a2",[]," we ran on the Stack Overflow blog this week, Sacrificial Architecture: learning from abandoned systems. The author, Mohamad Aladdin, suggest that one should \"think of your code quality as if it will run forever, but adapt to change as if your code will be obsolete tomorrow.\"",[126],{"_key":119,"_type":107,"href":127,"reference":12},"https:\u002F\u002Fstackoverflow.blog\u002F2021\u002F03\u002F01\u002Fsacrificial-architecture-learning-from-abandoned-systems\u002F",{"_key":129,"_type":71,"children":130,"markDefs":140,"style":79},"8b7b7c600b61",[131,135],{"_key":132,"_type":75,"marks":133,"text":134},"8b7b7c600b610",[],"Our lifeboat badge winner for this episode is Ishmael, who explained why ",{"_key":136,"_type":75,"marks":137,"text":139},"8b7b7c600b611",[138],"aeeb54bfff14","JSON dumps your formatting and how to fix it.",[141],{"_key":138,"_type":107,"href":142,"reference":12},"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F37398301\u002Fjson-dumps-format-python\u002F37398392#37398392",{"_key":144,"_type":71,"children":145,"markDefs":151,"style":79},"5f45c7693c41",[146],{"_key":147,"_type":75,"marks":148,"text":150},"5f45c7693c410",[149],"10171972de88","TRANSCRIPT",[152],{"_key":149,"_type":107,"href":153,"reference":12},"https:\u002F\u002Fthe-stack-overflow-podcast.simplecast.com\u002Fepisodes\u002Fhow-long-does-good-code-last\u002Ftranscript\u002F",true,"2021\u002F03\u002F05","Think of your code quality as if it will run forever, but adapt to change as if your code will be obsolete tomorrow.",{"_type":56,"asset":158},{"_ref":159,"_type":59},"image-6f6591e18674cee2e570564767f3f8ca14c19158-3000x1575-png",{"code":161,"language":162},"\u003C!-- wp:html -->\n\u003Ciframe height=\"200px\" width=\"100%\" frameborder=\"no\" scrolling=\"no\" seamless src=\"https:\u002F\u002Fplayer.simplecast.com\u002Fee7de9d3-2826-4170-8884-0bb032e9b904?dark=false\">\u003C\u002Fiframe>\n\u003C!-- \u002Fwp:html -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>This week we chat about the half-life of the software you create. Why does some get refactored after six weeks while another program goes untouched for years? How do you know when it's time to say goodbye to your codebase and try a new architecture?\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-episode-notes\">Episode Notes\u003C\u002Fh2>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>This week's discussion was inspired by an article from Sandi Metz, which you can find&nbsp;\u003Ca href=\"https:\u002F\u002Fsandimetz.com\u002Fblog\u002F2017\u002F6\u002F1\u002Fthe-half-life-of-code\">here\u003C\u002Fa>. It begins with a terrific line, defining the half-life of software as, \"the amount of time required for half of an application's code to change so much that it becomes unrecognizable.\"\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>This topic also connected to&nbsp;\u003Ca href=\"https:\u002F\u002Fstackoverflow.blog\u002F2021\u002F03\u002F01\u002Fsacrificial-architecture-learning-from-abandoned-systems\u002F\">a post\u003C\u002Fa>&nbsp;we ran on the Stack Overflow blog this week, &nbsp;Sacrificial Architecture: learning from abandoned systems. The author, Mohamad Aladdin, suggest that one should \"think of your code quality as if it will run forever, but adapt to change as if your code will be obsolete tomorrow.\"\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Our lifeboat badge winner for this episode is Ishmael, who explained why \u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F37398301\u002Fjson-dumps-format-python\u002F37398392#37398392\">JSON dumps your formatting and how to fix it.\u003C\u002Fa>\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fthe-stack-overflow-podcast.simplecast.com\u002Fepisodes\u002Fhow-long-does-good-code-last\u002Ftranscript\u002F\">TRANSCRIPT\u003C\u002Fa>\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->","html","2021-03-05T05:40:00.000Z",{"current":165},"podcast-318-whats-the-half-life-of-your-code",[167,175],{"_createdAt":168,"_id":169,"_rev":170,"_type":171,"_updatedAt":168,"slug":172,"title":174},"2023-05-23T16:43:21Z","wp-tagcat-podcast","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":173},"podcast","The Stack Overflow Podcast",{"_createdAt":168,"_id":176,"_rev":170,"_type":171,"_updatedAt":168,"slug":177,"title":179},"wp-tagcat-the-stack-overflow-podcast",{"current":178},"the-stack-overflow-podcast","the stack overflow podcast","Podcast 318: What's the half-life of your code?",[182,188,194,200],{"_id":183,"publishedAt":184,"slug":185,"sponsored":12,"title":187},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":186},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":189,"publishedAt":190,"slug":191,"sponsored":12,"title":193},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":192},"your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem","Your AI shipped a backend that boots. That is the whole problem.",{"_id":195,"publishedAt":196,"slug":197,"sponsored":12,"title":199},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":198},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"_id":201,"publishedAt":202,"slug":203,"sponsored":12,"title":205},"30b995f7-7cb9-4dd8-bf71-d0685940a32b","2026-06-19T14:00:00.000Z",{"_type":10,"current":204},"dispatches-from-o-reilly-from-capabilities-to-responsibilities","Dispatches from O'Reilly: From capabilities to responsibilities",{"data":207,"sourceMap":-1},{"count":208,"lastTimestamp":12},0]