Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    The Old New Thing

    devblogs.microsoft.com/oldnewthing · Company blog · on HN since 2019

    Raymond Chen, a Microsoft engineer, writes about Windows history, API design quirks, and low-level programming.

    Visit blogHN submissions
    ProgrammingSystems & PerformanceHistory
    What HN says

    Commenters call his articles a wealth of tech lore and recommend specific posts, including his analysis of SoftRam and stack probes.

    Stats for nerds
    788HN people shared it
    879linked in comments
    16Kstory points
    Aug 2026last shared
    2024people per year2026

    Top posts on HN

    1. 1
      Be careful with that thing, it's a confidential coffee maker
      6 people · 638 points · first shared 2022 · 204 comments on HN
    2. 2
      A laptop hard drive model could crash when exposed to a certain audio frequency
      14 people · 579 points · first shared 2022 · 79 comments on HN
    3. 3
      The cats sitting on a fence in early builds of Windows 8
      2 people · 545 points · first shared 2022 · 157 comments on HN
    4. 4
      A prank cursor resulted in an employee being fired before they started (2020)
      5 people · 544 points · first shared 2020 · 140 comments on HN
    5. 5
      Why did Windows 7 log on slower for months if you had a solid color background?
      3 people · 512 points · first shared 2025 · 296 comments on HN
    6. 6
      Subroutine calls in the ancient world, before computers had stacks or heaps
      2 people · 484 points · first shared 2024 · 233 comments on HN
    7. 7
      Finding the average of two unsigned integers without overflow
      2 people · 448 points · first shared 2022 · 208 comments on HN
    8. 8
      If you're just going to sit there doing nothing, at least do nothing correctly
      1 person · 432 points · first shared 2024 · 347 comments on HN
    9. 9
      You can't copy code with memcpy
      2 people · 426 points · first shared 2021 · 147 comments on HN
    10. 10
      When you opened a screen shot of a video in Paint, the video was playing in it
      2 people · 414 points · first shared 2025 · 72 comments on HN

    What HN people wrote when they linked it

    • mananaysiempreDec 2025

      As I’ve already said in my initial comment, this is not the whole story. (I acknowledge it is the official story, but I want to say the official story, at best, creatively omits some of the facts.)

      NTVDM as it existed Windows NT (3.1 through 10) for i386 leveraged V86 mode. NTVDM on Windows NT (e.g. 4.0) for MIPS, PowerPC, and Alpha, on the other hand, already had[1] a 16-bit x86 emulator, which was merely ifdefed out of the i386 version (making the latter much leaner).

      Is it fair of Microsoft to not care to resurrect that nearly decade-old code (as of Windows XP x64 when it first became relevant)? Yes. Is it also fair to say that they would not, in fact, need to write a complete emulator from scratch to preserve their commitment to backwards compatibility, because they had already done that? Also yes.

      [1] https://devblogs.microsoft.com/oldnewthing/20060525-04/?p=31073

    • mdrileyNov 2025

      Obligatory oldnewthing: https://devblogs.microsoft.com/oldnewthing/20030929-02/?p=42363

      > Multilingual support also explains why you see things like “1 folder(s)” instead of “1 folder” and “2 folders”. Why not have two format strings, one for when the number of items is exactly one, and one for when the number of items is two or more?

      > Well, for one, that would significantly increase the number of strings we would have to carry around. (If you say “just add s to make the plural” then you really need to get out more!)

      > For two, some languages (such as Slovene) have a “dual” number in addition to singular and plural. The Lahir language has singular (one), dual (two), trial (three), paucal (a few), and plural (many). So now you have to have perhaps five versions of every string that contains a replaceable number.

    • userbinatorApr 2025

      On Windows 11 24H2, more stack space was modified by a new implementation of Critical Sections.

      IMHO this shows the downfall of Microsoft. Why did they do that? Critical sections have been there for many decades and should be basically bug-free by now. My best guess is someone thought they'd "improve" things and rewrote it, then made some microbenchmark that maybe showed the dubious improvement.

      The other comment here mentions Raymond Chen, who wrote this article about why backwards-compatibility is very important (and arguably what got Microsoft into the position it's in today):

      https://devblogs.microsoft.com/oldnewthing/20031224-00/?p=41363

      and also this memorable case: https://news.ycombinator.com/item?id=2281932

    • TonyTrappNov 2024

      "What if two programs did this?" https://devblogs.microsoft.com/oldnewthing/20050607-00/?p=35413

      This is a recurring theme featured in multiple of Raymond Chen's blog posts, though. This is just the earliest one I can remember.

      Here's a few more: https://www.google.com/search?q=%22two+programs%22+site%253Adevblogs.microsoft.com+inurl%253Aoldnewthing

      The "what if two programs did this" mantra I learned from these blog posts helped me greatly in judging whether certain feature requests from users make any sense at all. As soon as it involves touching system configuration, even if there is an API for it, it's probably a very bad idea.

    • ValdikSSFeb 2026

      >Why do we often say 1 kilobyte = 1024 bytes?

      Because Windows, and only Windows, shows it this way. It is official and documented: https://devblogs.microsoft.com/oldnewthing/20090611-00/?p=17933

      > Explorer is just following existing practice. Everybody (to within experimental error) refers to 1024 bytes as a kilobyte, not a kibibyte. If Explorer were to switch to the term kibibyte, it would merely be showing users information in a form they cannot understand, and for what purpose? So you can feel superior because you know what that term means and other people don’t.

    • vunderbaApr 2025

      For finding blogs I either pick them up organically here or on lobste.rs.

      The more niche your blog is, the more chances you'll have at sharing it on highly specialized subreddits - otherwise you can always drop links to your blog in HN conversation threads if it feels relevant. That's how I developed a bit of readership on mine.

      And in the interest of sharing blogs, a classic is "Old New Thing" written by Raymond Chen. It's highly technical around Microsoft/Windows but I enjoy how incredibly thorough it is.

      https://devblogs.microsoft.com/oldnewthing

    Related

    Windows Blogblogs.windows.com885 people

    The Windows Subsystem for Linux is now open source

    Windows Blog
    Company · last shared 2026
    Random ASCIIrandomascii.wordpress.com274 people

    There are only four billion floats, so test them all (2014)

    Random ASCII
    Personal · last shared 2026
    Geoff Chappellgeoffchappell.com36 people

    America Online Exploits Bug in Own Software (1999)

    Geoff Chappell
    Personal · last shared 2026
    OS/2 Museumos2museum.com139 people

    Why Does Windows Really Use Backslash as Path Separator?

    OS/2 Museum
    Personal · last shared 2026
    Microsoft MSDN Blogsblogs.msdn.com1.6k people

    Why I Left Google

    Microsoft MSDN Blogs
    Company · last shared 2023
    Dedoimedodedoimedo.com124 people

    Linux – The beginning of the end?

    Dedoimedo
    Personal · last shared 2026
    Old VCRoldvcr.blogspot.com46 people

    The April Fools joke that might have got me fired

    Old VCR
    Personal · last shared 2026
    Virtually Funvirtuallyfun.com96 people

    UK telecom EE blocks archive.org

    Virtually Fun
    Publication · last shared 2026