Why do older files tend to have file extensions in all caps?

I have a collection of files from the late ´90s and early ´00s. Many of them are .JPG, .MP3, .WAV, instead of .jpg, .mp3, and .wav. Why was that the norm at the time? I usually just change the extension myself.

97 points · 45 comments · view on lemmy.world

45 Comments

monketman82@lemmy.world · 103 pts · 21d (9 replies)

Back in the days of DOS/MS-DOS, all filenames were in uppercase and restricted to 8 letter filename and 3 letter extension.

Because Windows was always just built on top of DOS and the FAT filesystem, until NT/Win2000, the actual file naming convention renamed the same.

Windows just held extra metadata to pretend it could have longer filenames.

blackbeans@lemmy.zip · 27 pts · 21d (4 replies)

Long filenames were introduced in Windows 95. It was done by means of an extension to the filesystem (VFAT). The long filenames were preserved when you copied it to another computer but didn't show up when you used older DOS versions.

cypherpunks@lemmy.ml · 22 pts · 21d (2 replies)

MICROS~1

JasonDJ@lemmy.zip · 15 pts · 21d

C:\PROGRA~1

xylol@leminal.space · 4 pts · 21d

This looks like what teams does to any lengthy URL which breaks it

ChicoSuave@lemmy.world · 16 pts · 21d

I wonder if that's why computers started using longer words and phrases for programs. The grumpy old man that lives in my in head gets ranting during these moments.

"Back in my day all we had were short names like startup, system, and exit. Now it's all control panel, system settings, hardware managers. And apps! They're called them executables!"

palordrolap@fedia.io · 16 pts · 21d

Technically it's a *FAT filesystem thing, and it still carries over into default Windows behaviour today. If I remember correctly, you have to explicitly tell Windows to distinguish between case in filenames, even on NTFS, which otherwise supports it... and then hope that something in the system wasn't relying on case-insensitivity, which is now broken.

I have a few exFAT-formatted USB thumb drives and I find that Linux (an OS that has been case sensitive, or at least, its filesystems have, since the outset) complains that the filename is already in use when renaming files to lower case versions of themselves on those drives. I generally have to rename to something different (maybe add a letter) and then rename back. The case can be changed at either stage, but the intermediate name has to be different.

rockSlayer@lemmy.blahaj.zone · 7 pts · 21d (1 reply)

Windows has always been garbage and ME was particularly bad, but the NT kernel was the right thing to do

SubArcticTundra@lemmy.ml · 6 pts · 21d

Win2K was nice

Delascas@feddit.uk · 2 pts · 21d

Some of us on here go back before PC-DOS 1.0. The 8.3 naming convention started with CP/M . . DOS was largely stolen from Digital Research.

Source: one time proud owner of a TRS-80 Model 4 running CP/M.

schnurrito@discuss.tchncs.de · 36 pts · 21d (2 replies)

Others have correctly explained that this is because filenames (on DOS) used to have only uppercase letters.

Interestingly, it's not completely outdated. Many standalone digital cameras, even ones produced in the 2010s or 2020s, still produce filenames like IMG_1234.JPG or DSC00011.ARW or similar.

AskewLord@piefed.social · 15 pts · 21d (1 reply)

isn't that because they are using FAT file systems on their local storage?

I haven't used a newer digital camera, but I recall most of them require a FAT32 format for their memory cards.

schnurrito@discuss.tchncs.de · 6 pts · 21d

I think you're right; the point is that those files will then probably be copied on other file systems that could handle long (and lowercase) file names too, so that may be one way to end up with them without the files coming from the 1990s.

cypherpunks@lemmy.ml · 23 pts · 21d (13 replies)

::: spoiler it was the style at the time grandpa simpson pointing at his belt

but actually (as the other comment says) uppercase file extensions were a holdover from when the entire filename could only be uppercase :::

homesweethomeMrL@lemmy.world · 6 pts · 21d (11 replies)

Of course in those days 640 Megs of RAM was all we needed.

“There’ll never be a need for more than that”, you’d say.

ripcord@lemmy.world · 10 pts · 21d (3 replies)

640k

cypherpunks@lemmy.ml · 4 pts · 21d (2 replies)

640B ought to be enough for anybody

cecilkorik@piefed.ca · 3 pts · 21d

A commodore 64 should've been enough for anybody.

daggermoon@lemmy.world · 2 pts · 20d

If you use ZFS like me, you can never have enough.

monketman82@lemmy.world · 6 pts · 21d (1 reply)

640kb more like! Don't get me started on upper and lower ram DOS nonsense..

__Lost__@lemmy.dbzer0.com · 3 pts · 21d

But does this game need himem.sys, or emm386.exe?

Yaky@slrpnk.net · 3 pts · 21d

You mean 640 KILObytes. Even Playstation 3 had only 256MB RAM.

teslekova@sh.itjust.works · 2 pts · 21d

It was good enough for the Kaiser!

TheRealKuni@piefed.social · 2 pts · 21d (2 replies)

Not that I want to defend that Epstein-associated adulterer, because fuck him, but he probably never said the quote.

homesweethomeMrL@lemmy.world · 3 pts · 21d (1 reply)

Yeah it took on a life of its own, including his effort to crush it or explain it away. But I think he said it. Also that it was heavily context-dependent, and ultimately just a way to shit on the man who single-handedly robbed us all of an open-source utopia of informed citizenry by being a greedy bastard.

aMockTie@piefed.world · 2 pts · 21d

Also not defending Gates, but realistically it wouldn't have made any sense for him or anyone at Microsoft to say such a thing. The 640K barrier was not chosen by Microsoft or caused by DOS, it was a limitation of the 8088/8086 CPU that IBM used in the original PC.

It wasn't until the 80286 that the issue was partially solved, and then the 80386 and on where it was completely solved (though still required a lot of fiddling and manual configuration which was the fault of DOS' design).

bstix@feddit.dk · 1 pts · 21d

I liked it better that way.

The ~ character and roaming folders can go to hell.

AmidFuror@fedia.io · 22 pts · 21d (1 reply)

It's because eyeglasses hadn't been invented yet, so we needed to make file names bigger.

daggermoon@lemmy.world · 1 pts · 20d

Ah, This explains everything.

tunetardis@piefed.ca · 15 pts · 21d (4 replies)

Well sonny, it's because back then, media files would eat your entire drive in a hurry, so they had to be shouted out as a warning.

daggermoon@lemmy.world · 2 pts · 20d (3 replies)

And yet 40TB still isn't enough for my needs.

tunetardis@piefed.ca · 1 pts · 20d (2 replies)

Ah, you're a gamer then.

daggermoon@lemmy.world · 1 pts · 18d

Yes, but the bulk of it is CD, DVD, and Blu-ray rips.

swordgeek@lemmy.ca · 1 pts · 20d

Or a collecter of porn mature content.

lemonSqueezy@lemmy.world · 14 pts · 21d

Back in the day when affordable homes were very much bigger compared to now. You could splurge a little on hard drives that could store big size letters. Now that affordable homes (tiny condos) are a teeny tiny bit smaller, it makes sense to shrink the size of the letters so that they fit in a smaller space.

dsilverz@catodon.rocks · 13 pts · 20d (4 replies)

Adding to the replies, uppercase letters have lower hexadecimal values than lowercase in the ASCII table. For example, 0x4C is uppercase L, while 0x6C is lowercase L.

Mathematically, uppercase + 0x20 = lowercase.

Alphabetically, 41 to 4f = A to O, then 50 to 5a = P to Z; 61 to 6f = a to o, then 70 to 7a = p to z. (Believe it or not, I'm typing this from meat memory, as I kind of managed to memorize it and I can even 74 79 70 65 20 6c 69 6b 65 20 74 68 69 73 as if it were a second language; it's thanks to mnemonic shortcuts such as alpha and Omega A to O, "PTZ" p to z, among other crazy pattern matching my ND brain often does).

Back in the DOS/MS-DOS times, RAM and (floppy) disk were very small (a floppy disk had <2MB, and I'm talking about the "modern" floppy disks from the 2000s), so there was this thing called "code golfing" in which programmers used to do some arcane math-magick to conjure as many bytes as possible from inside a single byte. Things like "packed" game sprite channels, side channel data (wonder how compression algorithms got created?), etc. They wouldn't and often couldn't "throw more hardware at the problem" like we're used to nowadays. Sparing the 3rd most significant bit (01x1 1010, Z if x = 0, z if x = 1) would allow for side-channel data such as visual formatting (e.g. whether the character is selected in a terminal emulator).

This all likely played a role when they got chosen as the default interval for alphabet letters back then. Also, decimal numbers, 0x30 to 0x39 (resp. 0 to 9) are closer to the uppercase letters than to the lowercase letters, and so are most of the punctuation (which I didn't get to memorize yet, but I remember they're scattered across 0x21 to 0x2f then 0x3a to 0x3f then 0x5b to 0x5f).

This legacy kind of still lingers nowadays, for example, in PC keyboards whose key codes for alphabet letters (afaik) map to the 0x41 to 0x5a range when it gets to the HID driver. Then there are also devices in which program logic is burned into IC chip, such as "old" digital cameras and camcorders, so they ended "frozen" in a time where the file extension was conventionally uppercase.

(And, no, I'm not a millennial, although I'm almost one, sitting at the very cusp between them and Zs, two generations who saw the transition from analog to digital tech during our childhoods/teens).

!nostupidquestions@lemmy.world

Hueristic_Autistic@lemmy.world · 2 pts · 19d (1 reply)

1992 born, I got the tail end of that. My mom was a cobol programmer, while my dad was able to get his hands on recycled hardware. Before the house fire, he had at least 20 towers, bags of parts, a closet full of monitors, keyboards and mice.

It was trippy to see the growth of technology from windows 95 to now.

dsilverz@catodon.rocks · 3 pts · 19d

cobol

Cobol seemed like an interesting programming language, it looked like a funny flavor of BASIC. I managed to get hands on BASIC and its spiritual successor Visual Basic (VB6), but for some reason I'm yet to understand, I wasn't able to get into Cobol.

Before the house fire, he had at least 20 towers, bags of parts, a closet full of monitors, keyboards and mice.

Oh... Really sorry about the losses 🙁

It was trippy to see the growth of technology from windows 95 to now.

A growth to certain extent; sadly, much of the technology got enshittified roughly after 2015-ish, so it feels to me like tech had this mesmerizing growth from 95 to 2015-ish, before technology started declining nowadays.

Hueristic_Autistic@lemmy.world · 2 pts · 19d (1 reply)

math-magick

My tism found that as adorable as electrickery. 😊

dsilverz@catodon.rocks · 1 pts · 19d

Lol 😂

Treczoks@lemmy.world · 3 pts · 20d

Because DOS/early Windows had a filesystem that had very limited filenames. You had eight characters for the actual filename and three for the file extension. They were stored and displayed in all caps, but matching was always case insensitive.

That explains both the upper case and the three character extension limit.

swordgeek@lemmy.ca · 1 pts · 20d

Worth mentioning that this wasn't a problem on other systems. Unix had long, case-sensitive names before DOS existed.

one_old_coder@piefed.social · -8 pts · 21d (2 replies)

It can easily be answered by a simple google search.

LunarLoony@lemmy.sdf.org · 5 pts · 21d

Boring!

daggermoon@lemmy.world · 4 pts · 20d

True, but I'd much rather ask some of Lemmy's tech veterans than a souless fucking website run by an evil megacorp trying to sell me shit, sell my data, and spam me with AI bullshit. Also, I like fun discussions and the fediverse needs more content.