Microsoft Dev's 30-Year-Old Temporary Code Still Lingers in Windows 11 68
Dave Plummer, a former Microsoft developer, has shared the story behind the Format drive dialog box in Windows, which has remained unchanged for nearly three decades. According to Plummer, the dialog box was created as a temporary solution during the porting of code from Windows 95 to Windows NT, due to differences between the two operating systems. Plummer jotted down all the formatting options on a piece of paper and created a basic UI, intending it to be a placeholder until a more refined version could be developed. However, the intended UI improvement never materialized, and Plummer's temporary solution has persisted through numerous Windows versions, including the latest Windows 11.
Plummer also admitted that the 32GB limit on FAT volume size in Windows was an arbitrary decision he made at the time, which has since become a permanent constraint.
Plummer also admitted that the 32GB limit on FAT volume size in Windows was an arbitrary decision he made at the time, which has since become a permanent constraint.
Temporary becomes permanent (Score:5, Insightful)
Re: (Score:2)
Another way of looking at it is that the format dialogue is perfect and can't be improved upon.
I'm not sure I agree with that, there are a few things it could do better. It could not be modal when formatting. It could also give some hints about some of the parameters, like block size. Even googling doesn't turn up any really authoritative advice on what block size is best for your needs. 4k seems to be fine for most people, and the benefits of going larger or smaller are marginal outside of very special cas
Re: (Score:1)
It could not be modal when formatting.
Dream on, this is Windows after all.
Re: (Score:2)
I've not observed that behavior in a long time...and as it happens, Winget is upgrading SSMS as I type this. Everything else continues to work as normal while it does its thing.
Re: (Score:3)
Seeking perfection is like searching for the best pizza pie in the world.
Both are noble pursuits but generally a waste of time & money due to so many conflicting opinions.
Re: (Score:2)
Or more likely, "it's good enough". It's not worth the time and effort to make it better - you probably can think of ways it could be improved, but in the end, it's not worth the time and effort to make the changes and then send them through QA.
Of all the features people use in Windows, it's probably used very little over the lifespan of the computer, so any improvements will probably be marginal to a user's exper
Re:Temporary becomes permanent (Score:4, Insightful)
It's permanent because it's good enough.
The only thing that I have encountered that actually caused problems for me is the 32GB limit where I needed a FAT32 filesystem in order to have a USB stick that I could load BIOS updates on a Dell with and it won't do it on a 64GB stick with exFAT. Workaround is to have a separate stick with BIOS updates.
Now someone might wonder why installing BIOS from a stick and not by other means - it's because sometimes network installations works better with a fresh BIOS than with an old at my workplace.
Re: Temporary becomes permanent (Score:5, Informative)
I format 64GB FAT from Linux and use it in Windows. Theres a freeware windows app that can also do the formatting (FAT32Format).
Re: (Score:3)
There is a free app in Windows that can get around the limitation too. It is called the format command (unless that has changed too since I last used the command).
Re: (Score:2)
True. You don't need anything fancy if you only want 64GB like the OP mentions. The command-line format that comes with Windows can take you to up to 137GB partitions. But 2TB is the theoretical max for FAT32. Which is why some people use these other tools. I'm more of a Linux user so I tend to solve my problems there where I have access to go log files, and treat Windows as sort of a secondary OS.
Re: (Score:2)
I haven't figured what is the problem - but haven't tried terribly hard. I thought it might be old-style partition tables versus GPT tables, but it's not that.
Meh - not a problem at the moment.
Re: (Score:3)
FAT32 supports up to 2TB partitions, but you're also looking at a cluster size of around 128kiB or more. A 32GB maximum gives you around a 16kiB cluster size. A cluster is the minimum storage unit size on FAT filesystems, so a 1 byte file will take 1 cluster. If you have 8 1 byte files, that would consume 1MiB on a 2TB FAT32 partition.
The limit on Windows is completely arbitrary and the filesystem driver itself has to support larger clusters as required.
Now, it only mattered about a decade or two ago when y
Re: (Score:2)
Re: (Score:2)
Well, he actually did think that - followed by 'for now'. It's just that no one ever went back and made it better.
Re: (Score:2)
Re: (Score:2)
There is even a Murphy's Computer Law [imgur.com] for that:
Meskimen's Law: There is never time to do it right, but there always time to do it over.
Re: Temporary becomes permanent (Score:2)
Re: (Score:3)
I do suspect that the majority of code in the world is "temporary", and the authors intended to update and refine it later.
Once the software is in a release than changing it is hard if it's not part of a new feature or a bug fix. Even then bug fixes may be denied if no customer has seen it. I've been told in the past that if I put in a bug fix then it would have to go into the release notes, and then customers would start asking about the bug or demand that it be back ported to supported releases.
About that 32 GB FAT32 limit (Score:2)
That 32 GB FAT32 limit sure is arbitrary. Third-party utilities (and Linux) can format it to any size you want.
Re: (Score:2)
Really there was me thinking the maximum size of a FAT32 filesystem was 2TB.
Re: (Score:2)
no, it was a right pain in the ass back in the day as soon as 40 gig drives became almost disposable
Re: (Score:2)
It was a limit set on what was supposed to be a temporary UI at a time when drive sizes were measured in megabytes, not gigabytes.
Re: About that 32 GB FAT32 limit (Score:3)
Re: (Score:3)
Re: (Score:2)
Dave's a good guy and an awesome geek. His "Dave's Garage" YT channel has a load of MS history as well as his tinkering with gadgets, in particular individually addressable LEDs, writing his own firmware for stuff etc. https://www.youtube.com/channe... [youtube.com]
He also has a video about Format. [youtu.be]
Re: (Score:2)
Pretty sure your timing is off more than a decade.
Re: (Score:2)
That 32 GB FAT32 limit sure is arbitrary. Third-party utilities (and Linux) can format it to any size you want.
Thanks, I didn't know that. Will Windows reliably read and write a FAT32 that's bigger than 32 GB?
Re: (Score:2)
Sure, and so do my handheld game devices that use 128 GB and 256 GB cards.
I use Rufus on Windows to format them but pretty much any other utility can do it (and I'm just guessing the latest versions of FORMAT.EXE can do it, too).
For whatever reason these handheld game devices come with 64 GB SD Cards formatted with FAT32 in a clear demonstration of how the FAT32 limitation can be exceeded, even if it's not the most efficient way to store data because the cluster size (minimum file size) gets kinda large.
Re: (Score:2)
Thank you. I feel dumb. As I was driving this afternoon I looked at my dashcam and realized: "oh duh, it has a 64GB FAT32 card in it, and I also have a 128GB FAT32 SD card".
Yes, thank you again, I had studied filesystems quite a bit back in the day, clusters, blocks, FAT, boot sector parameters, etc.
Some years ago I used to always format my Windows C: drives FAT32- typically less than 32 GB, then a large D: (or whatever it gets assigned). A couple of people, including someone here, said "NTFS is better". Wh
As usual.... (Score:4, Insightful)
There's nothing as permanent as a temporary solution.
Re: (Score:3)
And there's nothing as temporary as a permanent solution. There's no better way than spending man-years to ensure the extensibility and modularity of a project to guarantee that it will all be discarded in a few years.
Re: (Score:2)
There's no better way than spending man-years to ensure the extensibility and modularity of a project to guarantee that it will all be discarded in a few years.
I've seen what happens to code when the same people who think OOP makes their code modular try to make their code "extensible". It isn't pretty [github.com].
Re: (Score:2)
And there's nothing as temporary as a permanent solution. There's no better way than spending man-years to ensure the extensibility and modularity of a project to guarantee that it will all be discarded in a few years.
In what year was ZFS discarded?
if they update this can they also push an 64bit bu (Score:4, Funny)
if they update this can they also push an 64bit build of pinball?
PINBALL.SYS? (Score:1)
Pinball (file system) [wikipedia.org], the code name for what became OS/2's (and early Windows NT's) HPFS filesystem.
Re: if they update this can they also push an 64bi (Score:2)
Re: (Score:1)
It seems like you must know that Dave's Garage has a video about that very thing, but I thought I would add the link: https://youtu.be/UTPTPJEVYlY?s... [youtu.be]
The actual golden rule is... (Score:5, Insightful)
"If it's not broken, don't fix it".
Format UI is an epitome of excellence. It's simple, it shows relevant information clearly and in an easily digestible way, it has sane defaults and it exposes customization of options for those that need them.
And yet, here are all the "shove pointless SaaS changes down my throat PLEASE!" people pretending that instead of one brilliant guy designing a thing that worked well for three decades... it needs to be changed because... it's old.
And this sort of mindset is why so much software today is shit. Healer, heal thyself. Every time you feel a need to change something that isn't broken, go take a walk. That feeling will pass, and users will be all the happier for it.
Re: (Score:1)
What bothers me most with Windows at this point, at least the 'Workstation' versions in their various flavors is
Microsoft does all this UI stuff primarily because the product is so mature.
Windows actually does get some useful new features at the kernel level from time to time, and gets subsystem updates that are valuable to select group of people. WSL sure is great to have if your job is writing micrososervices from some website that ultimately are going to be deployed in a k8s container on Linux somewhere
Re:The actual golden rule is... (Score:4, Insightful)
"If it's not broken, don't fix it".
Broken for whom? I get that for you and I the system works well, but what about your mother or someone who has never used a computer before? The interface is a list of options. There's no help, no options, no manual. No indications of what the allocation unit size does. No information of why or when to use a different file system.
Worse still the interface deviates from any other task based interface in that it doesn't disappear after the task is done. Why is the format dialogue still open after formatting a drive, it's not like anyone would format that same drive again unless they set the options wrong the first time.
it needs to be changed because... it's old.
It does what it needs to do for a computer expert who has been using that dialogue for 30 years. That doesn't mean it's good, or that it can't be improved on. People don't change interfaces because they are old (at least not fundamentally, they do change colour schemes, round corners, then straighten bevels, make things transparent then translucent etc), fundamental changes to interfaces usually happen because there is a change in requirements, or a realisation that no everyone is a nerdy geek who posts on Slashdot.
Re: (Score:1)
but what about your mother or someone who has never used a computer before
I'd expect them to learn what a computer is and have some basic experience under their belt before messing around with something that can cause complete data loss if used carelessly. We don't need the Format UI to be infant proofed. The infant shouldn't be allowed anywhere near it.
There's no help, no options, no manual
I take it you've never hit the F1 key by accident then.....Or looked up Microsoft's web page CLI [microsoft.com] or GUI? [microsoft.com]..... or bothered to read any of the various "for Dummies" books that have been published over the years.
No indications of what the allocation unit size does. No information of why or when to use a different file system.
Most idiots are no
Re: (Score:3)
I'd expect them to learn what a computer is
That's as asinine as expecting that consumers should understand how to read ECU error codes before using a car.
and have some basic experience
Sure. You expect someone to have experience with something you're saying they shouldn't use until they get experience.
before messing around with something that can cause complete data loss if used carelessly.
Wouldn't it be nice if the interface provided them with the information needed to learn how to do this. That wasn't a question by the way, that was me mocking the absurdity of your elitist attitude. Consumers need to format things, they do so constantly with things like memory cards
30 years is nothing (Score:2)
You should see the machines that process your taxes [gao.gov]...
I'm not there yet... (Score:3)
...but I do have a piece of Oracle PL/SQL running that I wrote in 30 minutes in 1998 to address a timeout issue that's still running in a critical production system for a major energy company. It's labelled in the code as "FRAGILE - STOPGAP - PLEASE FIX ASAP".
Hey... it happens. I changed teams two days later. Somebody tried to remove it last year, but the job broke immediately. Rather than root cause it, they left it alone.
Linus's sex quote (Score:2)
I forget how it goes and I'm too lazy to look it up; but didn't Linus say something like, "Good programming, like good sex, should be free".
The analogy holds, since you might end up supporting a mistake for 30 years.
So, quick-and-dirty turns permanent? (Score:2)
Installing Printer Drivers (Score:2)
While they're at it, they might want to make the printer driver installation box no longer default to drive A: when you browse for a driver. lol.
Re: (Score:1)
You will get your wish soon enough... If current trends continue, Microsoft will remove more & more functionality from the print UI until your only option is to use WSD and IPP Class Drivers.
You can't complain about the driver installer if it no longer exists
MS is a curse (Score:1)
Stories like these are more evidence that Microsoft is a curse on humanity.
I mean honestly (Score:2)
aside from the 32g FAT limit (which I understand, but would be nice if it was the user's choice, not baked-in), it really is just fine.
I'm actually more astonished someone at MS hasn't idly figured out a way to fuck with it and make it LESS useful - I mean, it's not a semi-transparent Aero-aware context-dependent popup whose settings (somewhat) reside in entirely different menu sections yet. All SORTS of room for "improvement".
And isn't "FAT" just a little bodynormative in 2024 anyway? Can we think of som
Re: (Score:2)
Exactly. I figured the "change for the sake of change" people would have gotten to it by now.
Re: (Score:2)
Exactly. I figured the "change for the sake of change" people would have gotten to it by now.
"Change for change sake" is a term only used by people who put effort into knowing how something works and are elitist enough to think that because they did it the hard way that an interface can't be better.
No one does change for change sake. There's always a purpose behind it. Yes even those quarterwits who round the edges of windows one release and square them off the release after do that for a reason.
Re: (Score:2)
A lot of people and companies do change for the sake of change. The highlight / fill colors in Excel are an excellent example. Are the new colors "better"? What was the purpose behind it? Why were the old colors inferior? This has happened multiple times.
The change to all-caps in the menu bar was another one, although eventually they realized that was a terrible idea and eventually changed it back.
Frameless windows are another change that Microsoft and the rest of the world went to but are inferior to
Re: (Score:2)
it really is just fine.
it is to you because you understand what the options mean and their significance. Even from a power user perspective this interface is poor, it doesn't even have a help page, unlike literally every other dialogue related to disc management provided by windows.
The linux command line has a more user friendly interface because at least it provides a man page. What's an allocation unit? *shurgs* Google it, because the interface is so bad Microsoft itself don't give you any hints or information as to what things
always more code to write (Score:2)
I've had this exact experience, where I put in a something I think is temporary and then it becomes permanent because there is no time to go back. There is always demand to add features, write new code. There is never time to go back and just make things better, unless something breaks. I've learned to put in a little more effort up front all the time.
Even for Slashdot this is old news... (Score:2)
Dave Plummer may have Tweeted about it recently...but his Youtube video on the topic [youtube.com] is over three years old. His Youtube channel is particularly interesting, since it includes information regarding Task Manager and a number of other late-90's era things he coded that are still in use, so it's well worth the watch.
In terms of the disk format tool, there are a few things I'd add if it were up to me. First, I'd add a "low level format" option that nukes the partition table entirely and doesn't create a new on
Watch Dave's Garage (Score:2)
Dave 's YouTube channel has some pretty good information on it. I didn't seek it out, YouTube. Just kind of decided I should watch it. And when it pops up, I do. He's an old school nerd like a lot of people here. And that's a good thing.
Temporary is the Enemy of Good (Score:3)
SimDesk 2001 (Score:3)
Back in 2001, I worked for a startup named SimDesk. they had a suite of web-enabled office tools "competing" with MS Office. They had developed their first version of their email software using VB6. They planned from the beginning to move to C++ with WTL, so they put in some code that, on some date in 2001, the software would stop working. The developers assured themselves that there was NO WAY the original software would still be in use on that date. Of course, they were wrong. When the hard-coded date came, all the Houston Public Library locations where the software was installed, stopped working. The team had to make a quick hotfix to take out "error" message. A coworker and I had to drive around Houston to all the HPL locations to update the software.
Yeah there's no such thing as temporary. Well, maybe except for SimDesk, which is now defunct.
copilot (Score:1)
Re: (Score:2)
"searching 'c's ...
Gulf of Mexico ... formatting ... format successful.
Caribbean Sea ... formatting ... format successful, mon.
Atlantic Ocean ... formatting ... Basin Overflow [BSOD]
Never show 'em (Score:2)
NEVER show management, support, sales, whoever steers the cart in your shop something that works unless you are ready to package it up, ship it out and never get to improve it again.
And this is exactly why.
If it isn't done.. don't show 'em.
Uh, after 30 years... (Score:1)
I believe you lose the right to call it temporary.
It ain't broke... (Score:2)
so why fix it? It serves its purpose well enough. Yes, there is that 32 GB limit on FAT32 volumes, but since that file system limits individual files to 4 GB you don't want to use it for larger volumes anyway. The format tool will produce larger NTFS or exFAT volumes; the latter was added long after the original creation of the dialog since the exFAT file system didn't exist back then. exFAT is also the default file system for SD cards larger than 32 GB; it's a required part of the SDXC standard.
Trivia: alt