this post was submitted on 27 Sep 2024
98 points (82.2% liked)

Showerthoughts

29677 readers
1289 users here now

A "Showerthought" is a simple term used to describe the thoughts that pop into your head while you're doing everyday things like taking a shower, driving, or just daydreaming. The best ones are thoughts that many people can relate to and they find something funny or interesting in regular stuff.

Rules

  1. All posts must be showerthoughts
  2. The entire showerthought must be in the title
  3. Avoid politics (NEW RULE as of 5 Nov 2024, trying it out)
  4. Posts must be original/unique
  5. Adhere to Lemmy's Code of Conduct

founded 1 year ago
MODERATORS
top 47 comments
sorted by: hot top controversial new old
[–] JackGreenEarth@lemm.ee 73 points 1 month ago (1 children)

Or a renamed txt. Eg, .js, .py, .css, .html, .json

[–] victorz@lemmy.world 60 points 1 month ago (2 children)

Thank God they went with file name extensions so we didn't have to preface every source .txt file with header content to instruct the editor about what kind of content it would have.

[–] JackGreenEarth@lemm.ee 7 points 1 month ago (4 children)

Why do I need to put that at the start of bash, desktop, and html files then?

[–] cron@feddit.org 14 points 1 month ago (1 children)

Because both ways are used. Microsoft relies on file names, linux on the first bytes of the file.

[–] p_consti@lemmy.world 20 points 1 month ago* (last edited 1 month ago) (1 children)

Not quite correct. For html, that is to signal standard compliance, you can leave it away and the browser will still handle it. For the bash one, all (most) shell scripts use .sh, so you need to give a shebang to tell the loader which executable (sh, bash, zsh, csh, ...) to use

Also on Linux xdg does take file extensions into account, just executables do not

[–] cron@feddit.org 5 points 1 month ago

You're right, my comment was oversimplified.

[–] Revan343@lemmy.ca 5 points 1 month ago

For shell scripts it's because bash isn't the only shell; if you leave out the shebang line, Ubuntu will run your script in Dash instead

[–] xigoi@lemmy.sdf.org 4 points 1 month ago* (last edited 1 month ago)

For HTML, it’s to distinguish “standards mode” HTML from “quirks mode” HTML (which doesn’t need a header).

[–] LodeMike@lemmy.today 1 points 1 month ago (1 children)

Nothing unless you want to serve them without some other way to see what file type they are.

You can run bash scripts with bash.

Don't know what a desktop file is.

HTML has that because webservers used to not have auto media type detection and response headers.

[–] Ephera@lemmy.ml 4 points 1 month ago

.desktop files are a Linux/Unix thing. Basically, it's a fancy shortcut, usually to an application, which allows specifying additional infos, like e.g. translated names.
In particular, the contents of the application menu are defined by just a folder filled with .desktop files.

https://en.wikipedia.org/wiki/Shortcut_(computing)#Unix

[–] AbouBenAdhem@lemmy.world 45 points 1 month ago* (last edited 1 month ago) (3 children)

AKA “Why zip doesn’t compress things much any more”.

[–] LostXOR@fedia.io 16 points 1 month ago (1 children)

I see images, audio, or video files distributed in zips far too often. You're getting maybe a percent of compression if you're lucky; just distribute the raw files or use a non-compressed bundle format like tar.

[–] Brickhead92@lemmy.world 21 points 1 month ago (3 children)
[–] pixeltree@lemmy.blahaj.zone 21 points 1 month ago

tar -xzvf filename

With a bad pretend accent:

Xtract

Zee

Vucking

File

[–] LostXOR@fedia.io 19 points 1 month ago

The cheeky option:

tar -h

Or is it tar --help? Oh no...

[–] stoy@lemmy.zip 4 points 1 month ago

tar -cf stop-nuke.tar

[–] LodeMike@lemmy.today 2 points 1 month ago (2 children)
[–] AbouBenAdhem@lemmy.world 9 points 1 month ago (1 children)

Zipping a file repeatedly typically doesn’t reduce the size further after the first time.

[–] LodeMike@lemmy.today 2 points 1 month ago

Yeah duoy you [realistically] can't compress compressed data...

[–] undefined@links.hackliberty.org 3 points 1 month ago

Not sure what the original point was but curiously I happened to use file on a an Apple .numbers file recently and found that it was a .zip file in disguise with zero compression.

So maybe the point was that it’s used often as a container format more often than it’s used for compression? Just my (unrelated) general computer work would also suggest this.

[–] JasonDJ@lemmy.zip 0 points 1 month ago* (last edited 1 month ago)

My 1.5gb log folders disagrees. But I never tried opening a .txt in 7-zip.

[–] bjoern_tantau@swg-empire.de 24 points 1 month ago (1 children)

Your MOM is a renamed zip!

And if not, wow, she really kept herself in shape. Very good.

[–] moistclump@lemmy.world 2 points 1 month ago

She keeping them filled tight if you know what I mean

[–] JackLSauce@lemmy.world 17 points 1 month ago

Counterpoint: what?

[–] fine_sandy_bottom@lemmy.federate.cc 16 points 1 month ago (1 children)

Not really. The "file types" you're talking about are expected to contain whatever things in a very specific format.

You're really just saying "many file types use an efficient and common compression algorithm". Which is correct, obvious, and to be expected.

[–] boletus@sh.itjust.works 2 points 1 month ago (1 children)

A .docx is just a zip file with xml documents in it.

[–] fine_sandy_bottom@lemmy.federate.cc 1 points 1 month ago (1 children)

What happens if I put an mp3 or an epub file in there with the xml? Is it still a word document?

[–] boletus@sh.itjust.works 1 points 1 month ago (1 children)

Maybe, I was just giving an example. Like Java jar files are just zip files with other jars in them.

My point is that the formats we're talking about define the content. Like it's not "just a zip file" merely because it's compressed. The format defines the data that may be included.

[–] mumblerfish@lemmy.world 10 points 1 month ago (5 children)

I don't get it... I must be missing something about zipped files.

[–] IHawkMike@lemmy.world 35 points 1 month ago* (last edited 1 month ago)

You're not missing much. A few modern file types are zips with expected folder structures, especially MSOffice files. But this is nowhere near universally true.

You can open a file in your text editor of choice and if you see it start with PK (for Phil Katz the creator of the format and the original PKZIP/PKUNZIP programs) then it's probably a zip.

Also, by the logic of the OP, all DLLs are EXEs.

[–] cron@feddit.org 21 points 1 month ago (2 children)

OP refers to the fact that you can rename some filetypes to .zip and unpack them.

Notable examples microsoft office files (.docx) or android apps (.apk).

Counterexample are media files (mp3, mp4, jpg).

[–] pixeltree@lemmy.blahaj.zone 7 points 1 month ago

Notably, java jar files as well.

[–] mumblerfish@lemmy.world 1 points 1 month ago (1 children)

OP refers to the fact that you can rename some filetypes to .zip and unpack them.

So... you mean the zip program just rename them back? Why?

[–] cron@feddit.org 14 points 1 month ago (1 children)

I think it makes sense from a programming view. When you have a document, you can add all the media files and pack them together as one archive. Then the program sets the filename to .docx so everyone knows that they need an office program to open that file.

For the users, all you need to know is what program can open which files. If every document would be named .zip, you would have no idea if it was a spreadsheet or slides for your presentation.

[–] mumblerfish@lemmy.world 2 points 1 month ago (2 children)

I got that from the other answers. I was just very confused why I'd have to rename them to ".zip".

I still don't get why it is "most" files.

[–] cron@feddit.org 8 points 1 month ago

I don't think "most" applies here. Text-based files, pdf, media files and most executeable files are not .zip.

[–] stoy@lemmy.zip 3 points 1 month ago (1 children)

You don't have to rename them, doing so would just make windows default to using the builtin zip extractor.

If you have 7-zip you can just right click the file you wan to explore and try to extract it.

[–] mumblerfish@lemmy.world 1 points 1 month ago

Ah, right, that is how windows works.

[–] thevoidzero@lemmy.world 12 points 1 month ago

There are basically two types of files. Text files and binary files.

Most information are stored in text files so humans can easily understand it, and it's easier to find errors, review, parse. But text storage takes more space than binary files. And many complicated softwares normally need multiple text files or data files, many of them just store them together as a zip file so that it's easier to handle. Examples are .docx,.pptx, etc files in MS Office, try unzipping them and see what they contain. Zipping also has advantages of reducing file sizes.

[–] stoy@lemmy.zip 10 points 1 month ago

Take a .docx file, using 7-zip, exctract it.

You will get an entire folder structure with several files inside the .docx file.

What OP means is that several programs use a zip file as a container for all the stuff they need in a save file.

The file extention is just a name for the OS to find the proper program to open the file.

[–] mumblerfish@lemmy.world 4 points 1 month ago (1 children)

OK, thanks for all the answers. I get it, a "docx" is a zip archive expected to contain something specific making it a docx. But why "most" though?

[–] Acamon@lemmy.world 4 points 1 month ago (1 children)

I think 'most' is hyperbole for dramatic effect / increased engagement. "more files than you might think are actually following the zip file structure" isn't as punchy.

I just didn't think of too many file extensions when I had this thought. I was also thinking of more obscure file extensions, and not the main media formats.