7 comments

  • JohnMakin4 hours ago
    Am reminded reading this of an esteemed and since passed away colleague who had written windows driver code since the dos days and may have had decades of insanely archaic knowledge die with him - when working on a difficult piece of windows driver code years ago, he said to me in a thick eastern europe accent as best i can remember “you make the primary mistake of thinking anything in windows makes sense. once you abandon this bias, you may someday hope to get where i am”
    • caporaltito27 minutes ago
      We all knew this kind of guys. Bless them
  • techwizrd2 hours ago
    This seems adjacent to Chesterton&#x27;s Fence, though maybe not the canonical form of it.<p>For anyone not familiar with the term, Chesterton&#x27;s Fence is the idea that you should understand why a rule exists before trying to remove it or work around it: <a href="https:&#x2F;&#x2F;fs.blog&#x2F;chestertons-fence&#x2F;" rel="nofollow">https:&#x2F;&#x2F;fs.blog&#x2F;chestertons-fence&#x2F;</a><p>Here the issue is not that the rule was removed, but that the code followed the wording while missing the reason the rule existed.
    • zellyn2 minutes ago
      Came here to say this. How can you write an entire article about Chesterton’s Fence without mentioning Chesterton’s Fence?!
    • keybored1 hour ago
      HN will find a fence and say “I know this one, we must be conservative about messing with this fence”. Then they will implant LLM chips in the animals inside the enclosure.<p>They <i>why</i> behind conservative principles didn’t penetrate deep enough.
  • cbondurant30 minutes ago
    I feel like a lot of documentation falls into this kind of style, where the motivation behind design is not communicated, just the design itself. Sometimes it&#x27;s because the documentation writer doesn&#x27;t want to leak internal details to the end user (closed source libraries are an especially bad source of this). Sometimes it&#x27;s that the writer is too close to the project, and is struck by the curse of knowledge (can&#x27;t properly identify which details are actually self-evident, and which are only obvious because they already know them).<p>Another example of why technical writing is difficult, I think.
  • harrouet1 hour ago
    There is this famous experiment with 9 monkeys in a room with a banana attached to the ceiling and a scale.<p>First day, a monkey climbs the scale, gets the banana and is happy.<p>Second day, they start spraying whomever gets on the scale. Monkeys hate this. They learn not to climb.<p>Third day, they take a monkey out and replace with another. The new monkey sees a banana up there and tries climbing the scale. He literally gets beaten out by the others, like &quot;seems like you&#x27;re new here&quot;.<p>Days 4-12, they&#x27;ve replaced one monkey per day, so that no monkey was here when it was possible to get the banana. None of them have ever been sprayed either. Still, they enforce the rule not to climb up there.<p>I am putting this example because in our society as well, there are many rules that are enforced without anyone questioning the &quot;why&quot;. Yet the &quot;why&quot; is often more important to know than the rule itself.<p>Designers know this dichotomy between the &quot;why&quot; and the &quot;how&quot;. Most people don&#x27;t.
    • bluGill26 minutes ago
      I&#x27;ve heard that story. I&#x27;ve yet to see evidence it actually happened though. I don&#x27;t the experiment with pass a modern ethics panel either.
      • iliveinberlin8 minutes ago
        parables that didn&#x27;t happen can still be useful
  • nottorp22 minutes ago
    How many of these winapi callbacks should have been just messages?
  • OneManHorde4 hours ago
    Microsoft is so broken that an employee finds it easier to write a blog post about a documentation improvement than simply making that improvement? Explains a lot. &quot;Conway&#x27;s Flaw?&quot;
    • bombcar1 hour ago
      Raymond&#x27;s important and high up enough that he probably only needs the approval of three AIs and five managers to publish a blog - updating documentation likely needs twice that.
    • throawayonthe4 hours ago
      the blog says the documentation improvement was made in 2020? presumably not by the post author either
      • pwagland1 hour ago
        From the article:<p>&gt; The documentation should open with something like this:<p>&gt;&gt; The callback function must perform its work quickly without blocking. If you need to do complex work or synchronize with other threads or processes, do the work asynchronously, such as by using System Worker Threads.<p>A change was made, but not the change that Raymond thinks would explain why the list is there anyway.
    • sebastianmestre1 hour ago
      He used his blog to queue the work to be executed asynchronously by another MS worker that reads it
      • pwagland1 hour ago
        And, since he isn&#x27;t waiting on the reply, he is following the rule for the callback.
    • chadgpt33 hours ago
      Always been that way
  • ElenaDaibunny3 hours ago
    of course they had to add dont wait for your worker thread in 2020