{"id":105383,"date":"2021-06-30T07:00:00","date_gmt":"2021-06-30T14:00:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/oldnewthing\/?p=105383"},"modified":"2021-06-30T06:40:20","modified_gmt":"2021-06-30T13:40:20","slug":"20210630-00","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20210630-00\/?p=105383","title":{"rendered":"2021 mid-year link clearance"},"content":{"rendered":"<p>It&#8217;s that time again. Another random link drop.<\/p>\n<ul>\n<li>&#8220;My sister and her friends have to give a series of lessons on the geological sciences to a class of primary school kids. So she asked me if I could make a spherical cake with all the layers of the Earth inside it. I told her I couldn&#8217;t do it. &#8216;How do you get a sphere inside a sphere inside a sphere?'&#8221; <a href=\"https:\/\/cakecrumbs.me\/2013\/05\/24\/commission-earth-structural-layer-cake\/\"> Here&#8217;s how you do it<\/a>. Bonus planetary cake: <a href=\"https:\/\/cakecrumbs.me\/2013\/07\/24\/jupiter-structural-layer-cake\/\">Jupiter<\/a>.<\/li>\n<li>Violinist Ray Chen (no relation) has <a href=\"https:\/\/www.youtube.com\/watch?v=stMMdtu9AK8\"> a two-hour chat<\/a> with Alice Sara Ott, one of my current favorite pianists.<\/li>\n<li><a href=\"http:\/\/tom7.org\/lowercase\/\"> Uppestcase and Lowestcase Letters: Advances in Derp Learning<\/a>: Use machine learning to infer how to transform a lowercase letter to an uppercase letter (and vice versa), and then apply the &#8220;convert to uppercase&#8221; function to an already-uppercase letter, thereby producing an upperercase letter. <a href=\"http:\/\/tom7.org\/lowercase\/lowercase.pdf\"> The paper<\/a> is long, but every page is a delight, rewarding you with nerd jokes (Times New Roman devolves to Plus New Roman and then Successor New Roman) or inspired lunacy (using the learning model to do something else\u2014I won&#8217;t spoil the surprise).<\/li>\n<li><a href=\"https:\/\/forums.tigsource.com\/index.php?topic=40832.msg1363742#msg1363742\"> Fullscreen, Round 3<\/a>: Lucas Pope, author of the game <a href=\"https:\/\/en.wikipedia.org\/wiki\/Return_of_the_Obra_Dinn\"> <i>Return of the Obra Dinn<\/i><\/a>, dives deep into how he made the dithering stable as a rock. It is an amazing tour-de-force of graphics that you don&#8217;t even notice until it&#8217;s not there.<\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/oldnewthing\/20160804-00\/?p=94025\"> Former guest blogger<\/a> <a href=\"https:\/\/twitter.com\/kclemson\/\">KC Lemson<\/a> <a href=\"https:\/\/twitter.com\/kclemson\/status\/1364376408156348422\"> found an odd thing on the beach<\/a> labelled &#8220;<span style=\"font-variant: small-caps; text-transform: lowercase;\">HARMLESS WEATHER INSTRUMENT<\/span>.&#8221; <a href=\"https:\/\/twitter.com\/foone\/status\/1365502440200687620?s=21\">foone took it apart<\/a>, of course. You&#8217;ll have to click through to find out if it can run DOOM.<\/li>\n<li>Ford Motor Company has gradually been <a href=\"https:\/\/fordauthority.com\/2021\/03\/2021-ford-mustang-ecoboost-premium-gains-activex-seating\/\"> rolling out<\/a> <a href=\"https:\/\/www.akinsford.com\/blog\/2020-ford-edge-interior-material-color-and-feature-options\/\"> ActiveX Seating<\/a> to more and more of their product line. Go ahead and make up your own joke. My contribution: &#8220;Marked <a href=\"https:\/\/docs.microsoft.com\/en-us\/troubleshoot\/cpp\/mark-mfc-activex-controls-as-safe\"> safe for drifting<\/a>.&#8221;<\/li>\n<li>C# team member <a href=\"https:\/\/twitter.com\/AnsonHorton\/\"> Anson Horton<\/a> tells a story of his membership on an internal C# discussion alias, and <a href=\"https:\/\/twitter.com\/AnsonHorton\/status\/1345361105342746626\"> one particular rude question he received<\/a> and how he handled it. <a href=\"https:\/\/ericlippert.com\/\">Eric Lippert<\/a> expands on the more general topic: <a href=\"https:\/\/ericlippert.com\/2008\/02\/20\/how-to-not-get-a-question-answered\/\"> How not to get a question answered<\/a>.<\/li>\n<li><a href=\"http:\/\/www.tipoweek.com\/\"> Tip o&#8217; the week<\/a> started out as a small internal Microsoft mailing list which turned into a large internal Microsoft mailing list, and now it&#8217;s a blog. As the title suggests, it shares a tip each week.<\/li>\n<li>The <a href=\"https:\/\/msbuildlog.com\">MSBuild Binary and Structured Log Viewer<\/a> provides a more organized way of viewing log files produced by MSBuild.<\/li>\n<li>While you&#8217;re debugging MSBuild, you may want to keep handy <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/msbuild\/msbuild-tasks-specific-to-visual-cpp?view=vs-2019\"> this mapping between MSBuild tasks and the MSVC toolchain<\/a>.<\/li>\n<li>When I discussed <a href=\"https:\/\/channel9.msdn.com\/Blogs\/One-Dev-Minute\/One-Dev-Question-with-Raymond-Chen-Is-There-Code-From-Windows-95-That-Is-Still-In-Windows-10\"> whether there&#8217;s any code from Windows 95 that&#8217;s still in Windows 10<\/a> (<a href=\"https:\/\/youtu.be\/9ht6seLJov4\">YouTube version<\/a>), one of my colleagues noted that his favorite example of this is <a href=\"http:\/\/technet.microsoft.com\/en-us\/ff625273.aspx\"> the EmulateHeap compatibility shim<\/a>, which is a copy\/pasta of the Windows 95 heap manager, for 20-year old programs that can&#8217;t handle anything else.<\/li>\n<li>A twitter thread from user <a href=\"https:\/\/twitter.com\/pwnallthethings\/\">pwnallthethings<\/a> retells <a href=\"https:\/\/twitter.com\/pwnallthethings\/status\/1363266228970811397\"> an oldie-but-goodie app compat story<\/a>.<\/li>\n<li>Th Visual C++ folks have been writing a bit about template metaprogramming and compiler throughput. Here&#8217;s what we have so far:\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/profiling-template-metaprograms-with-cpp-build-insights\/\"> Profiling template metaprograms with C++ Build Insights<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/build-throughput-series-template-metaprogramming-fundamentals\/\"> Build Throughput Series: Template Metaprogramming Fundamentals<\/a>.<\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/build-throughput-series-more-efficient-template-metaprogramming\/\"> Build Throughput Series: More Efficient Template Metaprogramming<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>And the occasional plug for my appearances in other media.<\/p>\n<ul>\n<li><a href=\"https:\/\/cppcast.com\/old-new-thing\/\"> CppCast Episode 289<\/a>, wherein I am the guest of Rob Irving and Jason Turner, and we talk about random things. There&#8217;s also a <a href=\"https:\/\/www.youtube.com\/watch?v=9O2-ULRUpnM\"> moving pictures version<\/a>.<\/li>\n<li><a href=\"https:\/\/aka.ms\/WIPPodcastEp33\"> Windows Insider Podcast: The Start of Something Different (part 1)<\/a>, wherein I chat with Jason Howard about Windows 95 and the early days of application compatibility.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>A collection of stuff that has accumulated.<\/p>\n","protected":false},"author":1069,"featured_media":111744,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[26],"class_list":["post-105383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-other"],"acf":[],"blog_post_summary":"<p>A collection of stuff that has accumulated.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/105383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/users\/1069"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/comments?post=105383"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/105383\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media\/111744"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media?parent=105383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=105383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=105383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}