if you could pick a standard format for a purpose what would it be and why?
e.g. flac for lossless audio because…
(yes you can add new categories)
summary:
- photos .jxl
- open domain image data .exr
- videos .av1
- lossless audio .flac
- lossy audio .opus
- subtitles srt/ass
- fonts .otf
- container mkv (doesnt contain .jxl)
- plain text utf-8 (many also say markup but disagree on the implementation)
- documents .odt
- archive files (this one is causing a bloodbath so i picked randomly) .tar.zst
- configuration files toml
- typesetting typst
- interchange format .ora
- models .gltf / .glb
- daw session files .dawproject
- otdr measurement results .xml
Markdown for all rich text that doesn’t need super fancy shit like latex
I’d argue asciidoc is better, but less well known
asciidoc lost me because it’s not a markdown superset. Why invent yet another way of marking headlines?
Also GitLab/Hub markdown is the standard and I don’t think we need another.
That’s a weird way of thinking. I could make the reverse argument.
Markdown lost me because it’s not a subset to asciidoc, why invent yet another way of marking headlines?
Also asciidoc is the standard and I don’t think we need another.
This whole thread is discussing ideal standards.
GitLab/Hub obviously. Also it doesn’t matter since I don’t need to compile it to read it.
Oh I’m not brave enough for politics.
deleted by creator
You compile your markdown and don’t read it raw? /s
deleted by creator
I don’t give a shit which debugging format any platform picks, but if they could each pick one that every emulator reads and every compiler emits, that’d be fucking great.
Even more simpler, I’d really like if we could just unify whether or not
$
is needed for variables, and pick#
or//
for comments. I’m sick of breaking my brain when I flip between languages because of these stupid nuance inconsistencies.Don’t forget
;
is a comment in assembly.For extra fun, did you know
//
wasn’t standardized until C99? Comments in K&R C are all/* */
. Possibly the most tedious commending format ever devised.;
is also used by LISP.And there’s
REM
in BASIC.Batch files also use
REM
. Or::
. Each of which causes syntax errors in completely different scenarios.M4 says it uses
#
, but that’s an echo, anddnl
is for real comments.CSS still forces K&R style, but on reflection, that’s nothing compared to HTML’s
⋖!-- -->
nonsense. (Edit: or Lemmy’s idiotic erasure of HTML-like blocks. If they’re not allowed… show them as text, fools.)Fortran uses
!
orC
in the appropriate column.in the appropriate column.
Alright that’s just hideous.
Forth uses
\
, and can do block comments with(
and)
, except)
is optional in interpreted mode.Algol 60 used
¢
. ¢ isn’t even in ASCII, so god knows how that “your two cents” joke ever happened. How can a language this boring still exemplify how all programmers are dorks?Visual Basic uses
'
because go fuck yourself. QBASIC origins or not, I don’t know how this shipped without at least one meeting where somebody got stabbed. Even the Systems Hungarian heretics should have recoiled in horror.Algol 60 used ¢. ¢ isn’t even in ASCII,
APL uses “⍝”, which isn’t even in any human language and was introduced specifically so that APL can have comments.
/* */
is used in CSS as well, I think.Also we’ve got VB (and probably BASIC) out there using
'
because why not lol[EDIT] I stand corrected by another comment
REM
is what BASIC uses. DOS batch files use that, too. They’re old though, maybe we give them a pass “it’s okay grampa, let’s get you back to the museum” 🤣 (disclaimer: I am also old, don’t worry)
It does not work like that.
$
is required in shell languages because they have quoteless strings and need to be super concise when calling commands.#
and//
are valid identifiers in many languages and all of them are well beyond the point of no return. My suggestion is to make use of your editor’s “turn this line into line comment” function and stop remembering them by yourself.
That just sounds impossible given the absolute breadth of all platforms and architectures though.
One per-thing is fine.
.gltf/.glb for models. It’s way less of a headache than .obj and .dae, while also being way more feature rich than either.
Either that or .blend, because some things other than blender already support it and it’d make my life so much easier.
USD is basically this, and is supported everywhere, give it a look!
USD is more for scenes than models. It’s meant primarily for stuff like 3dsmax and blender, and is far more complex than gltf.
It’s also not really supported everywhere. Pretty much every game engine lacks support for USD, while most (except unity for some reason) have at least some gltf support.
USD is also, at least as far as I’m concerned, dead in the water. I have never encountered a single USD file in the wild, though that might just be because I mainly only work in blender and godot.
I’m not against USD, and I’d love to see it get some more love, but it serves a different purpose than gltf.
game engine
So, you were refuting the “supported everywhere” bit. I’m not going to argue with that.
But I will point out that there is a difference between a format that is good for interchange and a format that is good for a game to internally use for rapid loading. I mean, games store things in a lot of ways that you wouldn’t want to use for interchange. Games will have textures compressed in texture formats that can be sent straight to the video card, but are relatively space-inefficient; you’d want to use PNG or JPEG or something like that for interchange. You’ll often use ZIP to bundle multiple files together; it’s not necessarily because it’s an ideal archive format, but because it provides indexed access to individual archive elements. Many games use WAV or other uncompressed audio formats that are cheap to load but not terribly space-efficient.
Right, haha, I forgot about those! Sorry, I was only really thinking of different modeling software.
Literally any file format except PDF for documents that need to be edited. Fuck Adobe and fuck Acrobat
Isn’t the point of PDF that it can’t (or, perhaps more accurately, shouldn’t) be edited after the fact? It’s supposed to be immutable.
I’m not sure if they were ever designed to be immutable, but that’s what a lot of people use it for because it’s harder to edit them. But there are programs that can edit PDFs. The main issue is I’m not aware of any free ones, and a lot of the alternatives don’t work as well as Adobe Acrobat which I hate! It’s always annoying at work when someone gets sent a document that they’re expected to edit and they don’t have an Acrobat license!
I’ve already edited some pdfs with LibreOffice writer. I don’t know if it’s suitable for that, but it worked for me
think of it as though pdf is the container - it can contain all sorts of different data. I’d say you got real lucky being able to edit one with Writer without issues.
I’ve confused the name, It was LibreOffice Draw, not Writer
PDFs can contain a vast amount of different Image information, but often a good software that can edit vector data opens PDFs for editing easily. It might convert not embedded Fonts in paths and rasterize some transparency effects though. So Inkscape might work.
I’m assuming that will work similar to Microsoft Word where it’s fine for basic PDFs but if there are a lot of tables or images it can mess up the document?
Unless you have explicitly digitally-signed the PDF, it’s not immutable. It’s maybe more-annoying to modify, but one shouldn’t rely on that.
And there are ways to digitally-sign everything, though not all viewing software has incorporated signature verification.
No, although there’s probably a culture or convention around that.
Originally the idea was that it’s a format which can contain fonts and other things so it will be rendered the same way on different devices even if those devices don’t have those fonts installed. The only reason it’s not commonly editable that I’m aware of is that it’s a fairly arcane proprietary spec.
Now we have the openspec odt which can embed all the things, so pdf editing just doesn’t really seem to have any support.
The established conventions around pdfs do kind of amaze me. Like contracts get emailed for printing & signing all the time. In many cases it would be trivial to edit the pdf and return your edited copy which the author is unlikely to ever read.
Hold on. I’m applying for a mortgage and I want the bank to pay off my loan for me after 6 months of payments.
Why would you use acrobat? I haven’t used it in many years and use PDFs all the time
Acrobat Reader is actually great for filling out forms.
Even if the “pdf” is actually just a potato quality photo of what was at some time a form, you can still fill it out in Acrobat Reader.
Generally in windows I prefer sumatra pdf as a reader, but I keep acrobat around for this purpose.
What do you use?
Depends on the platform I’m on. There are so many options. SumatraPDF on windows, whatever default app pop os has, preview on Mac, builtin android PDF viewer. I assume you’re on windows because you mentioned acrobat. There are several options beside sumatra. I think many are decent.
Ah I was more looking for alternative editors rather than viewers, I usually just use my web browser to view them
Firefox can edit PDFs , although I wouldn’t be surprised if it’s not in depth
Ah, yeah I normally would only need to do that in the context of signing a contract, which I do using Gimp or Photoshop.
Have you tried these? https://www.lifewire.com/best-free-pdf-editors-4147622
I have not, I’ll give some of them a try!
Is foxit still around? I didn’t mind that one on windows.
Yup an it also one of best for linux
Something for I/Q recordings. But I don’t know what would do it. Currently the most supported format seems to be s16be WAV, but there’s different formats, bit depths and encodings. I’ve seen .iq, .sdriq, .sdr, .raw, .wav. Then there’s different bit depths and encodings: u8, s8, s16be, s16le, f32,… Also there’s different ways metadata like center frequency is stored.
what is this
God damnit. I wrote an answer and it disappeared a while after pressing reply. I am lazy to rewrite it and my eyes are sore.
Anyway, I am too dumb to actually understand I/Q samples. It stands for In-Phase and Quadrature, they are 90° out of phase from each other. That’s somehow used to reconstruct a signal. It’s used in different areas. For me it’s useful to record raw RF signals from software defined radio (SDR).
For example, with older, less secure systems, you could record signal from someone’s car keyfob, then use a Tx-capable SDR to replay it later. Ta-da! Replay attack. You unlocked someone’s car.
In a better way, you could record raw signal from a satellite to later demodulate and decode it, if your computer isn’t powerful enough to do it in real-time.If you want an example, you can download DAB+ radio signal recording here: https://www.sigidwiki.com/wiki/DAB%2B and then replay it in Welle.io (available as Appimage) if it’s in compatible format. I haven’t tested it.
Just going to leave this xkcd comic here.
Yes, you already know what it is.
how did i know it was standards
now, proliferate
One could say it is the standard comic for these kinds of discussions.
There are too many of these comics, I’ll make one to be the true comic response and unite all the different competing standards
Is ogg lossless?
It’s a container format that can hold either lossless or lossy codecs
deleted by creator
Open Raster as an interchange format instead of PSDs. It would be nice if I could open the same file in GIMP or Krita that I can in Photoshop.
Data output from manufacturing equipment. Just pick a standard. JSON works. TOML / YAML if you need to write as you go. Stop creating your own format that’s 80% JSON anyways.
JSON is nicer for some things, and YAML is nicer for others. It’d be nice if more apps would let you use whichever you prefer. The data can be represented in either, so let me choose.
KDL enters the chat
.exe to .sh low key turn all windows machines to Linux machines
I, for one, label my apple crates as oranges.
winebin="wine" if file "$1" | grep 64-bit; then winebin="wine64" fi printf '%s %q $@ || exit $?' "$winebin" "$1" > "$1.sh" chmod +x "$1.sh"
I’m not getting what you are trying to say
I don’t know what to pick, but something else than PDF for the task of transferring documents between multiple systems. And yes, I know, PDF has it’s strengths and there’s a reason why it’s so widely used, but it doesn’t mean I have to like it.
Additionally all proprietary formats, specially ones who have gained enough users so that they’re treated like a standard or requirement if you want to work with X.
When PDF was introduced it made these things so much better than they were before that I’ll probably remain grateful for PDF forever and always forgive it all its flaws.
I would be fine with PDFs exactly the same except Adobe doesn’t exist and neither does Acrobat.
I would be fine with PDFs exactly the same except Adobe doesn’t exist and neither does Acrobat.
Some sort of machine-readable format for invoices and documents with related purposes (offers, bills of delivery, receipts,…) would be useful to get rid of some more of the informal paper or PDF human-readable documents we still use a lot. Ideally something JSON-based, perhaps with a cryptographic signature and encryption layer around it.
This one exists. SEPA or ISO20022. Encryption/signing isn’t included in the format, it’s managed on transfer layer, but that’s pretty much the standard every business around here works and many don’t even accept PDFs or other human-readable documents anymore if you want to get your money.
whats the file extension and whats the category name, compiling list in body
It doesn’t have any standardized extension. My solution uses .xml (as that’s the format internally), but it’s not anywhere in the standard. About category I don’t really know. SEPA stands for Single Euro Payment Area, but it contains quite a lot of things, https://www.iso20022.org/about-iso-20022 has a bit more info on the standard itself, but there’s no catchy category name either.
Woah neat
Well, okay, let me rephrase that. It would be nice if the B2C communication used something like that too.
In Finland it kinda-sorta does, for some companies (mostly for things where you pay monthly). You can get your invoices directly to your banking account and even accept them automatically if you wish. And that doesn’t include anything else than invoices, so not exactly what you’re after. And I agree, that would be very nice.
Some companies, like one of our major grocery chain, offer to store your receipts on their online service, but I think that you can only get a copy of the receipt there and it’s not machine readable.
Resume information. There have been several attempts, but none have become an accepted standard.
When I was a consultant, this was the one standard I longed for the most. A data file where I could put all of my information, and then filter and format it for each application. But ultimately, I wanted to be able to submit the information in a standardised format - without having to re-enter it endlessly into crappy web forms.
I think things have gotten better today, but at the cost of a reliance on a monopoly (LinkedIn). And I’m not still in that sort of job market. But I think that desire was so strong it’ll last me until I’m in my grave.
This is the kind of thing i think about all the time so i have a few.
- Archive files:
.tar.zst
- Produces better compression ratios than the DEFLATE compression algorithm (used by
.zip
andgzip
/.gz
) and does so faster. - By separating the jobs of archiving (
.tar
), compressing (.zst
), and (if you so choose) encrypting (.gpg
),.tar.zst
follows the Unix philosophy of “Make each program do one thing well.”. .tar.xz
is also very good and seems more popular (probably since it was released 6 years earlier in 2009), but, when tuned to it’s maximum compression level,.tar.zst
can achieve a compression ratio pretty close to LZMA (used by.tar.xz
and.7z
) and do it faster[1].zstd and xz trade blows in their compression ratio. Recompressing all packages to zstd with our options yields a total ~0.8% increase in package size on all of our packages combined, but the decompression time for all packages saw a ~1300% speedup.
- Produces better compression ratios than the DEFLATE compression algorithm (used by
- Image files:
JPEG XL
/.jxl
- “Why JPEG XL”
- Free and open format.
- Can handle lossy images, lossless images, images with transparency, images with layers, and animated images, giving it the potential of being a universal image format.
- Much better quality and compression efficiency than current lossy and lossless image formats (
.jpeg
,.png
,.gif
). - Produces much smaller files for lossless images than AVIF[2]
- Supports much larger resolutions than AVIF’s 9-megapixel limit (important for lossless images).
- Supports up to 24-bit color depth, much more than AVIF’s 12-bit color depth limit (which, to be fair, is probably good enough).
- Videos (Codec):
AV1
- Free and open format.
- Much more efficient than x264 (used by
.mp4
) and VP9[3].
- Documents:
OpenDocument / ODF / .odt
- @raubarno@lemmy.ml says it best here.
.odt
is simply a better standard than.docx
.
it’s already a NATO standard for documents Because the Microsoft Word ones (.doc, .docx) are unusable outside the Microsoft Office ecosystem. I feel outraged every time I need to edit .docx file because it breaks the layout easily. And some older .doc files cannot even work with Microsoft Word.
- @raubarno@lemmy.ml says it best here.
Damn didn’t realize that JXL was such a big deal. That whole JPEG recompression actually seems pretty damn cool as well. There was some noise about GNOME starting to make use of JXL in their ecosystem too…
.odt is simply a better standard than .docx.
No surprise, since OOXML is barely even a standard.
By separating the jobs of archiving (.tar), compressing (.zst), and (if you so choose) encrypting (.gpg), .tar.zst follows the Unix philosophy of “Make each program do one thing well.”.
The problem here being that GnuPG does nothing really well.
Videos (Codec): AV1
- Much more efficient than x264 (used by .mp4) and VP9[3].
AV1 is also much younger than H264 (AV1 is a specification, x264 is an implementation), and only recently have software-encoders become somewhat viable; a more apt comparison would have been AV1 to HEVC, though the latter is also somewhat old nowadays but still a competitive codec. Unfortunately currently there aren’t many options to use AV1 in a very meaningful way; you can encode your own media with it, but that’s about it; you can stream to YouTube, but YouTube will recode to another codec.
The problem here being that GnuPG does nothing really well.
Could you elaborate? I’ve never had any issues with gpg before and curious what people are having issues with.
Unfortunately currently there aren’t many options to use AV1 in a very meaningful way; you can encode your own media with it, but that’s about it; you can stream to YouTube, but YouTube will recode to another codec.
AV1 has almost full browser support (iirc) and companies like YouTube, Netflix, and Meta have started moving over to AV1 from VP9 (since AV1 is the successor to VP9). But you’re right, it’s still working on adoption, but this is moreso just my dreamworld than it is a prediction for future standardization.
Could you elaborate? I’ve never had any issues with gpg before and curious what people are having issues with.
This article and the blog post linked within it summarize it very well.
deleted by creator
Encrypting Email
Don’t. Email is insecure . Even with PGP, it’s default-plaintext, which means that even if you do everything right, some totally reasonable person you mail, doing totally reasonable things, will invariably CC the quoted plaintext of your encrypted message to someone else
Okay, provide me with an open standard that is widely-used that provides similar functionality.
It isn’t there. There are parties who would like to move email users into their own little proprietary walled gardens, but not a replacement for email.
The guy is literally saying that encrypting email is unacceptable because it hasn’t been built from the ground up to support encryption.
I mean, the PGP guys added PGP to an existing system because otherwise nobody would use their nifty new system. Hell, it’s hard enough to get people to use PGP as it is. Saying “well, if everyone in the world just adopted a similar-but-new system that is more-amenable to encryption, that would be helpful”, sure, but people aren’t going to do that.
The message to be taken from here is rather “don’t bother”, if you need secure communication use something else, if you’re just using it so that Google can’t read your mail it might be ok but don’t expect this solution to be secure or anything. It’s security theater for the reasons listed, but the threat model for some people is a powerful adversary who can spend millions on software to find something against you in your communication and controls at least a significant portion of the infrastructure your data travels through. Think about whistleblowers in oppressive regimes, it’s absolutely crucial there that no information at all leaks. There’s just no way to safely rely on mail + PGP for secure communication there, and if you’re fine with your secrets leaking at one point or another, you didn’t really need that felt security in the first place. But then again, you’re just doing what the blog calls LARPing in the first place.
.tar
is pretty bad as it lacks in index, making it impossible to quickly seek around in the file. The compression on top adds another layer of complication. It might still work great as tape archiver, but for sending files around the Internet it is quite horrible. It’s really just getting dragged around for cargo cult reasons, not because it’s good at the job it is doing.In general I find the archive situation a little annoying, as archives are largely completely unnecessary, that’s what we have directories for. But directories don’t exist as far as HTML is concerned and only single files can be downloaded easily. So everything has to get packed and unpacked again, for absolutely no reason. It’s a job computers should handle transparently in the background, not an explicit user action.
Many file managers try to add support for
.zip
and allow you to go into them like it is a folder, but that abstraction is always quite leaky and never as smooth as it should be..tar is pretty bad as it lacks in index, making it impossible to quickly seek around in the file.
.tar.pixz/.tpxz has an index and uses LZMA and permits for parallel compression/decompression (increasingly-important on modern processors).
It’s packaged in Debian, and I assume other Linux distros.
Only downside is that GNU tar doesn’t have a single-letter shortcut to use pixz as a compressor, the way it does “z” for gzip, “j” for bzip2, or “J” for xz (LZMA); gotta use the more-verbose “-Ipixz”.
Also, while I don’t recommend it, IIRC gzip has a limited range that the effects of compression can propagate, and so even if you aren’t intentionally trying to provide random access, there is software that leverages this to hack in random access as well. I don’t recall whether someone has rigged it up with tar and indexing, but I suppose if someone were specifically determined to use gzip, one could go that route.
is av1 lossy
AV1 can do lossy video as well as lossless video.
I get better compression ratio with xz than zstd, both at highest. When building an Ubuntu squashFS
Zstd is way faster though
wait im confusrd whats the differenc ebetween .tar.zst and .tar.xz
Different ways of compressing the initial
.tar
archive.Sounds like a Windows problem
I get the frustration, but Windows is the one that strayed from convention/standard.
Also, i should’ve asked this earlier, but doesn’t Windows also only look at the characters following the last dot in the filename when determining the file type? If so, then this should be fine for Windows, since there’s only one canonical file extension at a time, right?
I would argue what windows does with the extensions is a bad idea. Why do you think engineers should do things in favour of these horrible decisions the most insecure OS is designed with?
There already are conventional abbreviations: see Section 2.1. I doubt they will be better supported by tools though.
In this case it really seems this windows convention is bad though. It is uninformative. And abbreviations mandate understanding more file extensions for no good reason. And I say this as primarily a windows user. Hiding file extensions was always a bad idea. It tries to make a simple reduced UI in a place where simple UI is not desirable. If you want a lean UI you should not be handling files directly in the first place.
Example.zip from the other comment is not a compressed .exe file, it’s a compressed archive containing the exe file and some metadata. Windows standard tools would be in real trouble trying to understand unarchived compressed files many programs might want to use for logging or other data dumps. And that means a lot of software use their own custom extensions that neither the system nor the user knows what to do with without the original software. Using standard system tools and conventions is generally preferable.
But it’s not a tarxz, it’s an xz containing a tar, and you perform operations from right to left until you arrive back at the original files with whatever extensions they use.
If I compress an exe into a zip, would you expect that to be an exezip? No, you expect it to be file.exe.zip, informing you(and your system) that this file should first be unzipped, and then should be executed.
Dots in filenames are commonly used in any operating system like name_version.2.4.5.exe or similar… So I don’t see a problem.
use a real operative system then
- By separating the jobs of archiving (
.tar
), compressing (.zst
), and (if you so choose) encrypting (.gpg
),.tar.zst
follows the Unix philosophy of “Make each program do one thing well.”.
wait so does it do all of those things?
So there’s a tool called tar that creates an archive (a
.tar
file. Then theres a tool called zstd that can be used to compress files, including.tar
files, which then becomes a.tar.zst
file. And then you can encrypt your.tar.zst
file using a tool called gpg, which would leave you with an encrypted, compressed.tar.zst.gpg
archive.Now, most people aren’t doing everything in the terminal, so the process for most people would be pretty much the same as creating a ZIP archive.
- By separating the jobs of archiving (
- Archive files:
Definitely FLAC for audio because it’s lossless, if you record from a high fidelity source…
exFAT for external hard drives and SD cards because both Windows and Mac can read and write to it as well as Linux. And you don’t have the permission pain…
If you were to format the drive with extra and then copy something to it from Linux - if you try open it on another Linux machine (eg you distro hop after this event) it won’t open the file because your aren’t the owner.
Then you have to jump though hoops trying to make yourself the owner just so you can open your own file.
I learnt this the hard way so I just use exFAT and it all works.
Then you have to jump though hoops trying to make yourself the owner just so you can open your own file.
I mean, if you want to set permissions on a drive to a userid and groupid in /etc/passwd and /etc/group on the current machine:
$ sudo chown -R /mnt/olddrive username $ sudo chgrp -R /mnt/olddrive groupname
That’s not that painful, though I guess it could take a while to run on a drive with a lot of stuff.