[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-fI6IuDUu6Tmiucah4-UWRZl1HOpEkFzF10MlVavFqCc":3},{"data":4,"sourceMap":-1},{"info":5,"latest":13,"pinned":852},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"descriptionText":10,"slug":11,"title":12},"2023-05-23T16:43:21Z","wp-tagcat-javascript","9HpbCsT2tq0xwozQfkc4ih","blogTag",null,{"current":12},"javascript",[14,55,87,130,168,216,261,294,360,398,435,469,492,532,568,616,655,699,735,781,820],{"_id":15,"author":16,"commentCount":29,"comments":30,"excerpt":31,"featureTag":10,"image":32,"publishedAt":35,"slug":36,"sponsored":10,"tags":38,"title":54},"dbf392d8-6fba-4a7a-9880-936825b0f3d1",[17],{"_id":18,"avatar":19,"name":24,"role":25,"slug":26},"dbdef9f7-acce-4431-8f4f-c2025df1c8c8",{"_type":20,"asset":21},"image",{"_ref":22,"_type":23},"image-5f1073fdcf2ebde7fee8570769d9d82d21573870-2316x3088-jpg","reference","Phoebe Sajor","Content Associate",{"_type":27,"current":28},"slug","phoebe-sajor",0,true,"Ryan welcomes  Jason Williams, senior software engineer at Bloomberg and  the creator of Rust-based JavaScript engine Boa, to the show to dive into why date and time handling in JavaScript is so difficult and how the Temporal proposal aims to fix it.",{"_type":20,"asset":33},{"_ref":34,"_type":23},"image-e35a0c5eb319e7928c9ac0a2c2c782d29e644876-3120x1640-png","2026-05-01T07:40:00.000Z",{"_type":27,"current":37},"time-is-a-construct-but-it-can-break-your-software",[39,44,48,52],{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":41,"title":43},"wp-tagcat-podcast",{"current":42},"podcast","The Stack Overflow Podcast",{"_createdAt":6,"_id":45,"_rev":8,"_type":9,"_updatedAt":6,"slug":46,"title":47},"wp-tagcat-se-tech",{"current":47},"se-tech",{"_createdAt":6,"_id":49,"_rev":8,"_type":9,"_updatedAt":6,"slug":50,"title":51},"wp-tagcat-se-stackoverflow",{"current":51},"se-stackoverflow",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":53,"title":12},{"current":12},"Time is a construct but it can still break your software",{"_id":56,"author":57,"commentCount":66,"comments":30,"excerpt":67,"featureTag":10,"image":68,"publishedAt":72,"slug":73,"sponsored":10,"tags":75,"title":86},"50aa93ff-e2f8-4700-a268-b1d0bdc47bb0",[58],{"_id":59,"avatar":60,"name":63,"role":10,"slug":64},"wp-author-cap-21217",{"_type":20,"asset":61},{"_ref":62,"_type":23},"image-1368d2b465e1de8630a16d34bf006e750ca3bca8-400x400-jpg","Tanya Janca",{"current":65},"tanya-janca",3,"JavaScript is the front-end of the entire internet. Because JavaScript is so prolific, it’s a prime target for attackers. ",{"_type":20,"asset":69,"attribution":71},{"_ref":70,"_type":23},"image-a8b85c278a28050e454710ff9e72fe759d0bc889-12000x6300-jpg","Alexandra Francis","2025-10-15T14:00:14.825Z",{"_type":27,"current":74},"secure-coding-in-javascript",[76,78,80,82],{"_createdAt":6,"_id":49,"_rev":8,"_type":9,"_updatedAt":6,"slug":77,"title":51},{"current":51},{"_createdAt":6,"_id":45,"_rev":8,"_type":9,"_updatedAt":6,"slug":79,"title":47},{"current":47},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":81,"title":12},{"current":12},{"_createdAt":6,"_id":83,"_rev":8,"_type":9,"_updatedAt":6,"slug":84,"title":85},"wp-tagcat-security",{"current":85},"security","Secure coding in JavaScript",{"_id":88,"author":89,"commentCount":29,"comments":30,"excerpt":94,"featureTag":10,"image":95,"publishedAt":98,"slug":99,"sponsored":10,"tags":101,"title":129},"be5f6320-925a-4dcd-abd5-286087642143",[90],{"_id":18,"avatar":91,"name":24,"role":25,"slug":93},{"_type":20,"asset":92},{"_ref":22,"_type":23},{"_type":27,"current":28},"Ryan welcomes back Evan You, the creator of Vite and Vue.js, to discuss the evolution of build tools in web development, the unique features of Vite from its plugins to its hot module capabilities, and the future of Vite, including its integration with Rust. Plus, they touch on Vite’s new documentary and the power of open-source communities.",{"_type":20,"asset":96},{"_ref":97,"_type":23},"image-d2cb4c948681d5ccbb8ff46ed2d69c6f6b6a8990-800x420-jpg","2025-10-10T07:40:00.000Z",{"_type":27,"current":100},"vite-is-like-the-united-nations-of-javascript",[102,104,106,108,112,117,119,121,125],{"_createdAt":6,"_id":45,"_rev":8,"_type":9,"_updatedAt":6,"slug":103,"title":47},{"current":47},{"_createdAt":6,"_id":49,"_rev":8,"_type":9,"_updatedAt":6,"slug":105,"title":51},{"current":51},{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":107,"title":43},{"current":42},{"_createdAt":6,"_id":109,"_rev":8,"_type":9,"_updatedAt":6,"slug":110,"title":111},"wp-tagcat-vue",{"current":111},"vue",{"_createdAt":6,"_id":113,"_rev":8,"_type":9,"_updatedAt":6,"slug":114,"title":116},"wp-tagcat-vue-js",{"current":115},"vue-js","vue.js",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":118,"title":12},{"current":12},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":120,"title":12},{"current":12},{"_createdAt":6,"_id":122,"_rev":8,"_type":9,"_updatedAt":6,"slug":123,"title":124},"wp-tagcat-front-end",{"current":124},"front-end",{"_createdAt":6,"_id":126,"_rev":8,"_type":9,"_updatedAt":6,"slug":127,"title":128},"wp-tagcat-frontend",{"current":128},"frontend","Vite is like the United Nations of JavaScript",{"_id":131,"author":132,"commentCount":137,"comments":30,"excerpt":138,"featureTag":10,"image":139,"publishedAt":141,"slug":142,"sponsored":10,"tags":144,"title":167},"8fc0ae47-f567-40f1-a2db-7980d2c6dace",[133],{"_id":18,"avatar":134,"name":24,"role":25,"slug":136},{"_type":20,"asset":135},{"_ref":22,"_type":23},{"_type":27,"current":28},1,"Ryan welcomes Evan You, the creator of Vue.js, to explore the origins of Vue.js, the challenges faced during its development, and the project’s growth over a decade. They dive into potential integrations for AI, future developments for Vue.js, and the sustainability of open-source projects. ",{"_type":20,"asset":140},{"_ref":97,"_type":23},"2025-08-15T07:40:00.000Z",{"_type":27,"current":143},"the-future-of-vue-is-you-and-you",[145,147,149,151,156,161,163,165],{"_createdAt":6,"_id":113,"_rev":8,"_type":9,"_updatedAt":6,"slug":146,"title":116},{"current":115},{"_createdAt":6,"_id":109,"_rev":8,"_type":9,"_updatedAt":6,"slug":148,"title":111},{"current":111},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":150,"title":12},{"current":12},{"_createdAt":6,"_id":152,"_rev":8,"_type":9,"_updatedAt":6,"slug":153,"title":155},"wp-tagcat-dev-tools",{"current":154},"dev-tools","dev tools",{"_createdAt":6,"_id":157,"_rev":8,"_type":9,"_updatedAt":6,"slug":158,"title":160},"wp-tagcat-developer-tools",{"current":159},"developer-tools","developer tools",{"_createdAt":6,"_id":49,"_rev":8,"_type":9,"_updatedAt":6,"slug":162,"title":51},{"current":51},{"_createdAt":6,"_id":45,"_rev":8,"_type":9,"_updatedAt":6,"slug":164,"title":47},{"current":47},{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":166,"title":43},{"current":42},"The future of Vue is you (and You)",{"_id":169,"author":170,"commentCount":29,"comments":30,"excerpt":179,"featureTag":10,"image":180,"publishedAt":183,"slug":184,"sponsored":10,"tags":186,"title":215},"343cf392-f78f-4479-8304-a7275652dc56",[171],{"_id":172,"avatar":173,"name":176,"role":10,"slug":177},"wp-author-226",{"_type":20,"asset":174},{"_ref":175,"_type":23},"image-56688f6337dd0a96034dfc998cdecc7810597d81-1024x1024-png","Ryan Donovan",{"current":178},"rdonovan","Kyle chats with Jesse Tomchak a software engineer at ClickUp about all the spicy backend takes they could find. ",{"_type":20,"asset":181},{"_ref":182,"_type":23},"image-807b30d3e40c5bf2242891d8ce4a04d887e4ff78-3840x2160-png","2025-04-09T04:41:00.000Z",{"_type":27,"current":185},"wbit-6-be-curious-ask-questions-and-don-t-argue-with-javascript",[187,207,209,211,213],{"_createdAt":188,"_id":189,"_rev":190,"_type":9,"_updatedAt":191,"description":192,"slug":204,"title":206},"2024-11-21T15:48:27Z","66bbeab3-6faa-4872-9cff-18d8b0f85da3","zD1gm3TPIYg5ZtM42PqWSE","2024-12-10T13:54:26Z",[193],{"_key":194,"_type":195,"children":196,"markDefs":202,"style":203},"e36178a97dde","block",[197],{"_key":198,"_type":199,"marks":200,"text":201},"5fe2ad006840","span",[],"A podcast from Stack Overflow about job interviews, career development and software engineering.",[],"normal",{"_type":27,"current":205},"wbit","We’ll Be In Touch",{"_createdAt":6,"_id":45,"_rev":8,"_type":9,"_updatedAt":6,"slug":208,"title":47},{"current":47},{"_createdAt":6,"_id":49,"_rev":8,"_type":9,"_updatedAt":6,"slug":210,"title":51},{"current":51},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":212,"title":12},{"current":12},{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":214,"title":43},{"current":42},"WBIT #6: Be curious, ask questions, and don’t argue with JavaScript",{"_id":217,"author":218,"commentCount":66,"comments":30,"excerpt":228,"featureTag":10,"image":229,"publishedAt":232,"slug":233,"sponsored":10,"tags":235,"title":260},"0771ac19-8784-44ed-982d-2dfce7470e38",[219],{"_id":220,"avatar":221,"name":224,"role":225,"slug":226},"wp-author-295",{"_type":20,"asset":222},{"_ref":223,"_type":23},"image-d670f8093b43e483a52ba692d929578633f70eb5-1024x1024-jpg","Eira May","B2B Editor",{"current":227},"emay","Jaime Torrealba, a frontend developer currently at Push Security, joins Ryan to talk about 3D graphics and web development. Their conversation ranges from the evolution of technologies like WebGL and WebGPU to the importance of performance optimization for different devices to the frameworks available for creating 3D experiences. Jaime also explains the layers of abstraction in 3D development and shares some insight into what the future of 3D applications might look like.",{"_type":20,"asset":230,"attribution":71},{"_ref":231,"_type":23},"image-56c6dab9c7d1b66bc662c5f43ea9573418d94d17-2400x1260-webp","2025-02-04T08:40:00.000Z",{"_type":27,"current":234},"will-the-web-ever-be-the-primary-delivery-system-for-3d-games",[236,238,240,242,247,252,256,258],{"_createdAt":6,"_id":45,"_rev":8,"_type":9,"_updatedAt":6,"slug":237,"title":47},{"current":47},{"_createdAt":6,"_id":49,"_rev":8,"_type":9,"_updatedAt":6,"slug":239,"title":51},{"current":51},{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":241,"title":43},{"current":42},{"_createdAt":6,"_id":243,"_rev":8,"_type":9,"_updatedAt":6,"slug":244,"title":246},"wp-tagcat-gaming",{"current":245},"gaming","Gaming",{"_createdAt":6,"_id":248,"_rev":8,"_type":9,"_updatedAt":6,"slug":249,"title":251},"wp-tagcat-web-development",{"current":250},"web-development","web development",{"_createdAt":6,"_id":253,"_rev":8,"_type":9,"_updatedAt":6,"slug":254,"title":255},"wp-tagcat-graphics",{"current":255},"graphics",{"_createdAt":6,"_id":113,"_rev":8,"_type":9,"_updatedAt":6,"slug":257,"title":116},{"current":115},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":259,"title":12},{"current":12},"Will the web ever be the primary delivery system for 3D games?",{"_id":262,"author":263,"commentCount":137,"comments":30,"excerpt":268,"featureTag":10,"image":269,"publishedAt":271,"slug":272,"sponsored":10,"tags":274,"title":293},"0fcd207e-f2b5-4b8f-a1bf-4edf09b0a94a",[264],{"_id":220,"avatar":265,"name":224,"role":225,"slug":267},{"_type":20,"asset":266},{"_ref":223,"_type":23},{"current":227},"Ryan Dahl, creator of Node.js and Deno, tells us about his journey into software development and the creation of Node.js. He explains why he started Deno, a new JavaScript runtime. Ryan also introduces JSR, an alternative to NPM, and emphasizes the importance of security in the JavaScript ecosystem. Plus: Thoughts on the future of JavaScript, including the role of TypeScript and bridging the gap between server-side and browser JavaScript.",{"_type":20,"asset":270,"attribution":71},{"_ref":231,"_type":23},"2024-03-19T07:40:00.000Z",{"_type":27,"current":273},"why-the-creator-of-node-js-r-created-a-new-javascript-runtime",[275,280,282,287,289,291],{"_createdAt":6,"_id":276,"_rev":8,"_type":9,"_updatedAt":6,"slug":277,"title":279},"wp-tagcat-node-js",{"current":278},"node-js","node.js",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":281,"title":12},{"current":12},{"_createdAt":6,"_id":283,"_rev":8,"_type":9,"_updatedAt":6,"slug":284,"title":286},"wp-tagcat-developer-experience",{"current":285},"developer-experience","developer experience",{"_createdAt":6,"_id":45,"_rev":8,"_type":9,"_updatedAt":6,"slug":288,"title":47},{"current":47},{"_createdAt":6,"_id":49,"_rev":8,"_type":9,"_updatedAt":6,"slug":290,"title":51},{"current":51},{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":292,"title":43},{"current":42},"Why the creator of Node.js® created a new JavaScript runtime",{"_id":295,"author":296,"commentCount":29,"comments":30,"excerpt":309,"featureTag":10,"image":310,"publishedAt":313,"slug":314,"sponsored":316,"tags":317,"title":359},"wp-post-22450",[297,301],{"_id":220,"avatar":298,"name":224,"role":225,"slug":300},{"_type":20,"asset":299},{"_ref":223,"_type":23},{"current":227},{"_id":302,"avatar":303,"name":306,"role":10,"slug":307},"wp-author-227",{"_type":20,"asset":304},{"_ref":305,"_type":23},"image-5df3158468f42b2e40ed766d70ce0ad6d5746955-1024x1024-jpg","Cassidy Williams",{"current":308},"cwilliams","Knowledge management and AI, VPN security, and an SVG deep dive.",{"_type":20,"asset":311},{"_ref":312,"_type":23},"image-8da7e9d31b57e7fc6f486d419ff6f60cb93b1bf5-1200x628-png","2023-07-14T13:16:00.000Z",{"current":315},"the-overflow-186-do-large-language-models-know-what-theyre-talking-about",false,[318,325,330,335,337,342,346,350,355],{"_createdAt":6,"_id":319,"_rev":320,"_type":9,"_updatedAt":321,"slug":322,"title":324},"wp-tagcat-ai","fpDTFQqIDjNJIbHDKPBGpV","2025-01-30T16:19:01Z",{"current":323},"ai","AI",{"_createdAt":6,"_id":326,"_rev":8,"_type":9,"_updatedAt":6,"slug":327,"title":329},"wp-tagcat-ai-coding",{"current":328},"ai-coding","ai coding",{"_createdAt":331,"_id":332,"_rev":8,"_type":9,"_updatedAt":331,"slug":333,"title":334},"2023-07-12T12:46:58Z","wp-tagcat-ethernet",{"current":334},"ethernet",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":336,"title":12},{"current":12},{"_createdAt":6,"_id":338,"_rev":8,"_type":9,"_updatedAt":6,"slug":339,"title":341},"wp-tagcat-knowledge-management",{"current":340},"knowledge-management","knowledge management",{"_createdAt":6,"_id":343,"_rev":8,"_type":9,"_updatedAt":6,"slug":344,"title":345},"wp-tagcat-llm",{"current":345},"llm",{"_createdAt":331,"_id":347,"_rev":8,"_type":9,"_updatedAt":331,"slug":348,"title":349},"wp-tagcat-svg",{"current":349},"svg",{"_createdAt":6,"_id":351,"_rev":8,"_type":9,"_updatedAt":6,"slug":352,"title":354},"wp-tagcat-the-overflow",{"current":353},"the-overflow","the overflow",{"_createdAt":6,"_id":356,"_rev":8,"_type":9,"_updatedAt":6,"slug":357,"title":358},"wp-tagcat-newsletter",{"current":358},"newsletter","The Overflow #186: Do large language models know what they're talking about?",{"_id":361,"author":362,"commentCount":137,"comments":30,"excerpt":371,"featureTag":10,"image":372,"publishedAt":375,"slug":376,"sponsored":10,"tags":378,"title":397},"wp-post-21709",[363],{"_id":364,"avatar":365,"name":368,"role":10,"slug":369},"wp-author-cap-18922",{"_type":20,"asset":366},{"_ref":367,"_type":23},"image-35d916d04ee7d6531e71583f1887c195cea3c79b-2114x2114-jpg","Giridhar Talla",{"current":370},"giridhar-talla","Serverless functions have made computing seamless and fast. but for worldwide audiences, you need to get closer to your user to overcome latency. ",{"_type":20,"asset":373},{"_ref":374,"_type":23},"image-47816b1d25eec98906b5f86157c9aa49ec643320-2560x1344-jpg","2023-02-23T14:44:31.000Z",{"current":377},"how-edge-functions-move-your-back-end-close-to-your-front-end",[379,384,389,391],{"_createdAt":6,"_id":380,"_rev":8,"_type":9,"_updatedAt":6,"slug":381,"title":383},"wp-tagcat-code-for-a-living",{"current":382},"code-for-a-living","Code for a Living",{"_createdAt":6,"_id":385,"_rev":8,"_type":9,"_updatedAt":6,"slug":386,"title":388},"wp-tagcat-edge-computing",{"current":387},"edge-computing","edge computing",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":390,"title":12},{"current":12},{"_createdAt":392,"_id":393,"_rev":8,"_type":9,"_updatedAt":392,"slug":394,"title":396},"2023-08-29T08:42:00Z","wp-tagcat-edge-functions",{"current":395},"edge-functions","edge functions","How edge functions move your back end close to your front end",{"_id":399,"author":400,"commentCount":409,"comments":30,"excerpt":410,"featureTag":10,"image":411,"publishedAt":414,"slug":415,"sponsored":10,"tags":417,"title":434},"wp-post-20698",[401],{"_id":402,"avatar":403,"name":406,"role":10,"slug":407},"wp-author-cap-20700",{"_type":20,"asset":404},{"_ref":405,"_type":23},"image-ee9d1c3b05019c9f39bcc8020c4d9e95d0bc9d26-163x163-png","Jared Toporek",{"current":408},"jared-toporek",45,"Think that web form has got your number? If you used input type=\"number\", you may be surprised to find that it doesn't. ",{"_type":20,"asset":412},{"_ref":413,"_type":23},"image-a76d9d7c645965aeb667379afad95d4122cd25c0-2560x1344-jpg","2022-12-26T14:00:00.000Z",{"current":416},"why-the-number-input-is-the-worst-input",[418,420,422,427,429],{"_createdAt":6,"_id":380,"_rev":8,"_type":9,"_updatedAt":6,"slug":419,"title":383},{"current":382},{"_createdAt":6,"_id":122,"_rev":8,"_type":9,"_updatedAt":6,"slug":421,"title":124},{"current":124},{"_createdAt":6,"_id":423,"_rev":8,"_type":9,"_updatedAt":6,"slug":424,"title":426},"wp-tagcat-input-type",{"current":425},"input-type","input type",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":428,"title":12},{"current":12},{"_createdAt":6,"_id":430,"_rev":8,"_type":9,"_updatedAt":6,"slug":431,"title":433},"wp-tagcat-web-forms",{"current":432},"web-forms","web forms","Why the number input is the worst input",{"_id":436,"author":437,"commentCount":446,"comments":30,"excerpt":447,"featureTag":10,"image":448,"publishedAt":451,"slug":452,"sponsored":10,"tags":454,"title":468},"wp-post-19063",[438],{"_id":439,"avatar":440,"name":443,"role":10,"slug":444},"wp-author-cap-17178",{"_type":20,"asset":441},{"_ref":442,"_type":23},"image-3cf478fecda35dcc16d4a4617d19208ad7e281e0-1108x978-png","Theodoros ‘Theo’ Karasavvas",{"current":445},"theodoros-theo-karasavvas",103,"Is ES6 the JavaScript release that will finally free us from the endless cycle of frameworks?",{"_type":20,"asset":449},{"_ref":450,"_type":23},"image-9ec8152c1c6f21f25fc75ad0d4aa230909aebd93-2400x1260-jpg","2021-11-10T16:21:07.000Z",{"current":453},"does-es6-make-javascript-frameworks-obsolete",[455,457,462,466],{"_createdAt":6,"_id":380,"_rev":8,"_type":9,"_updatedAt":6,"slug":456,"title":383},{"current":382},{"_createdAt":6,"_id":458,"_rev":8,"_type":9,"_updatedAt":6,"slug":459,"title":461},"wp-tagcat-es6",{"current":460},"es6","ES6",{"_createdAt":6,"_id":463,"_rev":8,"_type":9,"_updatedAt":6,"slug":464,"title":465},"wp-tagcat-frameworks",{"current":465},"frameworks",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":467,"title":12},{"current":12},"Does ES6 make JavaScript frameworks obsolete?",{"_id":470,"author":471,"commentCount":476,"comments":30,"excerpt":477,"featureTag":10,"image":478,"publishedAt":481,"slug":482,"sponsored":10,"tags":484,"title":491},"wp-post-18964",[472],{"_id":439,"avatar":473,"name":443,"role":10,"slug":475},{"_type":20,"asset":474},{"_ref":442,"_type":23},{"current":445},38,"Here's why JavaScript has been the language of choice for front-end and back-end web dev. ",{"_type":20,"asset":479},{"_ref":480,"_type":23},"image-03c79657c334ece8751fb3c8ef7de3720d2df844-2400x1260-jpg","2021-10-25T14:14:42.000Z",{"current":483},"node-js-makes-fullstack-programming-easy-with-server-side-javascript",[485,487,489],{"_createdAt":6,"_id":380,"_rev":8,"_type":9,"_updatedAt":6,"slug":486,"title":383},{"current":382},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":488,"title":12},{"current":12},{"_createdAt":6,"_id":276,"_rev":8,"_type":9,"_updatedAt":6,"slug":490,"title":279},{"current":278},"Node.js makes fullstack programming easy with server-side JavaScript",{"_id":493,"author":494,"commentCount":29,"comments":30,"excerpt":503,"featureTag":10,"image":504,"publishedAt":507,"slug":508,"sponsored":10,"tags":510,"title":531},"wp-post-17124",[495],{"_id":496,"avatar":497,"name":500,"role":10,"slug":501},"wp-author-213",{"_type":20,"asset":498},{"_ref":499,"_type":23},"image-e81c84dcaeb58be1002795a6544b595bd6fc8071-1024x1024-jpg","Ben Popper",{"current":502},"benpopper","Yes, there was once a plan to acquire a private island, name it Javascriptlandia, and certify it as a nation state so that they could start giving out top level .js domains. ",{"_type":20,"asset":505},{"_ref":506,"_type":23},"image-6f6591e18674cee2e570564767f3f8ca14c19158-3000x1575-png","2020-12-18T05:40:00.000Z",{"current":509},"podcast-296-adventures-in-javascriptlandia",[511,513,520,524,529],{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":512,"title":12},{"current":12},{"_createdAt":6,"_id":514,"_rev":515,"_type":9,"_updatedAt":516,"slug":517,"title":519},"wp-tagcat-open-source","usBIUY8SfRoXafnkrDdaLh","2025-02-28T11:18:45Z",{"current":518},"open-source","Open Source",{"_createdAt":6,"_id":521,"_rev":8,"_type":9,"_updatedAt":6,"slug":522,"title":523},"wp-tagcat-openjs",{"current":523},"openjs",{"_createdAt":6,"_id":525,"_rev":8,"_type":9,"_updatedAt":6,"slug":526,"title":528},"wp-tagcat-the-stack-overflow-podcast",{"current":527},"the-stack-overflow-podcast","the stack overflow podcast",{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":530,"title":43},{"current":42},"Podcast 296: Adventures in Javascriptlandia",{"_id":533,"author":534,"commentCount":539,"comments":30,"excerpt":540,"featureTag":10,"image":541,"publishedAt":543,"slug":544,"sponsored":10,"tags":546,"title":567},"wp-post-16990",[535],{"_id":496,"avatar":536,"name":500,"role":10,"slug":538},{"_type":20,"asset":537},{"_ref":499,"_type":23},{"current":502},2,"There are so many ways to work with your favorite web tools. Just remember the difference between a language and a framework.",{"_type":20,"asset":542},{"_ref":506,"_type":23},"2020-11-24T05:40:00.000Z",{"current":545},"podcast-289-react-jquery-vue-whats-your-favorite-flavor-of-vanilla-js",[547,549,554,556,561,565],{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":548,"title":12},{"current":12},{"_createdAt":6,"_id":550,"_rev":8,"_type":9,"_updatedAt":6,"slug":551,"title":553},"wp-tagcat-jquery",{"current":552},"jquery","jQuery",{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":555,"title":43},{"current":42},{"_createdAt":6,"_id":557,"_rev":8,"_type":9,"_updatedAt":6,"slug":558,"title":560},"wp-tagcat-vanilla-js",{"current":559},"vanilla-js","vanilla js",{"_createdAt":6,"_id":562,"_rev":8,"_type":9,"_updatedAt":6,"slug":563,"title":564},"wp-tagcat-vanillajs",{"current":564},"vanillajs",{"_createdAt":6,"_id":109,"_rev":8,"_type":9,"_updatedAt":6,"slug":566,"title":111},{"current":111},"Podcast 289: React, jQuery, Vue: what's your favorite flavor of vanilla JS?",{"_id":569,"author":570,"commentCount":575,"comments":30,"excerpt":576,"featureTag":10,"image":577,"publishedAt":579,"slug":580,"sponsored":10,"tags":582,"title":615},"wp-post-16020",[571],{"_id":496,"avatar":572,"name":500,"role":10,"slug":574},{"_type":20,"asset":573},{"_ref":499,"_type":23},{"current":502},9,"We're celebrating some big birthdays for Node.js and Javascript.",{"_type":20,"asset":578},{"_ref":506,"_type":23},"2020-06-02T04:40:00.000Z",{"current":581},"podcast-240-javascript-is-ready-to-get-its-own-place",[583,588,590,592,597,599,604,606,608,610],{"_createdAt":6,"_id":584,"_rev":8,"_type":9,"_updatedAt":6,"slug":585,"title":587},"wp-tagcat-bulletin",{"current":586},"bulletin","Bulletin",{"_createdAt":6,"_id":584,"_rev":8,"_type":9,"_updatedAt":6,"slug":589,"title":587},{"current":586},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":591,"title":12},{"current":12},{"_createdAt":6,"_id":593,"_rev":8,"_type":9,"_updatedAt":6,"slug":594,"title":596},"wp-tagcat-magic-leap",{"current":595},"magic-leap","magic leap",{"_createdAt":6,"_id":276,"_rev":8,"_type":9,"_updatedAt":6,"slug":598,"title":279},{"current":278},{"_createdAt":6,"_id":600,"_rev":8,"_type":9,"_updatedAt":6,"slug":601,"title":603},"wp-tagcat-stackoverflow",{"current":602},"stackoverflow","Stackoverflow",{"_createdAt":6,"_id":600,"_rev":8,"_type":9,"_updatedAt":6,"slug":605,"title":603},{"current":602},{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":607,"title":43},{"current":42},{"_createdAt":6,"_id":525,"_rev":8,"_type":9,"_updatedAt":6,"slug":609,"title":528},{"current":527},{"_createdAt":6,"_id":611,"_rev":8,"_type":9,"_updatedAt":6,"slug":612,"title":614},"wp-tagcat-uncategorized",{"current":613},"uncategorized","Uncategorized","Podcast 240: JavaScript is ready to get its own place",{"_id":617,"author":618,"commentCount":623,"comments":30,"excerpt":624,"featureTag":10,"image":625,"publishedAt":628,"slug":629,"sponsored":10,"tags":631,"title":654},"wp-post-15946",[619],{"_id":172,"avatar":620,"name":176,"role":10,"slug":622},{"_type":20,"asset":621},{"_ref":175,"_type":23},{"current":178},18,"Node.js creator, Ryan Dahl, left the Node.js project in 2012 and started working with it again around six years later. In using it again, he found a number of design flaws that bothered him. So he decided to create a new implementation of his original idea: Deno, which released V1.0.0 last week. ",{"_type":20,"asset":626},{"_ref":627,"_type":23},"image-9dac8c12cf45e44dc999fe054a62de34417e9471-2123x1413-jpg","2020-05-22T16:44:00.000Z",{"current":630},"deno-v1-0-0-released-to-solve-node-js-design-flaws",[632,634,638,640,642,646,648,650],{"_createdAt":6,"_id":380,"_rev":8,"_type":9,"_updatedAt":6,"slug":633,"title":383},{"current":382},{"_createdAt":6,"_id":635,"_rev":8,"_type":9,"_updatedAt":6,"slug":636,"title":637},"wp-tagcat-deno",{"current":637},"deno",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":639,"title":12},{"current":12},{"_createdAt":6,"_id":276,"_rev":8,"_type":9,"_updatedAt":6,"slug":641,"title":279},{"current":278},{"_createdAt":6,"_id":643,"_rev":8,"_type":9,"_updatedAt":6,"slug":644,"title":645},"wp-tagcat-rust",{"current":645},"rust",{"_createdAt":6,"_id":600,"_rev":8,"_type":9,"_updatedAt":6,"slug":647,"title":603},{"current":602},{"_createdAt":6,"_id":600,"_rev":8,"_type":9,"_updatedAt":6,"slug":649,"title":603},{"current":602},{"_createdAt":6,"_id":651,"_rev":8,"_type":9,"_updatedAt":6,"slug":652,"title":653},"wp-tagcat-typescript",{"current":653},"typescript","Deno v1.0.0 released to solve Node.js design flaws",{"_id":656,"author":657,"commentCount":670,"comments":30,"excerpt":671,"featureTag":10,"image":672,"publishedAt":675,"slug":676,"sponsored":10,"tags":678,"title":698},"wp-post-15247",[658,666],{"_id":659,"avatar":660,"name":663,"role":10,"slug":664},"wp-author-cap-15245",{"_type":20,"asset":661},{"_ref":662,"_type":23},"image-62a85a24c474f9bd150ed89c8d208ec43707ed61-302x302-jpg","John Au-Yeung",{"current":665},"john-au-yeung",{"_id":172,"avatar":667,"name":176,"role":10,"slug":669},{"_type":20,"asset":668},{"_ref":175,"_type":23},{"current":178},101,"In this article, we'll look at how to design REST APIs to be easy to understand for anyone consuming them, future-proof, and secure and fast since they serve data to clients that may be confidential.",{"_type":20,"asset":673},{"_ref":674,"_type":23},"image-e1eee67d0d8803936c09d3aba530bed2da974871-2309x1299-jpg","2020-03-02T14:55:01.000Z",{"current":677},"best-practices-for-rest-api-design",[679,681,683,687,689,694,696],{"_createdAt":6,"_id":584,"_rev":8,"_type":9,"_updatedAt":6,"slug":680,"title":587},{"current":586},{"_createdAt":6,"_id":380,"_rev":8,"_type":9,"_updatedAt":6,"slug":682,"title":383},{"current":382},{"_createdAt":6,"_id":684,"_rev":8,"_type":9,"_updatedAt":6,"slug":685,"title":686},"wp-tagcat-express",{"current":686},"express",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":688,"title":12},{"current":12},{"_createdAt":6,"_id":690,"_rev":8,"_type":9,"_updatedAt":6,"slug":691,"title":693},"wp-tagcat-rest-api",{"current":692},"rest-api","rest api",{"_createdAt":6,"_id":600,"_rev":8,"_type":9,"_updatedAt":6,"slug":695,"title":603},{"current":602},{"_createdAt":6,"_id":600,"_rev":8,"_type":9,"_updatedAt":6,"slug":697,"title":603},{"current":602},"Best practices for REST API design",{"_id":700,"author":701,"commentCount":710,"comments":30,"excerpt":711,"featureTag":10,"image":712,"publishedAt":715,"slug":716,"sponsored":10,"tags":718,"title":734},"wp-post-14904",[702],{"_id":703,"avatar":704,"name":707,"role":10,"slug":708},"wp-author-225",{"_type":20,"asset":705},{"_ref":706,"_type":23},"image-6b50d301dd962a6ae761cd6a3a0eb79f5e9cc70d-1024x1024-jpg","Max Pekarsky",{"current":709},"maxpekarsky",55,"",{"_type":20,"asset":713},{"_ref":714,"_type":23},"image-3e7be131e041bca38f839b1805759ebf0cb10fe6-2560x1707-jpg","2020-02-03T15:10:33.000Z",{"current":717},"is-it-time-for-a-front-end-framework",[719,721,723,725,727,729],{"_createdAt":6,"_id":584,"_rev":8,"_type":9,"_updatedAt":6,"slug":720,"title":587},{"current":586},{"_createdAt":6,"_id":380,"_rev":8,"_type":9,"_updatedAt":6,"slug":722,"title":383},{"current":382},{"_createdAt":6,"_id":122,"_rev":8,"_type":9,"_updatedAt":6,"slug":724,"title":124},{"current":124},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":726,"title":12},{"current":12},{"_createdAt":6,"_id":600,"_rev":8,"_type":9,"_updatedAt":6,"slug":728,"title":603},{"current":602},{"_createdAt":6,"_id":730,"_rev":8,"_type":9,"_updatedAt":6,"slug":731,"title":733},"wp-tagcat-web-dev",{"current":732},"web-dev","web dev","Does your web app need a front-end framework?",{"_id":736,"author":737,"commentCount":742,"comments":30,"excerpt":743,"featureTag":10,"image":744,"publishedAt":747,"slug":748,"sponsored":10,"tags":750,"title":780},"wp-post-14135",[738],{"_id":496,"avatar":739,"name":500,"role":10,"slug":741},{"_type":20,"asset":740},{"_ref":499,"_type":23},{"current":502},19,"It feels like programming would be a lot less intimidating if the vocabulary used to describe operators was closer to what the average person learned in school. Learning to concatenate a string sounds difficult. Putting a bunch of words together in a certain order, now that sounds approachable! ",{"_type":20,"asset":745},{"_ref":746,"_type":23},"image-418e83f6c45276005fa806e799d6fe6a23a73db3-1200x630-png","2019-11-08T14:58:10.000Z",{"current":749},"ben-popper-is-the-worst-coder-in-the-world-quantum-edition",[751,753,755,757,759,763,768,773,775],{"_createdAt":6,"_id":584,"_rev":8,"_type":9,"_updatedAt":6,"slug":752,"title":587},{"current":586},{"_createdAt":6,"_id":584,"_rev":8,"_type":9,"_updatedAt":6,"slug":754,"title":587},{"current":586},{"_createdAt":6,"_id":380,"_rev":8,"_type":9,"_updatedAt":6,"slug":756,"title":383},{"current":382},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":758,"title":12},{"current":12},{"_createdAt":6,"_id":760,"_rev":8,"_type":9,"_updatedAt":6,"slug":761,"title":762},"wp-tagcat-linguistics",{"current":762},"linguistics",{"_createdAt":6,"_id":764,"_rev":8,"_type":9,"_updatedAt":6,"slug":765,"title":767},"wp-tagcat-quantum-supremacy",{"current":766},"quantum-supremacy","quantum supremacy",{"_createdAt":6,"_id":769,"_rev":8,"_type":9,"_updatedAt":6,"slug":770,"title":772},"wp-tagcat-stack-overflow",{"current":771},"stack-overflow","stack overflow",{"_createdAt":6,"_id":600,"_rev":8,"_type":9,"_updatedAt":6,"slug":774,"title":603},{"current":602},{"_createdAt":6,"_id":776,"_rev":8,"_type":9,"_updatedAt":6,"slug":777,"title":779},"wp-tagcat-worst-coder-in-the-world",{"current":778},"worst-coder-in-the-world","worst coder in the world","Ben Popper is the Worst Coder In The World: Quantum Edition",{"_id":782,"author":783,"commentCount":792,"comments":30,"excerpt":793,"featureTag":10,"image":794,"publishedAt":797,"slug":798,"sponsored":10,"tags":800,"title":819},"wp-post-12612",[784],{"_id":785,"avatar":786,"name":789,"role":10,"slug":790},"wp-author-228",{"_type":20,"asset":787},{"_ref":788,"_type":23},"image-4035d87115e3b0301fe29f95cc8b23a9e6594d9d-1024x1024-jpg","Ryland Goldstein",{"current":791},"rgoldstein",41,"There are lots of simple things you can do to improve at JavaScript. Here are some methods we use to write better JS.",{"_type":20,"asset":795},{"_ref":796,"_type":23},"image-eb9774ecfc0d05e8099ed26ee95a02c283b79b8a-630x450-png","2019-09-12T14:58:46.000Z",{"current":799},"practical-ways-to-write-better-javascript",[801,803,805,807,809,811,813,815],{"_createdAt":6,"_id":584,"_rev":8,"_type":9,"_updatedAt":6,"slug":802,"title":587},{"current":586},{"_createdAt":6,"_id":584,"_rev":8,"_type":9,"_updatedAt":6,"slug":804,"title":587},{"current":586},{"_createdAt":6,"_id":380,"_rev":8,"_type":9,"_updatedAt":6,"slug":806,"title":383},{"current":382},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":808,"title":12},{"current":12},{"_createdAt":6,"_id":600,"_rev":8,"_type":9,"_updatedAt":6,"slug":810,"title":603},{"current":602},{"_createdAt":6,"_id":600,"_rev":8,"_type":9,"_updatedAt":6,"slug":812,"title":603},{"current":602},{"_createdAt":6,"_id":651,"_rev":8,"_type":9,"_updatedAt":6,"slug":814,"title":653},{"current":653},{"_createdAt":6,"_id":816,"_rev":8,"_type":9,"_updatedAt":6,"slug":817,"title":818},"wp-tagcat-programming",{"current":818},"programming","Practical Ways to Write Better JavaScript",{"_id":821,"author":822,"commentCount":829,"comments":30,"excerpt":711,"featureTag":10,"image":830,"publishedAt":833,"slug":834,"sponsored":10,"tags":836,"title":851},"wp-post-8834",[823],{"_id":824,"avatar":825,"name":826,"role":10,"slug":827},"wp-author-176",{"_type":20},"Ian Allen",{"current":828},"iallen",135,{"_type":20,"asset":831},{"_ref":832,"_type":23},"image-5db9e9757f6c25a508e0efbfc7c1356377656cea-1920x1080-png","2018-01-11T14:00:04.000Z",{"current":835},"brutal-lifecycle-javascript-frameworks",[837,842,847,849],{"_createdAt":6,"_id":838,"_rev":8,"_type":9,"_updatedAt":6,"slug":839,"title":841},"wp-tagcat-engineering",{"current":840},"engineering","Engineering",{"_createdAt":6,"_id":843,"_rev":8,"_type":9,"_updatedAt":6,"slug":844,"title":846},"wp-tagcat-insights",{"current":845},"insights","Insights",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":848,"title":12},{"current":12},{"_createdAt":6,"_id":463,"_rev":8,"_type":9,"_updatedAt":6,"slug":850,"title":465},{"current":465},"The Brutal Lifecycle of JavaScript Frameworks",[]]