The Format Dialog in Windows NT

  • I was able to confirm in the Windows NT4 source code that he originally wrote some of the code for the format dialog on 2-13-95. That much is true. (late 1994, early 1995, close enough)

    >"I also had to decide how much 'cluster slack' would be too much, and that wound up constraining the format size of a FAT volume to 32GB."

    NT4 didn't support FAT32, and NT4 actually was actually able to be 4GB rather than 2GB for a FAT volume because NT4 allowed 64K clusters, so actually exceeded what most systems were able to do at the time. Formatting as FAT in NT4 had no cluster check or option. The cluster size used was decided based on the size of the volume.

    Furthermore, the The 32GB limitation for FAT32 volumes was originally in the internal format functions, not the dialog itself. On Windows 2000 (Which does support FAT32) you can try to format a drive bigger than 32GB as FAT32, but the formatting will fail, as it is hard-coded at the end of the format to fail trying to format FAT32 volumes larger than 32GB. The dialog itself isn't what presents this limitation and it is shared by the command line format.com which uses the same functions.

    Not sure why he seems to always exaggerate his own involvement. He's got people believing that he wrote the Zip folder code that Microsoft literally licensed from Info-Zip because he had to touch it to get it integrated. I guess exaggeration is what "influencers" do, and that's what he is at least trying to be now.

  • Dave Plummer is such a cool guy. I love how casually he writes about building one of the most ubiquitous kernels of all time.

    > He created the Task Manager for Windows, the Space Cadet Pinball ports to Windows NT, Zip file support for Windows, HyperCache[4] for the Amiga and many other software products. He has been issued six patents in the software engineering space.

    https://en.wikipedia.org/wiki/Dave_Plummer

  • This highlights a common pitfall: If you “solve” a problem with a “temporary” solution, you lower the priority of the better solution below every unsolved problem. And there are always enough of those to ensure no one ever revisits the temporary solutions.

  • > I got out a piece of paper and wrote down all the options and choices you could make with respect to formatting a disk, like filesystem, label, cluster size, compression, encryption, and so on.

    > ...

    > It wasn't elegant, but it would do until the elegant UI arrived.

    This doesn't follow IMO. It presents all the options you need in a simple interface; what would go into a more "elegant" interface?

  • > the dialog is still my temporary one from that Thursday morning, so be careful about checking in "temporary" solutions!

    Not only still there but inspired others, like the HP USB Disk Storage Format Tool that I always used to bypass the 32GB FAT32 limit: https://www.majorgeeks.com/files/details/hp_usb_disk_storage...

  • It’s perfect, I hope they don’t replace it with an “elegant UI”

  • I'd say that there are no temporary and permanent solutions, but there are bad and good solutions. A good solution, even if implemented quickly, will stick, because it's good (enough).

    A bad solution can also stick, if it's the only one available / viable for some time, and then everything else has to be backwards-compatible to it.

  • I worked at one of the biggest and oldest banks in Europe, and our production was often filled with these 'temporary solutions.' They were typically created as quick fixes for major issues resulting from previous temporary fixes.

  • Beware of "good enough" temporary solutions: we have a core logging component at work that was written by an intern and has the word POC (proof of concept) in it. Its data format is what an intern would create but by the time anyone really noticed that it had written so much data that the budget and effort of fixing it outweighed its problems.

  • As the old saying goes: There is nothing as permanent as a temporary solution.

  • I remember seeing a patch floating around that removed the 32GB limit; can't find it now but this was back when XP was the most popular OS.

  • About 14years ago in my first week at a new job I cobbled some code together to query our ticketing system (BMC Remedy) as a sort of quasi queue monitor. It's had a few cosmetic iterations but its still running the same backend code.

  • Windows has some dark corners where the Windows NT heritage is clearly visible. One would imagine the abstract UI definitions would remain consistent with the latest look and feel provided by different presentation layers added later - a button is still a button, since the late 1970's, and the definitions of a modal dialog box are easily translatable into whatever passes for abstract UI definitions for the latest release.

    It's a bit frustrating to see that large parts of a very popular OS (used in life-critical applications) are abandoned like that.

  • I like this guy, and his stories from Microsoft are good. But man, he has gotten a lot of mileage out of this story.

  • There is nothing more permanent than the temporary.

    There is nothing more temporary than the permanent.

    At least that's what the Russians say.

  • I was watching one of his vids recently about C++ tricks and he talked about one time he submitted about 1m changed lines of Windows source code in a single commit, to a repo that didn't even support branching. It's crazy how devs used to work back in the day.

    Here's his YT channel for anyone interested: https://www.youtube.com/@DavesGarage