[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-DuwK0YKdR9YQC9p_x8iVTpVeNb6krJeLLOnvnX_yzfg":3,"sanity-_v2VMhfi92wZXoIy-0P1h5Qwav6SGzWm9Yj0CrIk2Iw":478},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":453},[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":72,"comments":425,"dateUrl":426,"excerpt":427,"image":428,"legacyBody":431,"product":12,"publishedAt":434,"slug":435,"sponsored":12,"tags":437,"title":452,"visible":425},"2023-05-24T12:51:03Z","wp-post-21117","9HpbCsT2tq0xwozQfkgSb1","blogPost","2023-07-13T14:56:31Z",[46,61],{"_createdAt":47,"_id":48,"_rev":49,"_type":50,"_updatedAt":51,"avatar":52,"employee":57,"name":58,"slug":59},"2023-05-23T16:27:18Z","wp-author-226","dgl3SCUzppW3U2LvCoOzcS","blogAuthor","2023-06-20T15:05:06Z",{"_type":53,"asset":54},"image",{"_ref":55,"_type":56},"image-56688f6337dd0a96034dfc998cdecc7810597d81-1024x1024-png","reference","current","Ryan Donovan",{"current":60},"rdonovan",{"_createdAt":47,"_id":62,"_rev":63,"_type":50,"_updatedAt":64,"avatar":65,"employee":68,"name":69,"slug":70},"wp-author-227","dgl3SCUzppW3U2LvCoP35A","2023-06-20T15:05:08Z",{"_type":53,"asset":66},{"_ref":67,"_type":56},"image-5df3158468f42b2e40ed766d70ce0ad6d5746955-1024x1024-jpg","none","Cassidy Williams",{"current":71},"cwilliams",[73,95,104,129,150,171,192,214,222,244,266,288,310,318,340,362,384,406],{"_key":74,"_type":75,"children":76,"markDefs":90,"style":94},"8201a4b3fb56","block",[77,82,86],{"_key":78,"_type":79,"marks":80,"text":81},"8201a4b3fb560","span",[],"Welcome to ISSUE #151 of The Overflow! This newsletter is by developers, for developers, written and curated by the Stack Overflow team and ",{"_key":83,"_type":79,"marks":84,"text":69},"8201a4b3fb561",[85],"70ee04ff5a0b",{"_key":87,"_type":79,"marks":88,"text":89},"8201a4b3fb562",[],". This week: behold the battle of the cross-platform frameworks, tremble at the engineers willing to sacrifice their nights and weekends for a chance at a 1% bonus, and marvel at the fantastic origin story of the telephone ring!",[91],{"_key":85,"_type":92,"href":93,"reference":12},"link","https:\u002F\u002Fitr-links.stackoverflow.email\u002Fu\u002Fclick?_t=3603a3d8f3104ca5bd7015a5845f7fb7&_m=EoL62DB0PIGuXz8jH5uBuQ84lXlHlps2&_e=_QiVw4xkxL6Kq_I-OU4afBnKfI77FjoIfX88HTVRZxPuTd2bnAMrrH9rcbsb0dWeVEF1qnpHf4xYVNc9DjG8B3SxoCwGD7YNwE1j5XUlAoVN5IWubZGRkJQZDmmaOZBv48jI4i91xWdFCil-LQ1NSRFjmqF5DoNWqj0-C-Jd-e6BG04-YOMtUtGjjvW4FlO4SiDdPs_9w2phRLlieyDSowbBJXd8neaip9JCBAeEhORiLVYGsioAE1W0vQlkjGKF","normal",{"_key":96,"_type":75,"children":97,"markDefs":102,"style":103},"0ddfdf82c35f",[98],{"_key":99,"_type":79,"marks":100,"text":101},"0ddfdf82c35f0",[],"From the blog",[],"h2",{"_key":105,"_type":75,"children":106,"markDefs":126,"style":94},"d50f795bef98",[107,113,117,122],{"_key":108,"_type":79,"marks":109,"text":112},"d50f795bef980",[110,111],"dad6a6209c4d","strong","Flutter vs. React Native: Which is the right cross-platform framework for you?",{"_key":114,"_type":79,"marks":115,"text":116},"d50f795bef981",[]," ",{"_key":118,"_type":79,"marks":119,"text":121},"d50f795bef982",[120],"em","stackoverflow.blog",{"_key":123,"_type":79,"marks":124,"text":125},"d50f795bef983",[],"\nBuilding traditional native apps often requires maintaining two or more codebases. Let’s look at two frameworks that let you keep your code unified.",[127],{"_key":110,"_type":92,"href":128,"reference":12},"https:\u002F\u002Fstackoverflow.blog\u002F2022\u002F10\u002F31\u002Fcomparing-frameworks-for-cross-platform-apps-flutter-vs-react-native\u002F?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":130,"_type":75,"children":131,"markDefs":147,"style":94},"919e321fd82e",[132,137,140,143],{"_key":133,"_type":79,"marks":134,"text":136},"919e321fd82e0",[135,111],"3604754c8c8b","Stop requiring only one assertion per unit test: Multiple assertions are fine",{"_key":138,"_type":79,"marks":139,"text":116},"919e321fd82e1",[],{"_key":141,"_type":79,"marks":142,"text":121},"919e321fd82e2",[120],{"_key":144,"_type":79,"marks":145,"text":146},"919e321fd82e3",[],"\nOne test case, not one test assertion.",[148],{"_key":135,"_type":92,"href":149,"reference":12},"https:\u002F\u002Fstackoverflow.blog\u002F2022\u002F11\u002F03\u002Fmultiple-assertions-per-test-are-fine\u002F?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":151,"_type":75,"children":152,"markDefs":168,"style":94},"0ac57ee1b7b2",[153,158,161,164],{"_key":154,"_type":79,"marks":155,"text":157},"0ac57ee1b7b20",[156,111],"7a6d22ec1602","Making location easier for developers with new data primitives",{"_key":159,"_type":79,"marks":160,"text":116},"0ac57ee1b7b21",[],{"_key":162,"_type":79,"marks":163,"text":121},"0ac57ee1b7b22",[120],{"_key":165,"_type":79,"marks":166,"text":167},"0ac57ee1b7b23",[],"\nThe Foursquare app started out as a tool for people to check into places. That location data ended up becoming valuable for developers.",[169],{"_key":156,"_type":92,"href":170,"reference":12},"https:\u002F\u002Fstackoverflow.blog\u002F2022\u002F11\u002F02\u002Fmaking-location-easier-for-developers-with-new-data-primitives\u002F?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":172,"_type":75,"children":173,"markDefs":189,"style":94},"b12545d5e45c",[174,179,182,185],{"_key":175,"_type":79,"marks":176,"text":178},"b12545d5e45c0",[177,111],"9b2758e09ef2","DIY mad science...it’s all about homelabbing",{"_key":180,"_type":79,"marks":181,"text":116},"b12545d5e45c1",[],{"_key":183,"_type":79,"marks":184,"text":121},"b12545d5e45c2",[120],{"_key":186,"_type":79,"marks":187,"text":188},"b12545d5e45c3",[],"\nLevel up your WFH game with interesting (monetizable) project ideas.",[190],{"_key":177,"_type":92,"href":191,"reference":12},"https:\u002F\u002Fstackoverflow.blog\u002F2022\u002F11\u002F01\u002Fhomelabbbing-jj-asghar\u002F?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":193,"_type":75,"children":194,"markDefs":211,"style":94},"053513a848cd",[195,200,203,207],{"_key":196,"_type":79,"marks":197,"text":199},"053513a848cd0",[198,111],"2212f3c4aeb8","A Beginner’s Guide to Getting Started in DevOps",{"_key":201,"_type":79,"marks":202,"text":116},"053513a848cd1",[],{"_key":204,"_type":79,"marks":205,"text":206},"053513a848cd2",[120],"promotion",{"_key":208,"_type":79,"marks":209,"text":210},"053513a848cd3",[],"\nGet practical information about what DevOps is and how a collaborative culture will benefit your work and company. GitLab’s detailed list of resources and real-world examples provides you opportunities for continuous learning.",[212],{"_key":198,"_type":92,"href":213,"reference":12},"https:\u002F\u002Fpage.gitlab.com\u002Fresources-ebook-beginners-guide-devops.html?utm_medium=sponsorship&utm_source=stackoverflow&utm_campaign=20221109stackoverflownewsletter_global_pr_newsletter_x_x_&utm_content=ebook-beginners-guide-devops_digital_x-pr_english_",{"_key":215,"_type":75,"children":216,"markDefs":221,"style":103},"caa2607d87f5",[217],{"_key":218,"_type":79,"marks":219,"text":220},"caa2607d87f50",[],"Interesting questions",[],{"_key":223,"_type":75,"children":224,"markDefs":241,"style":94},"048a2aefe948",[225,230,233,237],{"_key":226,"_type":79,"marks":227,"text":229},"048a2aefe9480",[228,111],"7c12b09ff6d2","Why is proving something is NP-complete useful, and where can I use it?",{"_key":231,"_type":79,"marks":232,"text":116},"048a2aefe9481",[],{"_key":234,"_type":79,"marks":235,"text":236},"048a2aefe9482",[120],"cs.stackexchange.com",{"_key":238,"_type":79,"marks":239,"text":240},"048a2aefe9483",[],"\nIt means that nobody can get mad at you when you don’t find an efficient solution.",[242],{"_key":228,"_type":92,"href":243,"reference":12},"https:\u002F\u002Fcs.stackexchange.com\u002Fquestions\u002F155088\u002Fwhy-is-proving-something-is-np-complete-useful-and-where-can-i-use-it?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":245,"_type":75,"children":246,"markDefs":263,"style":94},"53cf49ae72bf",[247,252,255,259],{"_key":248,"_type":79,"marks":249,"text":251},"53cf49ae72bf0",[250,111],"51cb0570a0c3","Non-anthropic, universal units of time for active SETI",{"_key":253,"_type":79,"marks":254,"text":116},"53cf49ae72bf1",[],{"_key":256,"_type":79,"marks":257,"text":258},"53cf49ae72bf2",[120],"astronomy.stackexchange.com",{"_key":260,"_type":79,"marks":261,"text":262},"53cf49ae72bf3",[],"\nIf you think providing providing project estimates is tough now, just wait until our alien overlords get here.",[264],{"_key":250,"_type":92,"href":265,"reference":12},"https:\u002F\u002Fastronomy.stackexchange.com\u002Fquestions\u002F50947\u002Fnon-anthropic-universal-units-of-time-for-active-seti?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":267,"_type":75,"children":268,"markDefs":285,"style":94},"41339315a49d",[269,274,277,281],{"_key":270,"_type":79,"marks":271,"text":273},"41339315a49d0",[272,111],"628bd9ac09cb","What exactly makes a black hole STAY a black hole?",{"_key":275,"_type":79,"marks":276,"text":116},"41339315a49d1",[],{"_key":278,"_type":79,"marks":279,"text":280},"41339315a49d2",[120],"physics.stackexchange.com",{"_key":282,"_type":79,"marks":283,"text":284},"41339315a49d3",[],"\nIt’s not the size of the hole, it’s the compaction of the action.",[286],{"_key":272,"_type":92,"href":287,"reference":12},"https:\u002F\u002Fphysics.stackexchange.com\u002Fquestions\u002F734825\u002Fwhat-exactly-makes-a-black-hole-stay-a-black-hole?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":289,"_type":75,"children":290,"markDefs":307,"style":94},"ccdfc6fec19e",[291,296,299,303],{"_key":292,"_type":79,"marks":293,"text":295},"ccdfc6fec19e0",[294,111],"e96eaac30c31","Some coworkers are committing to work overtime for a 1% bonus. How can I best opt out of this?",{"_key":297,"_type":79,"marks":298,"text":116},"ccdfc6fec19e1",[],{"_key":300,"_type":79,"marks":301,"text":302},"ccdfc6fec19e2",[120],"workplace.stackexchange.com",{"_key":304,"_type":79,"marks":305,"text":306},"ccdfc6fec19e3",[],"\nHow much is ruining your holidays worth to you?",[308],{"_key":294,"_type":92,"href":309,"reference":12},"https:\u002F\u002Fworkplace.stackexchange.com\u002Fquestions\u002F188309\u002Fsome-coworkers-are-committing-to-work-overtime-for-a-1-bonus-how-can-i-best-op?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":311,"_type":75,"children":312,"markDefs":317,"style":103},"28caf842d415",[313],{"_key":314,"_type":79,"marks":315,"text":316},"28caf842d4150",[],"Links from around the web",[],{"_key":319,"_type":75,"children":320,"markDefs":337,"style":94},"30d69e5d3dcd",[321,326,329,333],{"_key":322,"_type":79,"marks":323,"text":325},"30d69e5d3dcd0",[324,111],"4994aa271665","Shell script best practices",{"_key":327,"_type":79,"marks":328,"text":116},"30d69e5d3dcd1",[],{"_key":330,"_type":79,"marks":331,"text":332},"30d69e5d3dcd2",[120],"sharats.me",{"_key":334,"_type":79,"marks":335,"text":336},"30d69e5d3dcd3",[],"\nThese might be heavily opinionated practices, but the reasoning behind them are solid.",[338],{"_key":324,"_type":92,"href":339,"reference":12},"https:\u002F\u002Fsharats.me\u002Fposts\u002Fshell-script-best-practices\u002F",{"_key":341,"_type":75,"children":342,"markDefs":359,"style":94},"99d55a43d146",[343,348,351,355],{"_key":344,"_type":79,"marks":345,"text":347},"99d55a43d1460",[346,111],"1ad5cff77d23","How does telephone ringing work?",{"_key":349,"_type":79,"marks":350,"text":116},"99d55a43d1461",[],{"_key":352,"_type":79,"marks":353,"text":354},"99d55a43d1462",[120],"www.youtube.com",{"_key":356,"_type":79,"marks":357,"text":358},"99d55a43d1463",[],"\nHave you ever considered why a phone rings the way it does? How that sound works, and how it has since their beginning? This series is a really fun deep dive into the history and science of phone ringing!",[360],{"_key":346,"_type":92,"href":361,"reference":12},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=dqKFS1p1ivo&list=PLm8mbrpAteNnbFFPI4kyxQwquHJ-eDoDh",{"_key":363,"_type":75,"children":364,"markDefs":381,"style":94},"33a0b3d59c0c",[365,370,373,377],{"_key":366,"_type":79,"marks":367,"text":369},"33a0b3d59c0c0",[368,111],"60a8b4ee1b22","Typographic hierarchies",{"_key":371,"_type":79,"marks":372,"text":116},"33a0b3d59c0c1",[],{"_key":374,"_type":79,"marks":375,"text":376},"33a0b3d59c0c2",[120],"www.smashingmagazine.com",{"_key":378,"_type":79,"marks":379,"text":380},"33a0b3d59c0c3",[],"\nTypography is important not only for understanding content organization, but also for accessibility.",[382],{"_key":368,"_type":92,"href":383,"reference":12},"https:\u002F\u002Fwww.smashingmagazine.com\u002F2022\u002F10\u002Ftypographic-hierarchies\u002F",{"_key":385,"_type":75,"children":386,"markDefs":403,"style":94},"1074e6f49ead",[387,392,395,399],{"_key":388,"_type":79,"marks":389,"text":391},"1074e6f49ead0",[390,111],"38794e401822","Why do domain names sometimes end with a dot?",{"_key":393,"_type":79,"marks":394,"text":116},"1074e6f49ead1",[],{"_key":396,"_type":79,"marks":397,"text":398},"1074e6f49ead2",[120],"jvns.ca",{"_key":400,"_type":79,"marks":401,"text":402},"1074e6f49ead3",[],"\nIt’s domain deep dive day! Okay, it’s not, but the alliteration is fun, and the reason why is really interesting.",[404],{"_key":390,"_type":92,"href":405,"reference":12},"https:\u002F\u002Fjvns.ca\u002Fblog\u002F2022\u002F09\u002F12\u002Fwhy-do-domain-names-end-with-a-dot-\u002F",{"_key":407,"_type":75,"children":408,"markDefs":422,"style":94},"aca7267502d6",[409,413,418],{"_key":410,"_type":79,"marks":411,"text":412},"aca7267502d60",[],"A blast from the past: ",{"_key":414,"_type":79,"marks":415,"text":417},"aca7267502d61",[416],"060d142fc8ec","Linters aren't in your way. They're on your side",{"_key":419,"_type":79,"marks":420,"text":421},"aca7267502d62",[],".",[423],{"_key":416,"_type":92,"href":424,"reference":12},"https:\u002F\u002Fstackoverflow.blog\u002F2020\u002F07\u002F20\u002Flinters-arent-in-your-way-theyre-on-your-side\u002F",true,"2022\u002F11\u002F11","Testing the one assertion per test rule, black holes, and shell scripts",{"_type":53,"asset":429},{"_ref":430,"_type":56},"image-8da7e9d31b57e7fc6f486d419ff6f60cb93b1bf5-1200x628-png",{"code":432,"language":433},"\u003C!-- wp:paragraph -->\n\u003Cp>Welcome to ISSUE #151 of The Overflow! This newsletter is by developers, for developers, written and curated by the Stack Overflow team and&nbsp;\u003Ca href=\"https:\u002F\u002Fitr-links.stackoverflow.email\u002Fu\u002Fclick?_t=3603a3d8f3104ca5bd7015a5845f7fb7&amp;_m=EoL62DB0PIGuXz8jH5uBuQ84lXlHlps2&amp;_e=_QiVw4xkxL6Kq_I-OU4afBnKfI77FjoIfX88HTVRZxPuTd2bnAMrrH9rcbsb0dWeVEF1qnpHf4xYVNc9DjG8B3SxoCwGD7YNwE1j5XUlAoVN5IWubZGRkJQZDmmaOZBv48jI4i91xWdFCil-LQ1NSRFjmqF5DoNWqj0-C-Jd-e6BG04-YOMtUtGjjvW4FlO4SiDdPs_9w2phRLlieyDSowbBJXd8neaip9JCBAeEhORiLVYGsioAE1W0vQlkjGKF\">Cassidy Williams\u003C\u002Fa>. This week: behold the battle of the cross-platform frameworks, tremble at the engineers willing to sacrifice their nights and weekends for a chance at a 1% bonus, and marvel at the fantastic origin story of the telephone ring!\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-from-the-blog\">From the blog\u003C\u002Fh2>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fstackoverflow.blog\u002F2022\u002F10\u002F31\u002Fcomparing-frameworks-for-cross-platform-apps-flutter-vs-react-native\u002F?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>Flutter vs. React Native: Which is the right cross-platform framework for you?\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>stackoverflow.blog\u003C\u002Fem>\u003Cbr>Building traditional native apps often requires maintaining two or more codebases. Let’s look at two frameworks that let you keep your code unified.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fstackoverflow.blog\u002F2022\u002F11\u002F03\u002Fmultiple-assertions-per-test-are-fine\u002F?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>Stop requiring only one assertion per unit test: Multiple assertions are fine\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>stackoverflow.blog\u003C\u002Fem>\u003Cbr>One test case, not one test assertion.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fstackoverflow.blog\u002F2022\u002F11\u002F02\u002Fmaking-location-easier-for-developers-with-new-data-primitives\u002F?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>Making location easier for developers with new data primitives\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>stackoverflow.blog\u003C\u002Fem>\u003Cbr>The Foursquare app started out as a tool for people to check into places. That location data ended up becoming valuable for developers.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fstackoverflow.blog\u002F2022\u002F11\u002F01\u002Fhomelabbbing-jj-asghar\u002F?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>DIY mad science...it’s all about homelabbing\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>stackoverflow.blog\u003C\u002Fem>\u003Cbr>Level up your WFH game with interesting (monetizable) project ideas.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fpage.gitlab.com\u002Fresources-ebook-beginners-guide-devops.html?utm_medium=sponsorship&amp;utm_source=stackoverflow&amp;utm_campaign=20221109stackoverflownewsletter_global_pr_newsletter_x_x_&amp;utm_content=ebook-beginners-guide-devops_digital_x-pr_english_\">\u003Cstrong>A Beginner’s Guide to Getting Started in DevOps\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>promotion\u003C\u002Fem>\u003Cbr>Get practical information about what DevOps is and how a collaborative culture will benefit your work and company. GitLab’s detailed list of resources and real-world examples provides you opportunities for continuous learning.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-interesting-questions\">Interesting questions\u003C\u002Fh2>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fcs.stackexchange.com\u002Fquestions\u002F155088\u002Fwhy-is-proving-something-is-np-complete-useful-and-where-can-i-use-it?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>Why is proving something is NP-complete useful, and where can I use it?\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>cs.stackexchange.com\u003C\u002Fem>\u003Cbr>It means that nobody can get mad at you when you don’t find an efficient solution.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fastronomy.stackexchange.com\u002Fquestions\u002F50947\u002Fnon-anthropic-universal-units-of-time-for-active-seti?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>Non-anthropic, universal units of time for active SETI\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>astronomy.stackexchange.com\u003C\u002Fem>\u003Cbr>If you think providing providing project estimates is tough now, just wait until our alien overlords get here.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fphysics.stackexchange.com\u002Fquestions\u002F734825\u002Fwhat-exactly-makes-a-black-hole-stay-a-black-hole?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>What exactly makes a black hole STAY a black hole?\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>physics.stackexchange.com\u003C\u002Fem>\u003Cbr>It’s not the size of the hole, it’s the compaction of the action.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fworkplace.stackexchange.com\u002Fquestions\u002F188309\u002Fsome-coworkers-are-committing-to-work-overtime-for-a-1-bonus-how-can-i-best-op?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>Some coworkers are committing to work overtime for a 1% bonus. How can I best opt out of this?\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>workplace.stackexchange.com\u003C\u002Fem>\u003Cbr>How much is ruining your holidays worth to you?\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-links-from-around-the-web\">Links from around the web\u003C\u002Fh2>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fsharats.me\u002Fposts\u002Fshell-script-best-practices\u002F\">\u003Cstrong>Shell script best practices\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>sharats.me\u003C\u002Fem>\u003Cbr>These might be heavily opinionated practices, but the reasoning behind them are solid.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=dqKFS1p1ivo&amp;list=PLm8mbrpAteNnbFFPI4kyxQwquHJ-eDoDh\">\u003Cstrong>How does telephone ringing work?&nbsp;\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>www.youtube.com\u003C\u002Fem>\u003Cbr>Have you ever considered why a phone rings the way it does? How that sound works, and how it has since their beginning? This series is a really fun deep dive into the history and science of phone ringing!\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.smashingmagazine.com\u002F2022\u002F10\u002Ftypographic-hierarchies\u002F\">\u003Cstrong>Typographic hierarchies\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>www.smashingmagazine.com\u003C\u002Fem>\u003Cbr>Typography is important not only for understanding content organization, but also for accessibility.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fjvns.ca\u002Fblog\u002F2022\u002F09\u002F12\u002Fwhy-do-domain-names-end-with-a-dot-\u002F\">\u003Cstrong>Why do domain names sometimes end with a dot?&nbsp;\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>jvns.ca\u003C\u002Fem>\u003Cbr>It’s domain deep dive day! Okay, it’s not, but the alliteration is fun, and the reason why is really interesting.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>A blast from the past:&nbsp;\u003Ca href=\"https:\u002F\u002Fstackoverflow.blog\u002F2020\u002F07\u002F20\u002Flinters-arent-in-your-way-theyre-on-your-side\u002F\">Linters aren't in your way. They're on your side\u003C\u002Fa>.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->","html","2022-11-11T14:03:00.000Z",{"current":436},"the-overflow-151-diy-mad-science",[438,445,450],{"_createdAt":439,"_id":440,"_rev":441,"_type":442,"_updatedAt":439,"slug":443,"title":444},"2023-05-23T16:43:21Z","wp-tagcat-newsletter","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":444},"newsletter",{"_createdAt":439,"_id":446,"_rev":441,"_type":442,"_updatedAt":439,"slug":447,"title":449},"wp-tagcat-the-overflow",{"current":448},"the-overflow","the overflow",{"_createdAt":439,"_id":440,"_rev":441,"_type":442,"_updatedAt":439,"slug":451,"title":444},{"current":444},"The Overflow #151: DIY mad science ",[454,460,466,472],{"_id":455,"publishedAt":456,"slug":457,"sponsored":12,"title":459},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":458},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":461,"publishedAt":462,"slug":463,"sponsored":12,"title":465},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":464},"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":467,"publishedAt":468,"slug":469,"sponsored":12,"title":471},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":470},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"_id":473,"publishedAt":474,"slug":475,"sponsored":12,"title":477},"30b995f7-7cb9-4dd8-bf71-d0685940a32b","2026-06-19T14:00:00.000Z",{"_type":10,"current":476},"dispatches-from-o-reilly-from-capabilities-to-responsibilities","Dispatches from O'Reilly: From capabilities to responsibilities",{"data":479,"sourceMap":-1},{"count":480,"lastTimestamp":12},0]