[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-_U_CSszPe_hpHRMODwuJ8p5vtuurn-txdUVYB1Hc5XU":3,"sanity-PghuWNSKZsK96BgZpj3hJLDd0-W9KpXb028xMvTi2qM":214},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":189},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"f83eb5f0-1237-487f-84d8-f7abf2318c39","2026-06-25T07:40:00.000Z",{"_type":10,"current":11},"slug","code-isnt-causing-your-production-failures",null,"Code isn’t the only thing causing your production failures",[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":162,"dateUrl":163,"excerpt":164,"image":165,"legacyBody":168,"product":12,"publishedAt":171,"slug":172,"sponsored":12,"tags":174,"title":188,"visible":162},"2023-05-25T09:39:17Z","wp-post-17144","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,147],{"_key":66,"_type":67,"markDefs":12,"url":68},"f5a5631e13dc","embed","https://art19.com/shows/2355b740-4531-4071-a3ab-5907a95a36d3/episodes/9c0e1832-7390-4848-8e8a-8965c1020ac5",{"_key":70,"_type":71,"children":72,"markDefs":78,"style":79},"e20f53b0e5ef","block",[73],{"_key":74,"_type":75,"marks":76,"text":77},"e20f53b0e5ef0","span",[],"This week we chat about the massive Solarigate hack, how attitudes towards bullying have changed over the years, and the programming projects we have in mind for the holidays.",[],"normal",{"_key":81,"_type":71,"children":82,"markDefs":87,"style":88},"52a2176e349b",[83],{"_key":84,"_type":75,"marks":85,"text":86},"52a2176e349b0",[],"Episode Notes",[],"h2",{"_key":90,"_type":71,"children":91,"markDefs":105,"style":79},"5d09cf0450be",[92,96,101],{"_key":93,"_type":75,"marks":94,"text":95},"5d09cf0450be0",[],"There is a nice breakdown of the Solarigate attack ",{"_key":97,"_type":75,"marks":98,"text":100},"5d09cf0450be1",[99],"0c16e9398374","here",{"_key":102,"_type":75,"marks":103,"text":104},"5d09cf0450be2",[],", but the most important thing to know is that just seeing the words BusinessLayer.dll is enough to make our eyes glaze over and our defenses go down.",[106],{"_key":99,"_type":107,"href":108,"reference":12},"link","https://www.microsoft.com/security/blog/2020/12/18/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect/",{"_key":110,"_type":71,"children":111,"markDefs":125,"style":79},"8bcef04459e7",[112,116,121],{"_key":113,"_type":75,"marks":114,"text":115},"8bcef04459e70",[],"One interesting second order effect of this intrusion is that it will be difficult to know when all malicious code and access has really been removed. It brought to mind the classic Turing Award Lecture, ",{"_key":117,"_type":75,"marks":118,"text":120},"8bcef04459e71",[119],"2b91ef608c71","Reflections on Trusting Trust",{"_key":122,"_type":75,"marks":123,"text":124},"8bcef04459e72",[]," by Ken Thompson.",[126],{"_key":119,"_type":107,"href":127,"reference":12},"https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_ReflectionsonTrustingTrust.pdf",{"_key":129,"_type":71,"children":130,"markDefs":144,"style":79},"d2be3be38e92",[131,135,140],{"_key":132,"_type":75,"marks":133,"text":134},"d2be3be38e920",[],"If you're trying to entertain kids over the holidays, Ben will be messing around with ",{"_key":136,"_type":75,"marks":137,"text":139},"d2be3be38e921",[138],"ffa93b157d90","Roblox",{"_key":141,"_type":75,"marks":142,"text":143},"d2be3be38e922",[],", which lets you create your own mini-games and has several hooks to deeper programming capabilities.",[145],{"_key":138,"_type":107,"href":146,"reference":12},"https://www.roblox.com/create",{"_key":148,"_type":71,"children":149,"markDefs":159,"style":79},"bba08934a5cd",[150,154],{"_key":151,"_type":75,"marks":152,"text":153},"bba08934a5cd0",[],"Our Lifeboat badge winner this week is Chinito, who answered the question of how you can: ",{"_key":155,"_type":75,"marks":156,"text":158},"bba08934a5cd1",[157],"0201c3b0b535","Set style using pure JavaScript",[160],{"_key":157,"_type":107,"href":161,"reference":12},"https://stackoverflow.com/questions/42942002/set-style-using-pure-javascript/42942054#42942054",true,"2020/12/29","We break down some of the code that went into the Solar Gate hack and share programming projects we're working on over the holidays.",{"_type":56,"asset":166},{"_ref":167,"_type":59},"image-6f6591e18674cee2e570564767f3f8ca14c19158-3000x1575-png",{"code":169,"language":170},"\u003C!-- wp:html -->\n\u003Ciframe height=\"200px\" width=\"100%\" frameborder=\"no\" scrolling=\"no\" seamless src=\"https://player.simplecast.com/c05a77d6-8dbc-47f8-af39-bf931d551130?dark=false\">\u003C/iframe>\n\u003C!-- /wp:html -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>This week we chat about the massive Solarigate hack, how attitudes towards bullying have changed over the years, and the programming projects we have in mind for the holidays.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-episode-notes\">Episode Notes\u003C/h2>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>There is a nice breakdown of the Solarigate attack&nbsp;\u003Ca href=\"https://www.microsoft.com/security/blog/2020/12/18/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect/\">here\u003C/a>, but the most important thing to know is that just seeing the words BusinessLayer.dll is enough to make our eyes glaze over and our defenses go down.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>One interesting second order effect of this intrusion is that it will be difficult to know when all malicious code and access has really been removed. It brought to mind the classic Turing Award Lecture,&nbsp;\u003Ca href=\"https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_ReflectionsonTrustingTrust.pdf\">Reflections on Trusting Trust\u003C/a>&nbsp;by Ken Thompson.&nbsp;\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>If you're trying to entertain kids over the holidays, Ben will be messing around with&nbsp;\u003Ca href=\"https://www.roblox.com/create\">Roblox\u003C/a>, which lets you create your own mini-games and has several hooks to deeper programming capabilities.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Our Lifeboat badge winner this week is Chinito, who answered the question of how you can:&nbsp;\u003Ca href=\"https://stackoverflow.com/questions/42942002/set-style-using-pure-javascript/42942054#42942054\">Set style using pure JavaScript\u003C/a>\u003C/p>\n\u003C!-- /wp:paragraph -->","html","2020-12-29T05:40:00.000Z",{"current":173},"podcast-episode-299-its-hard-to-get-hacked-worse-than-this",[175,183],{"_createdAt":176,"_id":177,"_rev":178,"_type":179,"_updatedAt":176,"slug":180,"title":182},"2023-05-23T16:43:21Z","wp-tagcat-podcast","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":181},"podcast","The Stack Overflow Podcast",{"_createdAt":176,"_id":184,"_rev":178,"_type":179,"_updatedAt":176,"slug":185,"title":187},"wp-tagcat-the-stack-overflow-podcast",{"current":186},"the-stack-overflow-podcast","the stack overflow podcast","Podcast Episode 299: It's hard to get hacked worse than this",[190,196,202,208],{"_id":191,"publishedAt":192,"slug":193,"sponsored":12,"title":195},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":194},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":197,"publishedAt":198,"slug":199,"sponsored":12,"title":201},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":200},"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":203,"publishedAt":204,"slug":205,"sponsored":12,"title":207},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":206},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"_id":209,"publishedAt":210,"slug":211,"sponsored":12,"title":213},"30b995f7-7cb9-4dd8-bf71-d0685940a32b","2026-06-19T14:00:00.000Z",{"_type":10,"current":212},"dispatches-from-o-reilly-from-capabilities-to-responsibilities","Dispatches from O'Reilly: From capabilities to responsibilities",{"data":215,"sourceMap":-1},{"count":216,"lastTimestamp":217},14,"2023-05-25T09:47:31Z"]