[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-Tkw6bX_PNPBq3qvKK7Kbx1pFw2PLuoaEkbRhGvWcnaA":3,"sanity-2d76AW3DbBSXpiLOGL5tTQOxKwh1iYv43uh3PZ_wOko":240},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":215},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"7ebd76d2-cebc-4b88-82f9-3dfb2c8bc5ca","2026-07-08T04:40:00.000Z",{"_type":10,"current":11},"slug","what-s-left-for-infrastructure-as-code-after-ai-moves-in",true,"What's left for infrastructure-as-code after AI moves in?",[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":12,"dateUrl":172,"excerpt":173,"image":174,"legacyBody":177,"product":68,"publishedAt":180,"slug":181,"sponsored":68,"tags":183,"title":214,"visible":12},"2023-05-25T09:39:17Z","wp-post-16990","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,70,93,112,127,146,161],{"_key":66,"_type":67,"markDefs":68,"url":69},"77fa183c3864","embed",null,"https:\u002F\u002Fart19.com\u002Fshows\u002F2355b740-4531-4071-a3ab-5907a95a36d3\u002Fepisodes\u002Fcc664cb3-7620-40c2-a456-0b7d63480143",{"_key":71,"_type":72,"children":73,"markDefs":88,"style":92},"d56baac014d7","block",[74,79,84],{"_key":75,"_type":76,"marks":77,"text":78},"d56baac014d70","span",[],"The conversation in this week's episode was inspired by a blog and video from Chris Ferdinandi. He talked about converting jQuery plugins and Vue components into ",{"_key":80,"_type":76,"marks":81,"text":83},"d56baac014d71",[82],"394c04b9c1b0","vanilla JS",{"_key":85,"_type":76,"marks":86,"text":87},"d56baac014d72",[],", and recording himself in the process. He also tried this conversion with a React demo app. While discussing all the new things one can do with the web, we ended up discussing a fundamental question: What is the difference between a language and a framework?",[89],{"_key":82,"_type":90,"href":91,"reference":68},"link","https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F20435653\u002Fwhat-is-vanillajs","normal",{"_key":94,"_type":72,"children":95,"markDefs":109,"style":92},"82ed4fbb7239",[96,100,105],{"_key":97,"_type":76,"marks":98,"text":99},"82ed4fbb72390",[],"You can find Ferdinandi's post and video ",{"_key":101,"_type":76,"marks":102,"text":104},"82ed4fbb72391",[103],"3858c6b0c8b5","here",{"_key":106,"_type":76,"marks":107,"text":108},"82ed4fbb72392",[],".",[110],{"_key":103,"_type":90,"href":111,"reference":68},"https:\u002F\u002Fgomakethings.com\u002Fconverting-the-react-todo-app-demo-to-vanilla-js\u002F",{"_key":113,"_type":72,"children":114,"markDefs":124,"style":92},"b9332217e060",[115,119],{"_key":116,"_type":76,"marks":117,"text":118},"b9332217e0600",[],"12 years ago, back when Stack Overflow was a brand new site with just a few thousand users, someone asked: ",{"_key":120,"_type":76,"marks":121,"text":123},"b9332217e0601",[122],"a2958d989ee3","What is the difference between a framework and a library?",[125],{"_key":122,"_type":90,"href":126,"reference":68},"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F148747\u002Fwhat-is-the-difference-between-a-framework-and-a-library",{"_key":128,"_type":72,"children":129,"markDefs":143,"style":92},"c25dc31fc8f7",[130,134,139],{"_key":131,"_type":76,"marks":132,"text":133},"c25dc31fc8f70",[],"FreeCodeCamp has its own",{"_key":135,"_type":76,"marks":136,"text":138},"c25dc31fc8f71",[137],"8fd168912713"," take on this question",{"_key":140,"_type":76,"marks":141,"text":142},"c25dc31fc8f72",[]," with a pretty interesting answer. \"When you use a library, you are in charge of the flow of the application. You are choosing when and where to call the library. When you use a framework, the framework is in charge of the flow. It provides some places for you to plug in your code, but it calls the code you plugged in as needed.\"",[144],{"_key":137,"_type":90,"href":145,"reference":68},"https:\u002F\u002Fwww.freecodecamp.org\u002Fnews\u002Fthe-difference-between-a-framework-and-a-library-bd133054023f\u002F#:~:text=The%20Technical%20Difference&text=When%20you%20use%20a%20library,you%20plugged%20in%20as%20needed.",{"_key":147,"_type":72,"children":148,"markDefs":158,"style":92},"1b98a9a58652",[149,153],{"_key":150,"_type":76,"marks":151,"text":152},"1b98a9a586520",[],"There was no Lifeboat badge to call out this week, so we honored a Lifejacket winner instead. Shout out to Andreas for answering the queston: ",{"_key":154,"_type":76,"marks":155,"text":157},"1b98a9a586521",[156],"35bef5c3636e","Are byte arrays initialised to zero in Java?",[159],{"_key":156,"_type":90,"href":160,"reference":68},"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F19094355\u002Fare-byte-arrays-initialised-to-zero-in-java",{"_key":162,"_type":72,"children":163,"markDefs":169,"style":92},"3b30473e1789",[164],{"_key":165,"_type":76,"marks":166,"text":168},"3b30473e17890",[167],"03465f60f741","TRANSCRIPT",[170],{"_key":167,"_type":90,"href":171,"reference":68},"https:\u002F\u002Fthe-stack-overflow-podcast.simplecast.com\u002Fepisodes\u002Freact-vue-jquery-what-flavor-do-you-like-your-vanilla-js\u002Ftranscript","2020\u002F11\u002F24","There are so many ways to work with your favorite web tools. Just remember the difference between a language and a framework.",{"_type":56,"asset":175},{"_ref":176,"_type":59},"image-6f6591e18674cee2e570564767f3f8ca14c19158-3000x1575-png",{"code":178,"language":179},"\u003C!-- wp:html -->\n\u003Ciframe height=\"200px\" width=\"100%\" frameborder=\"no\" scrolling=\"no\" seamless=\"\" src=\"https:\u002F\u002Fplayer.simplecast.com\u002Fe78e4b8c-9df1-4f7d-bbcd-1b75a87d8b3d?dark=false\">\u003C\u002Fiframe>\n\u003C!-- \u002Fwp:html -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>The conversation in this week's episode was inspired by a blog and video from Chris Ferdinandi. He talked about converting jQuery plugins and Vue components into \u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F20435653\u002Fwhat-is-vanillajs\">vanilla JS\u003C\u002Fa>, and recording himself in the process. He also tried this conversion with a React demo app. While discussing all the new things one can do with the web, we ended up discussing a fundamental question: What is the difference between a language and a framework?\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>You can find Ferdinandi's post and video&nbsp;\u003Ca href=\"https:\u002F\u002Fgomakethings.com\u002Fconverting-the-react-todo-app-demo-to-vanilla-js\u002F\">here\u003C\u002Fa>.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>12 years ago, back when Stack Overflow was a brand new site with just a few thousand users, someone asked:&nbsp;\u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F148747\u002Fwhat-is-the-difference-between-a-framework-and-a-library\">What is the difference between a framework and a library?\u003C\u002Fa>\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>FreeCodeCamp has its own\u003Ca href=\"https:\u002F\u002Fwww.freecodecamp.org\u002Fnews\u002Fthe-difference-between-a-framework-and-a-library-bd133054023f\u002F#:~:text=The%20Technical%20Difference&amp;text=When%20you%20use%20a%20library,you%20plugged%20in%20as%20needed.\">&nbsp;take on this question\u003C\u002Fa>&nbsp;with a pretty interesting answer. \"When you use a library, you are in charge of the flow of the application. You are choosing when and where to call the library. When you use a framework, the framework is in charge of the flow. It provides some places for you to plug in your code, but it calls the code you plugged in as needed.\"\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>There was no Lifeboat badge to call out this week, so we honored a Lifejacket winner instead. Shout out to Andreas for answering the queston: \u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F19094355\u002Fare-byte-arrays-initialised-to-zero-in-java\">Are byte arrays initialised to zero in Java?\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\u002Freact-vue-jquery-what-flavor-do-you-like-your-vanilla-js\u002Ftranscript\">TRANSCRIPT\u003C\u002Fa>\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->","html","2020-11-24T05:40:00.000Z",{"current":182},"podcast-289-react-jquery-vue-whats-your-favorite-flavor-of-vanilla-js",[184,191,196,201,206,210],{"_createdAt":185,"_id":186,"_rev":187,"_type":188,"_updatedAt":185,"slug":189,"title":190},"2023-05-23T16:43:21Z","wp-tagcat-javascript","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":190},"javascript",{"_createdAt":185,"_id":192,"_rev":187,"_type":188,"_updatedAt":185,"slug":193,"title":195},"wp-tagcat-jquery",{"current":194},"jquery","jQuery",{"_createdAt":185,"_id":197,"_rev":187,"_type":188,"_updatedAt":185,"slug":198,"title":200},"wp-tagcat-podcast",{"current":199},"podcast","The Stack Overflow Podcast",{"_createdAt":185,"_id":202,"_rev":187,"_type":188,"_updatedAt":185,"slug":203,"title":205},"wp-tagcat-vanilla-js",{"current":204},"vanilla-js","vanilla js",{"_createdAt":185,"_id":207,"_rev":187,"_type":188,"_updatedAt":185,"slug":208,"title":209},"wp-tagcat-vanillajs",{"current":209},"vanillajs",{"_createdAt":185,"_id":211,"_rev":187,"_type":188,"_updatedAt":185,"slug":212,"title":213},"wp-tagcat-vue",{"current":213},"vue","Podcast 289: React, jQuery, Vue: what's your favorite flavor of vanilla JS?",[216,222,228,234],{"_id":217,"publishedAt":218,"slug":219,"sponsored":68,"title":221},"76c9771b-34e6-4d98-8641-ecefc711f0ef","2026-07-06T15:23:34.559Z",{"_type":10,"current":220},"when-the-sensor-starts-thinking-snortml-agentic-ai-and-the-evolving-architecture-of-intrusion-detection","When the sensor starts thinking: SnortML, agentic AI, and the evolving architecture of intrusion detection",{"_id":223,"publishedAt":224,"slug":225,"sponsored":68,"title":227},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":226},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":229,"publishedAt":230,"slug":231,"sponsored":68,"title":233},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":232},"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":235,"publishedAt":236,"slug":237,"sponsored":68,"title":239},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":238},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"data":241,"sourceMap":-1},{"count":242,"lastTimestamp":243},2,"2023-05-25T09:47:31Z"]