News for hackers. Stuff that matters.
Re:You can't just assume UTF-8 by nomel on Monday April 29, 2024 @07:31PM (#40205455)
I've tried telling users "sorry, your file isn't to spec", and they say "but it works with <competitor>", and that ideology flies right out the window, along with their money.
Re:You can't just assume UTF-8 by ryandrake on Monday April 29, 2024 @08:13PM (#40205825)
Exactly. "Accepting and trying" is how a lot of popular software won their market. Look at HN's favorite media player, VLC. In the past, media player software were horrible, refusing to play all but the most tightly constrained set of allowed containers/codecs. I remember spending the early 2000s trying to get Windows Media Player to play MPEGs by downloading codec packs and trying to cast secret spells into the Windows Registry. Yuck! Then along comes VLC which accepts whatever you throw at it, and that software is basically everywhere now. You can throw line noise at VLC and it will try its best to play something!
Re:You can't just assume UTF-8 by pixl97 on Monday April 29, 2024 @08:11PM (#40205807)
That's when you ask to see their file, then hack <competitors> system.
Re:You can't just assume UTF-8 by thfuran on Monday April 29, 2024 @08:56PM (#40206133)
People will pay you to do all kinds of terrible not-robust things.
Re:You can't just assume UTF-8 by Joker_vD on Tuesday April 30, 2024 @03:56AM (#40208336)
Yes, and that's why Postel's law is more of an empirical observation (a law of nature, if you will) on which software survives and which doesn't. You may dislike it but that won't make it go away.
Re:You can't just assume UTF-8 by nomel on Wednesday May 01, 2024 @02:27PM (#40227223)
I see it as the opposite, actually. They will pay you for a robust product: one that works for them. They have no care for the technical minutiae of your implementation, because they're just trying to do actually interesting things, with the help of your product. This is the customer perspective.
Re:You can't just assume UTF-8 by silotis on Monday April 29, 2024 @09:01PM (#40206164)
The trick is to enforce conformance right from the start in the first implementation of a format. Shipping a product that doesn't interop with the existing tools is a non-starter so the devs will have to fix their shit first.

As you say, unfortunately the genie cannot be put back in the bottle for formats that already have defective implementations in the wild.

Re:You can't just assume UTF-8 by riffraff on Tuesday April 30, 2024 @12:51AM (#40207360)
The problem is that unless you restrict everyone else you'll get your own product not to interact with *new" tools too.

E.g. you produce valid .wat files, but my software which also outputs those has some bits screwed up.

My program can read both .wat but yours can't, but I have 5% market share.

Your users complain they sometimes receive files your software can't read while the competitor can. Do you tell them "well that file is invalid, tell whoever sent it to you to change the software they use"?

The genie can't stay in the bottle unless you have some sort of certification authority and even that may not be enough (see USB)

Re:You can't just assume UTF-8 by thfuran on Tuesday April 30, 2024 @09:26AM (#40210746)
But the more every actor aims to follow the spec rather than reproduce everyone else's bugs, the less quickly the ecosystem devolves into a horrid tangled mess that's nigh impossible for a new entrant.
Re:You can't just assume UTF-8 by quectophoton on Tuesday April 30, 2024 @03:39PM (#40215345)
"So you're saying that I can have an advantage over everyone else if I implement all the spec features, plus one extra feature that adds convenience to our users?

And you're saying that by doing this, not only do I gain an advantage over the existing competition, but I also make it more difficult for more competitors to appear?

[takes notes]"

Re:You can't just assume UTF-8 by thfuran on Wednesday May 01, 2024 @11:21AM (#40224560)
Microsoft is a few decades ahead of you there.
Re:You can't just assume UTF-8 by jimjimjim on Monday April 29, 2024 @09:42PM (#40206398)
This is the answer.

The customer does not know. They just want it to work. They may be using something that someone else gave them. The original source system of the file may not be changeable. But most importantly, their boss just wants it to work. or else.