[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-q9syzDrt_d6V7LcECitfhfwBoJlaGCMLXjI6U6mJlzc":3,"sanity-ViC3-dYFBYaIb3AfVElmfmI7dfD7Hwf6I1hTHLlzJKY":490},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":465},[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":437,"dateUrl":438,"excerpt":439,"image":440,"legacyBody":443,"product":12,"publishedAt":446,"slug":447,"sponsored":12,"tags":449,"title":464,"visible":437},"2023-05-25T09:39:18Z","wp-post-17846","9HpbCsT2tq0xwozQfkgDvL","blogPost","2023-07-13T14:55:57Z",[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,106,115,140,161,182,204,212,234,256,278,300,308,330,352,374,396,418],{"_key":74,"_type":75,"children":76,"markDefs":99,"style":105},"fbae928bc07c","block",[77,82,86,90,95],{"_key":78,"_type":79,"marks":80,"text":81},"fbae928bc07c0","span",[],"Welcome to ISSUE #69 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},"fbae928bc07c1",[85],"4f1e71421419",{"_key":87,"_type":79,"marks":88,"text":89},"fbae928bc07c2",[]," at ",{"_key":91,"_type":79,"marks":92,"text":94},"fbae928bc07c3",[93],"0c4d19d67e85","Netlify",{"_key":96,"_type":79,"marks":97,"text":98},"fbae928bc07c4",[],". Our menu this week: branch out with Git, fade to black in old video games, and prevent code injection in JavaScript and Node.",[100,103],{"_key":85,"_type":101,"href":102,"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",{"_key":93,"_type":101,"href":104,"reference":12},"https:\u002F\u002Fitr-links.stackoverflow.email\u002Fu\u002Fclick?_t=3603a3d8f3104ca5bd7015a5845f7fb7&_m=EoL62DB0PIGuXz8jH5uBuQ84lXlHlps2&_e=_QiVw4xkxL6Kq_I-OU4afOZOM0oCqsuuy0jKIrvb1QwkHWIZOMWNPCK6iuSTMOLeVDuTWeKOcbbyBczybLGtoNQkE84uGWTIEgGhFcxEULL45YJLR4857Ii-0ehWwRpRtjVPtwUxxOtY9-B2oCRv3dmx-KEES0t57P4_TNE4xFT-W5TGiXBreKWRyHfSL-Ozr796X8rmwbKE4P01pm8iSRIwfptm3apXxzvS_usQlDNLQGeGDgkjk55n1OBtvYt6oHij-wFSi5PdDR16hvrYr7E3MKhupgD-zGOVEWxRdxJ-RcBKrj9bAExDUmk948bZeThbs8xuJpwrwNDQkq5QPw%3D%3D","normal",{"_key":107,"_type":75,"children":108,"markDefs":113,"style":114},"ef3dd88f49b1",[109],{"_key":110,"_type":79,"marks":111,"text":112},"ef3dd88f49b10",[],"From the blog",[],"h2",{"_key":116,"_type":75,"children":117,"markDefs":137,"style":105},"ac3e400249e3",[118,124,128,133],{"_key":119,"_type":79,"marks":120,"text":123},"ac3e400249e30",[121,122],"3f062a2f45a7","strong","A look under the hood: how branches work in Git",{"_key":125,"_type":79,"marks":126,"text":127},"ac3e400249e31",[]," ",{"_key":129,"_type":79,"marks":130,"text":132},"ac3e400249e32",[131],"em","stackoverflow.blog",{"_key":134,"_type":79,"marks":135,"text":136},"ac3e400249e33",[],"\nGit branches allow you to keep different versions of your code cleanly separated. Here’s a look at how they work and why you should know about them.",[138],{"_key":121,"_type":101,"href":139,"reference":12},"https:\u002F\u002Fstackoverflow.blog\u002F2021\u002F04\u002F05\u002Fa-look-under-the-hood-how-branches-work-in-git\u002F?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":141,"_type":75,"children":142,"markDefs":158,"style":105},"208251a325c9",[143,148,151,154],{"_key":144,"_type":79,"marks":145,"text":147},"208251a325c90",[146,122],"020abf88bb46","What international tech recruitment looks like post-COVID-19",{"_key":149,"_type":79,"marks":150,"text":127},"208251a325c91",[],{"_key":152,"_type":79,"marks":153,"text":132},"208251a325c92",[131],{"_key":155,"_type":79,"marks":156,"text":157},"208251a325c93",[],"\nThe COVID-19 pandemic changed the way the tech industry works and how talent in the industry is recruited. Because everyone is remote, international recruiting is up, and developers are willing to take more tests online.",[159],{"_key":146,"_type":101,"href":160,"reference":12},"https:\u002F\u002Fstackoverflow.blog\u002F2021\u002F04\u002F07\u002Fwhat-international-tech-recruitment-looks-like-post-covid-19\u002F?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":162,"_type":75,"children":163,"markDefs":179,"style":105},"a3bd89ff79e4",[164,169,172,175],{"_key":165,"_type":79,"marks":166,"text":168},"a3bd89ff79e40",[167,122],"494abe679c46","Podcast 328: For Twilio’s CIO, every internal developer is a customer",{"_key":170,"_type":79,"marks":171,"text":127},"a3bd89ff79e41",[],{"_key":173,"_type":79,"marks":174,"text":132},"a3bd89ff79e42",[131],{"_key":176,"_type":79,"marks":177,"text":178},"a3bd89ff79e43",[],"\nWhen your customer base is your engineering department, you can’t make everyone happy all the time.",[180],{"_key":167,"_type":101,"href":181,"reference":12},"https:\u002F\u002Fstackoverflow.blog\u002F2021\u002F04\u002F09\u002Fpodcast-328-for-twilios-cio-every-internal-developer-is-a-customer\u002F?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":183,"_type":75,"children":184,"markDefs":201,"style":105},"f391edf3b0a8",[185,190,193,197],{"_key":186,"_type":79,"marks":187,"text":189},"f391edf3b0a80",[188,122],"b23824aa2d70","Webinar: Using Infrastructure as Code to scale DevOps",{"_key":191,"_type":79,"marks":192,"text":127},"f391edf3b0a81",[],{"_key":194,"_type":79,"marks":195,"text":196},"f391edf3b0a82",[131],"promotion",{"_key":198,"_type":79,"marks":199,"text":200},"f391edf3b0a83",[],"\nJoin expert presenters from DevOps Institute and AWS to learn how to take a declarative, version-controlled approach to Infrastructure as Code that provides a secure, fast, and repeatable method for deploying and changing infrastructure.",[202],{"_key":188,"_type":101,"href":203,"reference":12},"https:\u002F\u002Fpages.awscloud.com\u002Fawsmp-h2-dev-infrastructure-as-code-for-devops-at-scale.html?trk=el_a134p0000078SMTAA2&trkCampaign=AWSMP_web_dev_mult_IaC-for-devops-at-scale&sc_channel=el&sc_campaign=el_Stack-Overflow_newsletter_Namer&sc_outcome=Marketplace&sc_geo=NAMER&sc_country=US",{"_key":205,"_type":75,"children":206,"markDefs":211,"style":114},"5f853fae8cea",[207],{"_key":208,"_type":79,"marks":209,"text":210},"5f853fae8cea0",[],"Interesting questions",[],{"_key":213,"_type":75,"children":214,"markDefs":231,"style":105},"21bfb36f7b0b",[215,220,223,227],{"_key":216,"_type":79,"marks":217,"text":219},"21bfb36f7b0b0",[218,122],"6f95759163a9","What causes that “organic fade to black” effect in classic video games?",{"_key":221,"_type":79,"marks":222,"text":127},"21bfb36f7b0b1",[],{"_key":224,"_type":79,"marks":225,"text":226},"21bfb36f7b0b2",[131],"retrocomputing.stackexchange.com",{"_key":228,"_type":79,"marks":229,"text":230},"21bfb36f7b0b3",[],"\nNever underestimate the power of a large black rectangle.",[232],{"_key":218,"_type":101,"href":233,"reference":12},"https:\u002F\u002Fretrocomputing.stackexchange.com\u002Fquestions\u002F17559\u002Fwhat-causes-that-organic-fade-to-black-effect-in-classic-video-games?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":235,"_type":75,"children":236,"markDefs":253,"style":105},"8d90c26e1a68",[237,242,245,249],{"_key":238,"_type":79,"marks":239,"text":241},"8d90c26e1a680",[240,122],"524860bc0961","How can I make my class immune to the “auto value = copy of proxy” landmine in C++?",{"_key":243,"_type":79,"marks":244,"text":127},"8d90c26e1a681",[],{"_key":246,"_type":79,"marks":247,"text":248},"8d90c26e1a682",[131],"stackoverflow.com",{"_key":250,"_type":79,"marks":251,"text":252},"8d90c26e1a683",[],"\nOh look, you found a known issue with C++!",[254],{"_key":240,"_type":101,"href":255,"reference":12},"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F66930450\u002Fhow-can-i-make-my-class-immune-to-the-auto-value-copy-of-proxy-landmine-in-c?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":257,"_type":75,"children":258,"markDefs":275,"style":105},"56265e4e4c25",[259,264,267,271],{"_key":260,"_type":79,"marks":261,"text":263},"56265e4e4c250",[262,122],"3bcf20844cd3","If I fork a lib that is MIT \u002F Apache 2.0 dual license, can I change it to CC0 for redistribution?",{"_key":265,"_type":79,"marks":266,"text":127},"56265e4e4c251",[],{"_key":268,"_type":79,"marks":269,"text":270},"56265e4e4c252",[131],"opensource.stackexchange.com",{"_key":272,"_type":79,"marks":273,"text":274},"56265e4e4c253",[],"\nYou can change the code on a fork. Can you change the license?",[276],{"_key":262,"_type":101,"href":277,"reference":12},"https:\u002F\u002Fopensource.stackexchange.com\u002Fquestions\u002F11531\u002Fif-i-fork-a-lib-that-is-mit-apache-2-0-dual-license-can-i-change-it-to-cc0-fo?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":279,"_type":75,"children":280,"markDefs":297,"style":105},"5223a70233ee",[281,286,289,293],{"_key":282,"_type":79,"marks":283,"text":285},"5223a70233ee0",[284,122],"e6e073ae4a3b","Is it really possible to decouple the UI from the business logic?",{"_key":287,"_type":79,"marks":288,"text":127},"5223a70233ee1",[],{"_key":290,"_type":79,"marks":291,"text":292},"5223a70233ee2",[131],"softwareengineering.stackexchange.com",{"_key":294,"_type":79,"marks":295,"text":296},"5223a70233ee3",[],"\nOnion architecture: Do your layers (or lack thereof) make you cry?",[298],{"_key":284,"_type":101,"href":299,"reference":12},"https:\u002F\u002Fsoftwareengineering.stackexchange.com\u002Fquestions\u002F423680\u002Fis-it-really-possible-to-decouple-the-ui-from-the-business-logic?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter",{"_key":301,"_type":75,"children":302,"markDefs":307,"style":114},"d978538feb40",[303],{"_key":304,"_type":79,"marks":305,"text":306},"d978538feb400",[],"Links from around the web",[],{"_key":309,"_type":75,"children":310,"markDefs":327,"style":105},"7466736e227f",[311,316,319,323],{"_key":312,"_type":79,"marks":313,"text":315},"7466736e227f0",[314,122],"8404a29edae5","Five ways to prevent code injection in JavaScript and Node.js",{"_key":317,"_type":79,"marks":318,"text":127},"7466736e227f1",[],{"_key":320,"_type":79,"marks":321,"text":322},"7466736e227f2",[131],"snyk.io",{"_key":324,"_type":79,"marks":325,"text":326},"7466736e227f3",[],"\nHere’s some best practices for keeping your projects safe from code injection.",[328],{"_key":314,"_type":101,"href":329,"reference":12},"https:\u002F\u002Fsnyk.io\u002Fblog\u002F5-ways-to-prevent-code-injection-in-javascript-and-node-js\u002F",{"_key":331,"_type":75,"children":332,"markDefs":349,"style":105},"5f9d7a98a5fc",[333,338,341,345],{"_key":334,"_type":79,"marks":335,"text":337},"5f9d7a98a5fc0",[336,122],"db8ceb7e8d69","Dark mode in five minutes, with inverted lightness variables",{"_key":339,"_type":79,"marks":340,"text":127},"5f9d7a98a5fc1",[],{"_key":342,"_type":79,"marks":343,"text":344},"5f9d7a98a5fc2",[131],"lea.verou.me",{"_key":346,"_type":79,"marks":347,"text":348},"5f9d7a98a5fc3",[],"\nThis is a great article on using HSL colors to make a quick version of dark mode for your sites.",[350],{"_key":336,"_type":101,"href":351,"reference":12},"https:\u002F\u002Flea.verou.me\u002F2021\u002F03\u002Finverted-lightness-variables\u002F",{"_key":353,"_type":75,"children":354,"markDefs":371,"style":105},"d82983351a23",[355,360,363,367],{"_key":356,"_type":79,"marks":357,"text":359},"d82983351a230",[358,122],"90b60d707246","Introduction to Terraform",{"_key":361,"_type":79,"marks":362,"text":127},"d82983351a231",[],{"_key":364,"_type":79,"marks":365,"text":366},"d82983351a232",[131],"dev.to",{"_key":368,"_type":79,"marks":369,"text":370},"d82983351a233",[],"\nTerraform is an open source “infrastructure as code” software tool. What does that mean? Read on and find out!",[372],{"_key":358,"_type":101,"href":373,"reference":12},"https:\u002F\u002Fdev.to\u002Frinkiyakedad\u002Fintroduction-to-terraform-545n",{"_key":375,"_type":75,"children":376,"markDefs":393,"style":105},"823494dccb41",[377,382,385,389],{"_key":378,"_type":79,"marks":379,"text":381},"823494dccb410",[380,122],"512af02b98d3","The Case of string_view and the Magic String – C++ and more!",{"_key":383,"_type":79,"marks":384,"text":127},"823494dccb411",[],{"_key":386,"_type":79,"marks":387,"text":388},"823494dccb412",[131],"blogs.msmvps.com",{"_key":390,"_type":79,"marks":391,"text":392},"823494dccb413",[],"\nIf you’re modernizing some of your C++ code using std::string_view, a subtle bug may be hiding.",[394],{"_key":380,"_type":101,"href":395,"reference":12},"https:\u002F\u002Fblogs.msmvps.com\u002Fgdicanio\u002F2021\u002F03\u002F26\u002Fthe-case-of-string_view-and-the-magic-string\u002F",{"_key":397,"_type":75,"children":398,"markDefs":415,"style":105},"6eda9fb9bc87",[399,404,407,411],{"_key":400,"_type":79,"marks":401,"text":403},"6eda9fb9bc870",[402,122],"86376a2ff33c","Shared engine spaces in the age of mixed reality operating systems",{"_key":405,"_type":79,"marks":406,"text":127},"6eda9fb9bc871",[],{"_key":408,"_type":79,"marks":409,"text":410},"6eda9fb9bc872",[131],"shoreparty.org",{"_key":412,"_type":79,"marks":413,"text":414},"6eda9fb9bc873",[],"\nMixed reality operating systems are becoming more prominent, and so sharing resources has to be done differently. Here’s a look at the deeper problem.",[416],{"_key":402,"_type":101,"href":417,"reference":12},"https:\u002F\u002Fshoreparty.org\u002Fposts\u002Fshared-engine-spaces\u002F",{"_key":419,"_type":75,"children":420,"markDefs":434,"style":105},"8965139a5b9a",[421,425,430],{"_key":422,"_type":79,"marks":423,"text":424},"8965139a5b9a0",[],"Spend less time in Slack. Try ",{"_key":426,"_type":79,"marks":427,"text":429},"8965139a5b9a1",[428],"4978602e3f15","Stack Overflow for Teams",{"_key":431,"_type":79,"marks":432,"text":433},"8965139a5b9a2",[],".",[435],{"_key":428,"_type":101,"href":436,"reference":12},"https:\u002F\u002Fstackoverflow.com\u002Fteams\u002Ftour?utm_source=so-owned&utm_medium=theoverflow&utm_campaign=biz-self-serve&utm_content=sts",true,"2021\u002F04\u002F16","",{"_type":53,"asset":441},{"_ref":442,"_type":56},"image-8da7e9d31b57e7fc6f486d419ff6f60cb93b1bf5-1200x628-png",{"code":444,"language":445},"\u003C!-- wp:paragraph -->\n\u003Cp>Welcome to ISSUE #69 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>&nbsp;at&nbsp;\u003Ca href=\"https:\u002F\u002Fitr-links.stackoverflow.email\u002Fu\u002Fclick?_t=3603a3d8f3104ca5bd7015a5845f7fb7&amp;_m=EoL62DB0PIGuXz8jH5uBuQ84lXlHlps2&amp;_e=_QiVw4xkxL6Kq_I-OU4afOZOM0oCqsuuy0jKIrvb1QwkHWIZOMWNPCK6iuSTMOLeVDuTWeKOcbbyBczybLGtoNQkE84uGWTIEgGhFcxEULL45YJLR4857Ii-0ehWwRpRtjVPtwUxxOtY9-B2oCRv3dmx-KEES0t57P4_TNE4xFT-W5TGiXBreKWRyHfSL-Ozr796X8rmwbKE4P01pm8iSRIwfptm3apXxzvS_usQlDNLQGeGDgkjk55n1OBtvYt6oHij-wFSi5PdDR16hvrYr7E3MKhupgD-zGOVEWxRdxJ-RcBKrj9bAExDUmk948bZeThbs8xuJpwrwNDQkq5QPw%3D%3D\">Netlify\u003C\u002Fa>. Our menu this week: branch out with Git, fade to black in old video games, and prevent code injection in JavaScript and Node.\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\u002F2021\u002F04\u002F05\u002Fa-look-under-the-hood-how-branches-work-in-git\u002F?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>A look under the hood: how branches work in Git\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>stackoverflow.blog\u003C\u002Fem>\u003Cbr>Git branches allow you to keep different versions of your code cleanly separated. Here’s a look at how they work and why you should know about them.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fstackoverflow.blog\u002F2021\u002F04\u002F07\u002Fwhat-international-tech-recruitment-looks-like-post-covid-19\u002F?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>What international tech recruitment looks like post-COVID-19\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>stackoverflow.blog\u003C\u002Fem>\u003Cbr>The COVID-19 pandemic changed the way the tech industry works and how talent in the industry is recruited. Because everyone is remote, international recruiting is up, and developers are willing to take more tests online.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fstackoverflow.blog\u002F2021\u002F04\u002F09\u002Fpodcast-328-for-twilios-cio-every-internal-developer-is-a-customer\u002F?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>Podcast 328: For Twilio’s CIO, every internal developer is a customer\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>stackoverflow.blog\u003C\u002Fem>\u003Cbr>When your customer base is your engineering department, you can’t make everyone happy all the time.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fpages.awscloud.com\u002Fawsmp-h2-dev-infrastructure-as-code-for-devops-at-scale.html?trk=el_a134p0000078SMTAA2&amp;trkCampaign=AWSMP_web_dev_mult_IaC-for-devops-at-scale&amp;sc_channel=el&amp;sc_campaign=el_Stack-Overflow_newsletter_Namer&amp;sc_outcome=Marketplace&amp;sc_geo=NAMER&amp;sc_country=US\">\u003Cstrong>Webinar: Using Infrastructure as Code to scale DevOps\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>promotion\u003C\u002Fem>\u003Cbr>Join expert presenters from DevOps Institute and AWS to learn how to take a declarative, version-controlled approach to Infrastructure as Code that provides a secure, fast, and repeatable method for deploying and changing infrastructure.\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\u002Fretrocomputing.stackexchange.com\u002Fquestions\u002F17559\u002Fwhat-causes-that-organic-fade-to-black-effect-in-classic-video-games?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>What causes that “organic fade to black” effect in classic video games?\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>retrocomputing.stackexchange.com\u003C\u002Fem>\u003Cbr>&nbsp;Never underestimate the power of a large black rectangle.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F66930450\u002Fhow-can-i-make-my-class-immune-to-the-auto-value-copy-of-proxy-landmine-in-c?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>How can I make my class immune to the “auto value = copy of proxy” landmine in C++?&nbsp;\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>stackoverflow.com\u003C\u002Fem>\u003Cbr>Oh look, you found a known issue with C++!\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fopensource.stackexchange.com\u002Fquestions\u002F11531\u002Fif-i-fork-a-lib-that-is-mit-apache-2-0-dual-license-can-i-change-it-to-cc0-fo?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>If I fork a lib that is MIT \u002F Apache 2.0 dual license, can I change it to CC0 for redistribution?\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>opensource.stackexchange.com\u003C\u002Fem>\u003Cbr>You can change the code on a fork. Can you change the license?&nbsp;\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fsoftwareengineering.stackexchange.com\u002Fquestions\u002F423680\u002Fis-it-really-possible-to-decouple-the-ui-from-the-business-logic?utm_source=Iterable&amp;utm_medium=email&amp;utm_campaign=the_overflow_newsletter\">\u003Cstrong>Is it really possible to decouple the UI from the business logic?\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>softwareengineering.stackexchange.com\u003C\u002Fem>\u003Cbr>Onion architecture: Do your layers (or lack thereof) make you cry?\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\u002Fsnyk.io\u002Fblog\u002F5-ways-to-prevent-code-injection-in-javascript-and-node-js\u002F\">\u003Cstrong>Five ways to prevent code injection in JavaScript and Node.js\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>snyk.io\u003C\u002Fem>\u003Cbr>Here’s some best practices for keeping your projects safe from code injection.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Flea.verou.me\u002F2021\u002F03\u002Finverted-lightness-variables\u002F\">\u003Cstrong>Dark mode in five minutes, with inverted lightness variables\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>lea.verou.me\u003C\u002Fem>\u003Cbr>This is a great article on using HSL colors to make a quick version of dark mode for your sites.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdev.to\u002Frinkiyakedad\u002Fintroduction-to-terraform-545n\">\u003Cstrong>Introduction to Terraform\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>dev.to\u003C\u002Fem>\u003Cbr>Terraform is an open source “infrastructure as code” software tool. What does that mean? Read on and find out!\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fblogs.msmvps.com\u002Fgdicanio\u002F2021\u002F03\u002F26\u002Fthe-case-of-string_view-and-the-magic-string\u002F\">\u003Cstrong>The Case of string_view and the Magic String – C++ and more!\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>blogs.msmvps.com\u003C\u002Fem>\u003Cbr>If you’re modernizing some of your C++ code using std::string_view, a subtle bug may be hiding.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fshoreparty.org\u002Fposts\u002Fshared-engine-spaces\u002F\">\u003Cstrong>Shared engine spaces in the age of mixed reality operating systems&nbsp;\u003C\u002Fstrong>\u003C\u002Fa>&nbsp;\u003Cem>shoreparty.org\u003C\u002Fem>\u003Cbr>Mixed reality operating systems are becoming more prominent, and so sharing resources has to be done differently. Here’s a look at the deeper problem.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Spend less time in Slack. Try&nbsp;\u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fteams\u002Ftour?utm_source=so-owned&amp;utm_medium=theoverflow&amp;utm_campaign=biz-self-serve&amp;utm_content=sts\">Stack Overflow for Teams\u003C\u002Fa>.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->","html","2021-04-16T14:39:43.000Z",{"current":448},"the-overflow-69-when-internal-devs-are-your-customers",[450,457,462],{"_createdAt":451,"_id":452,"_rev":453,"_type":454,"_updatedAt":451,"slug":455,"title":456},"2023-05-23T16:43:21Z","wp-tagcat-newsletter","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":456},"newsletter",{"_createdAt":451,"_id":458,"_rev":453,"_type":454,"_updatedAt":451,"slug":459,"title":461},"wp-tagcat-the-overflow",{"current":460},"the-overflow","the overflow",{"_createdAt":451,"_id":452,"_rev":453,"_type":454,"_updatedAt":451,"slug":463,"title":456},{"current":456},"The Overflow #69: When internal devs are your customers",[466,472,478,484],{"_id":467,"publishedAt":468,"slug":469,"sponsored":12,"title":471},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":470},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":473,"publishedAt":474,"slug":475,"sponsored":12,"title":477},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":476},"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":479,"publishedAt":480,"slug":481,"sponsored":12,"title":483},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":482},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"_id":485,"publishedAt":486,"slug":487,"sponsored":12,"title":489},"30b995f7-7cb9-4dd8-bf71-d0685940a32b","2026-06-19T14:00:00.000Z",{"_type":10,"current":488},"dispatches-from-o-reilly-from-capabilities-to-responsibilities","Dispatches from O'Reilly: From capabilities to responsibilities",{"data":491,"sourceMap":-1},{"count":492,"lastTimestamp":12},0]