[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-_SfCouuQJFDE1MtNk_nTD_9k576Bqdt5evt1t-sQSFA":3},{"data":4,"sourceMap":-1},{"info":5,"latest":13,"pinned":429},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"descriptionText":10,"slug":11,"title":12},"2023-05-23T16:43:21Z","wp-tagcat-programming","9HpbCsT2tq0xwozQfkc4ih","blogTag",null,{"current":12},"programming",[14,91,137,180,211,248,290,336,377],{"_id":15,"author":16,"commentCount":28,"comments":29,"excerpt":10,"featureTag":10,"image":10,"publishedAt":30,"slug":31,"sponsored":10,"tags":33,"title":90},"3c902fd7-2d6a-44ce-8b89-e7f08a207edc",[17],{"_id":18,"avatar":19,"name":24,"role":10,"slug":25},"e627398e-ce2a-419b-aebd-0111be1e2411",{"_type":20,"asset":21},"image",{"_ref":22,"_type":23},"image-355a488eb8e0fbe6134d04af99285dc0cac80155-1024x1024-png","reference","Najmul Alam Miraj ",{"_type":26,"current":27},"slug","najmul-alam-miraj",0,true,"2026-05-12T16:20:21.600Z",{"_type":26,"current":32},"building-a-google-drive-sync-engine-that-survives-mv3-service-workers",[34,57,59],{"_createdAt":35,"_id":36,"_rev":37,"_system":38,"_type":9,"_updatedAt":41,"description":42,"slug":54,"title":56},"2025-04-24T16:28:57Z","797b8797-6e65-4723-b53f-8bc005305384","IpfPEqg1c3Byvj9RrB3Xaj",{"base":39},{"id":36,"rev":40},"oc42Nphz1oZNOg9ttSv7Tn","2026-05-07T14:43:30Z",[43],{"_key":44,"_type":45,"children":46,"markDefs":52,"style":53},"bb32f75814b4","block",[47],{"_key":48,"_type":49,"marks":50,"text":51},"dbcf27ef29b3","span",[],"Community-generated articles submitted for your reading pleasure. If you’re interested in seeing your work here, log in with your Stack Overflow account and click the link below. Articles will be licensed under a CC BY-SA 4.0 grant. ",[],"normal",{"_type":26,"current":55},"contributed","The Heap",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":58,"title":12},{"current":12},{"_createdAt":60,"_id":61,"_rev":62,"_system":63,"_type":9,"_updatedAt":66,"description":67,"slug":87,"title":89},"2025-08-08T15:49:22Z","39391cf4-6f9a-4238-8670-c1e44b66db9e","09X6HDzCi2VfMov6gSLf7H",{"base":64},{"id":61,"rev":65},"TdCcmC7LyfLVwjB8GEXoh6","2025-12-10T19:34:33Z",[68,76],{"_key":69,"_type":45,"children":70,"markDefs":75,"style":53},"a4b1a37cbbcc",[71],{"_key":72,"_type":49,"marks":73,"text":74},"d8e8f3e0fd9c",[],"These articles are licensed under a Creative Commons Attribution-ShareAlike 4.0 International license. ",[],{"_key":77,"_type":45,"children":78,"markDefs":84,"style":53},"7effd489c71f",[79],{"_key":80,"_type":49,"marks":81,"text":83},"538808bb5325",[82],"fd643b288690","creativecommons.org\u002Flicenses\u002Fby-sa\u002F4.0\u002Fdeed.en",[85],{"_key":82,"_type":86},"link",{"_type":26,"current":88},"cc-by-sa","CC BY-SA 4.0","Building a Google Drive Sync Engine that Survives MV3 Service Workers",{"_id":92,"author":93,"commentCount":102,"comments":29,"excerpt":103,"featureTag":10,"image":104,"publishedAt":108,"slug":109,"sponsored":10,"tags":111,"title":136},"88aac7db-df06-4854-bb40-77fcd9a0c846",[94],{"_id":95,"avatar":96,"name":99,"role":10,"slug":100},"wp-author-226",{"_type":20,"asset":97},{"_ref":98,"_type":23},"image-56688f6337dd0a96034dfc998cdecc7810597d81-1024x1024-png","Ryan Donovan",{"current":101},"rdonovan",6,"Computer science deals with concurrency, but what about simultaneity?",{"_type":20,"asset":105,"attribution":107},{"_ref":106,"_type":23},"image-42472434c8499992ef12885dd04a9aab6ee4c04b-6000x3150-jpg","Alexandra Francis","2024-12-23T14:31:40.486Z",{"_type":26,"current":110},"can-a-programming-language-implement-time-travel",[112,119,121,128,132],{"_createdAt":113,"_id":114,"_rev":115,"_type":9,"_updatedAt":113,"slug":116,"title":118},"2024-02-12T14:31:57Z","bbc7309a-d72b-4e68-b9a0-1da55f9db383","I2JFaJlmKKIZMkCzMq7gNc",{"_type":26,"current":117},"time-travel","time travel",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":120,"title":12},{"current":12},{"_createdAt":122,"_id":123,"_rev":124,"_type":9,"_updatedAt":122,"slug":125,"title":127},"2024-02-12T14:32:28Z","53789ffd-a446-49fe-b34e-4449a13e4c0b","I2JFaJlmKKIZMkCzMq7ibc",{"_type":26,"current":126},"programming-language","programming language",{"_createdAt":6,"_id":129,"_rev":8,"_type":9,"_updatedAt":6,"slug":130,"title":131},"wp-tagcat-se-tech",{"current":131},"se-tech",{"_createdAt":6,"_id":133,"_rev":8,"_type":9,"_updatedAt":6,"slug":134,"title":135},"wp-tagcat-se-stackoverflow",{"current":135},"se-stackoverflow","Can a programming language implement time travel?",{"_id":138,"author":139,"commentCount":28,"comments":29,"excerpt":149,"featureTag":10,"image":150,"publishedAt":153,"slug":154,"sponsored":10,"tags":156,"title":179},"edb53b43-778c-4084-a07e-12877e6247d1",[140],{"_id":141,"avatar":142,"name":145,"role":146,"slug":147},"wp-author-295",{"_type":20,"asset":143},{"_ref":144,"_type":23},"image-d670f8093b43e483a52ba692d929578633f70eb5-1024x1024-jpg","Eira May","B2B Editor",{"current":148},"emay","Ben and Ryan are joined by Ryan’s former colleague and current backend engineer at Spotify, Omar Delarosa, to talk about time-traveling programming languages, a keyboard that turns an iPhone into a Blackberry, and what it’s like working on everyone’s personal DJ. ",{"_type":20,"asset":151,"attribution":107},{"_ref":152,"_type":23},"image-56c6dab9c7d1b66bc662c5f43ea9573418d94d17-2400x1260-webp","2024-01-19T08:40:00.000Z",{"_type":26,"current":155},"sending-bugs-back-in-time",[157,161,168,170,172,174],{"_createdAt":6,"_id":158,"_rev":8,"_type":9,"_updatedAt":6,"slug":159,"title":160},"wp-tagcat-spotify",{"current":160},"spotify",{"_createdAt":6,"_id":162,"_rev":163,"_type":9,"_updatedAt":164,"slug":165,"title":167},"wp-tagcat-ai","fpDTFQqIDjNJIbHDKPBGpV","2025-01-30T16:19:01Z",{"current":166},"ai","AI",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":169,"title":12},{"current":12},{"_createdAt":6,"_id":129,"_rev":8,"_type":9,"_updatedAt":6,"slug":171,"title":131},{"current":131},{"_createdAt":6,"_id":133,"_rev":8,"_type":9,"_updatedAt":6,"slug":173,"title":135},{"current":135},{"_createdAt":6,"_id":175,"_rev":8,"_type":9,"_updatedAt":6,"slug":176,"title":178},"wp-tagcat-podcast",{"current":177},"podcast","The Stack Overflow Podcast","Sending bugs back in time",{"_id":181,"author":182,"commentCount":28,"comments":29,"excerpt":187,"featureTag":10,"image":188,"publishedAt":191,"slug":192,"sponsored":10,"tags":194,"title":210},"39be7dfa-5b8c-4225-8998-0f694f503ee7",[183],{"_id":95,"avatar":184,"name":99,"role":10,"slug":186},{"_type":20,"asset":185},{"_ref":98,"_type":23},{"current":101},"When all the other languages go one way, time to change direction. ",{"_type":20,"asset":189,"attribution":107},{"_ref":190,"_type":23},"image-2622d3db59fe4cf2b8b20af01a1a03a8cd0cb750-6000x3150-jpg","2023-10-02T14:04:30.604Z",{"_type":26,"current":193},"no-surprises-on-any-system-q-and-a-with-loris-cro-of-zig",[195,202,204],{"_createdAt":196,"_id":197,"_rev":198,"_type":9,"_updatedAt":196,"slug":199,"title":201},"2023-10-02T14:06:51Z","c64cb479-52e4-4a0b-b003-0b73a0ff64a7","4tAdrcKki09QL2z0Yzprbc",{"_type":26,"current":200},"zig","Zig",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":203,"title":12},{"current":12},{"_createdAt":205,"_id":206,"_rev":207,"_type":9,"_updatedAt":205,"slug":208,"title":209},"2023-10-02T14:07:17Z","d1c07e65-8594-40e9-ba9c-5152dbc842cd","LWM5uBNU0GRyeTijwoho5N",{"_type":26,"current":209},"compilers","No surprises on any system: Q&A with Loris Cro of Zig",{"_id":212,"author":213,"commentCount":222,"comments":29,"excerpt":223,"featureTag":10,"image":224,"publishedAt":227,"slug":228,"sponsored":10,"tags":230,"title":247},"wp-post-16563",[214],{"_id":215,"avatar":216,"name":219,"role":10,"slug":220},"wp-author-213",{"_type":20,"asset":217},{"_ref":218,"_type":23},"image-e81c84dcaeb58be1002795a6544b595bd6fc8071-1024x1024-jpg","Ben Popper",{"current":221},"benpopper",3,"When Garry Becks was incarcerated, his wife would hide programming material inside the cover of fiction novels in order to get them through security screenings.",{"_type":20,"asset":225},{"_ref":226,"_type":23},"image-6f6591e18674cee2e570564767f3f8ca14c19158-3000x1575-png","2020-08-28T04:40:00.000Z",{"current":229},"podcast-264-teaching-yourself-to-code-in-prison",[231,235,239,241,245],{"_createdAt":6,"_id":232,"_rev":8,"_type":9,"_updatedAt":6,"slug":233,"title":234},"wp-tagcat-coders",{"current":234},"coders",{"_createdAt":6,"_id":236,"_rev":8,"_type":9,"_updatedAt":6,"slug":237,"title":238},"wp-tagcat-education",{"current":238},"education",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":240,"title":12},{"current":12},{"_createdAt":6,"_id":242,"_rev":8,"_type":9,"_updatedAt":6,"slug":243,"title":244},"wp-tagcat-self-taught",{"current":244},"self-taught",{"_createdAt":6,"_id":175,"_rev":8,"_type":9,"_updatedAt":6,"slug":246,"title":178},{"current":177},"Podcast 264: Teaching yourself to code in prison",{"_id":249,"author":250,"commentCount":259,"comments":29,"excerpt":260,"featureTag":10,"image":261,"publishedAt":264,"slug":265,"sponsored":10,"tags":267,"title":289},"wp-post-14760",[251],{"_id":252,"avatar":253,"name":256,"role":10,"slug":257},"wp-author-260",{"_type":20,"asset":254},{"_ref":255,"_type":23},"image-816cd9a45498697e3be0d18e5404cb7d98897dc5-1024x1024-png","Jake Goulding",{"current":258},"jgoulding",84,"Rust has been Stack Overflow's most loved language for four years in a row, indicating that many of those who have had the opportunity to use Rust have fallen in love with it. However, the roughly 97% of survey respondents who haven't used Rust may wonder, \"What's the deal with Rust?\"",{"_type":20,"asset":262},{"_ref":263,"_type":23},"image-bda51d5fadd42f26418f6819a6da41985ec838fd-2560x1707-jpg","2020-01-20T12:39:00.000Z",{"current":266},"what-is-rust-and-why-is-it-so-popular",[268,273,278,280,284],{"_createdAt":6,"_id":269,"_rev":8,"_type":9,"_updatedAt":6,"slug":270,"title":272},"wp-tagcat-bulletin",{"current":271},"bulletin","Bulletin",{"_createdAt":6,"_id":274,"_rev":8,"_type":9,"_updatedAt":6,"slug":275,"title":277},"wp-tagcat-code-for-a-living",{"current":276},"code-for-a-living","Code for a Living",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":279,"title":12},{"current":12},{"_createdAt":6,"_id":281,"_rev":8,"_type":9,"_updatedAt":6,"slug":282,"title":283},"wp-tagcat-rust",{"current":283},"rust",{"_createdAt":6,"_id":285,"_rev":8,"_type":9,"_updatedAt":6,"slug":286,"title":288},"wp-tagcat-stackoverflow",{"current":287},"stackoverflow","Stackoverflow","What is Rust and why is it so popular?",{"_id":291,"author":292,"commentCount":297,"comments":29,"excerpt":298,"featureTag":10,"image":299,"publishedAt":302,"slug":303,"sponsored":10,"tags":305,"title":335},"wp-post-12600",[293],{"_id":215,"avatar":294,"name":219,"role":10,"slug":296},{"_type":20,"asset":295},{"_ref":218,"_type":23},{"current":221},29,"What inspires someone to become a software developer? Joel Spolsky and Clive Thompson discuss how the culture of coding has evolved over the decades and where they hope it’s headed next.",{"_type":20,"asset":300},{"_ref":301,"_type":23},"image-18eae3b508c90df81756b0cf19a75cd998463186-1920x1080-jpg","2019-09-17T14:39:47.000Z",{"current":304},"joel-spolsky-clive-thompson-discuss-coders-software-programming",[306,308,310,315,317,319,324,329,331,333],{"_createdAt":6,"_id":269,"_rev":8,"_type":9,"_updatedAt":6,"slug":307,"title":272},{"current":271},{"_createdAt":6,"_id":269,"_rev":8,"_type":9,"_updatedAt":6,"slug":309,"title":272},{"current":271},{"_createdAt":6,"_id":311,"_rev":8,"_type":9,"_updatedAt":6,"slug":312,"title":314},"wp-tagcat-clive-thompson",{"current":313},"clive-thompson","clive thompson",{"_createdAt":6,"_id":274,"_rev":8,"_type":9,"_updatedAt":6,"slug":316,"title":277},{"current":276},{"_createdAt":6,"_id":232,"_rev":8,"_type":9,"_updatedAt":6,"slug":318,"title":234},{"current":234},{"_createdAt":6,"_id":320,"_rev":8,"_type":9,"_updatedAt":6,"slug":321,"title":323},"wp-tagcat-culture",{"current":322},"culture","Culture",{"_createdAt":6,"_id":325,"_rev":8,"_type":9,"_updatedAt":6,"slug":326,"title":328},"wp-tagcat-joel-spolsky",{"current":327},"joel-spolsky","joel spolsky",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":330,"title":12},{"current":12},{"_createdAt":6,"_id":285,"_rev":8,"_type":9,"_updatedAt":6,"slug":332,"title":288},{"current":287},{"_createdAt":6,"_id":285,"_rev":8,"_type":9,"_updatedAt":6,"slug":334,"title":288},{"current":287},"Joel Spolsky and Clive Thompson discuss the past, present, and future of coding",{"_id":337,"author":338,"commentCount":347,"comments":29,"excerpt":348,"featureTag":10,"image":349,"publishedAt":352,"slug":353,"sponsored":10,"tags":355,"title":376},"wp-post-12612",[339],{"_id":340,"avatar":341,"name":344,"role":10,"slug":345},"wp-author-228",{"_type":20,"asset":342},{"_ref":343,"_type":23},"image-4035d87115e3b0301fe29f95cc8b23a9e6594d9d-1024x1024-jpg","Ryland Goldstein",{"current":346},"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":350},{"_ref":351,"_type":23},"image-eb9774ecfc0d05e8099ed26ee95a02c283b79b8a-630x450-png","2019-09-12T14:58:46.000Z",{"current":354},"practical-ways-to-write-better-javascript",[356,358,360,362,366,368,370,374],{"_createdAt":6,"_id":269,"_rev":8,"_type":9,"_updatedAt":6,"slug":357,"title":272},{"current":271},{"_createdAt":6,"_id":269,"_rev":8,"_type":9,"_updatedAt":6,"slug":359,"title":272},{"current":271},{"_createdAt":6,"_id":274,"_rev":8,"_type":9,"_updatedAt":6,"slug":361,"title":277},{"current":276},{"_createdAt":6,"_id":363,"_rev":8,"_type":9,"_updatedAt":6,"slug":364,"title":365},"wp-tagcat-javascript",{"current":365},"javascript",{"_createdAt":6,"_id":285,"_rev":8,"_type":9,"_updatedAt":6,"slug":367,"title":288},{"current":287},{"_createdAt":6,"_id":285,"_rev":8,"_type":9,"_updatedAt":6,"slug":369,"title":288},{"current":287},{"_createdAt":6,"_id":371,"_rev":8,"_type":9,"_updatedAt":6,"slug":372,"title":373},"wp-tagcat-typescript",{"current":373},"typescript",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":375,"title":12},{"current":12},"Practical Ways to Write Better JavaScript",{"_id":378,"author":379,"commentCount":388,"comments":29,"excerpt":389,"featureTag":10,"image":390,"publishedAt":393,"slug":394,"sponsored":10,"tags":396,"title":428},"wp-post-12625",[380],{"_id":381,"avatar":382,"name":385,"role":10,"slug":386},"wp-author-225",{"_type":20,"asset":383},{"_ref":384,"_type":23},"image-6b50d301dd962a6ae761cd6a3a0eb79f5e9cc70d-1024x1024-jpg","Max Pekarsky",{"current":387},"maxpekarsky",28,"From Personal Projects To Production Code",{"_type":20,"asset":391},{"_ref":392,"_type":23},"image-eaa9f493910f6cdea4bcb06f81afd3f61dfd1f70-1254x837-jpg","2019-09-05T14:10:56.000Z",{"current":395},"they-didnt-teach-us-this-a-crash-course-for-your-first-job-in-software",[397,401,403,405,410,412,417,422,424,426],{"_createdAt":6,"_id":398,"_rev":8,"_type":9,"_updatedAt":6,"slug":399,"title":400},"wp-tagcat-beginner",{"current":400},"beginner",{"_createdAt":6,"_id":269,"_rev":8,"_type":9,"_updatedAt":6,"slug":402,"title":272},{"current":271},{"_createdAt":6,"_id":269,"_rev":8,"_type":9,"_updatedAt":6,"slug":404,"title":272},{"current":271},{"_createdAt":6,"_id":406,"_rev":8,"_type":9,"_updatedAt":6,"slug":407,"title":409},"wp-tagcat-career-advice",{"current":408},"career-advice","career advice",{"_createdAt":6,"_id":274,"_rev":8,"_type":9,"_updatedAt":6,"slug":411,"title":277},{"current":276},{"_createdAt":6,"_id":413,"_rev":8,"_type":9,"_updatedAt":6,"slug":414,"title":416},"wp-tagcat-first-job",{"current":415},"first-job","first job",{"_createdAt":6,"_id":418,"_rev":8,"_type":9,"_updatedAt":6,"slug":419,"title":421},"wp-tagcat-for-work",{"current":420},"for-work","For Work",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":423,"title":12},{"current":12},{"_createdAt":6,"_id":285,"_rev":8,"_type":9,"_updatedAt":6,"slug":425,"title":288},{"current":287},{"_createdAt":6,"_id":285,"_rev":8,"_type":9,"_updatedAt":6,"slug":427,"title":288},{"current":287},"\"They Didn't Teach Us This\": A Crash Course for Your First Job in Software",[]]