It's more common for programs that say they support UTF-8 to not really do so at all. It wasn't that long ago that "UTF-8" support was often just single byte, so it was little more than ASCII. Even now it's common for programs to choke on the optional BOM. Yes, it is redundant, congratulations. The spec still explicitly allows it. Three and four byte character support is still not the best, too.
> "UTF-8" support was often just single byte, so it was little more than ASCII
"Single byte UTF-8" is ASCII. That's one of its most important properties.
> Even now it's common for programs to choke on the optional BOM
And they should... BOMs (and especially the hilarious UTF-8 BOM) are strictly a legacy Microsoft/Windows thing and should be abolished along with "extended" 8-bit ASCII encodings and UCS-2/UTF-16 (only UTF-32 makes sense, but should only be used at runtime to allow random access on UNICODE code points, but not for data exchange.
Your opinion on the BOM isn't wrong, but it's also not germaine to whether or not you're actually following the spec. The spec is the spec. If you don't like it you can get the spec changed. You don't get to ignore the spec and then claim support. That's not how standards work. "I don't like it," isn't a good explanation.
Otherwise I'd be inclined to fix the spelling error in the HTTP referrer.
> BOMs (and especially the hilarious UTF-8 BOM) are strictly a legacy Microsoft/Windows thing
How should a reader infer the bye order for a UCS-2 or UTF-16 file without a BOM? It seems like one would have to read until finding a code point that would be illegal under one ordering (but files might not include such a code point).
Similarly, a UTF-8 BOM is a useful flag to distinguish UTF-8 from other text encodings. You are right that the ambiguity goes away if those other encodings do, but people don't want to rewrite their legacy files. Some people don't want to use two bytes for common non-ASCII characters, so they are really attached to ISO-8859 or Windows-1252 or koi8r or whatever. CJK languages have their own encodings that are more efficient for their languages. UTF-8 is great for English speakers, but it's a compromise for everyone else, so they might reasonably want incompatible systems for their own use. UTF-8 BOM is a good "magic" sequence to detect encoding as long as people have non-UTF-8 files.
> How should a reader infer the bye order for a UCS-2 or UTF-16 file without a BOM?
Simple: switch to UTF-8 as the only encoding standard for sharing text data, keep UTF-32 as 'internal' runtime format for random access to codepoints, and get rid of all other legacy encodings (UCS-2, UTF-16, Extended ASCII with code pages, and all the other region specific encodings that popped up in the 70s and 80s because UTF-8 wasn't invented yet.
This general switch to UTF-8 should have happend in the mid-to-late 1990s (e.g. together with the web becoming popular), and Microsoft alone is to blame for dragging this shit along for the next three decades. If all Microsoft tools would only save text data as UTF-8 starting by the end of the last century, but still support reading all sorts of encodings for a decade or so, the transition would have been finished by 2010. Alas, that never happened.
And tbh, the file size argument for alphabets that don't fit into 7-bit ASCII doesn't really make sense anymore today where images and videos make up the vast majority of data volume.
CJK characters is the one big weak point of UTF-8. It forces them to be 3 bytes large instead of the local codepage which is 2 bytes per character, or UTF-16 which is also 2 bytes per character.
IMHO a 30 percent size increase for sharing text data is really not a problem when most data sharing (by volume) happens via audio, video and image data which is infinitely larger. We obviously have both the bandwidth and storage volume to spare for those 30% increased size for text data which among all the other data would account for a tiny fraction of a percent.
Oh, does that mean I get to say you're ironic because, literally, they didn't tell anyone to do anything. They said they didn't understand the worth of the opinion. You're interpretation is selectively literal in order to be rhetorical.
Does that mean someone else gets say I'm being ironic because I'm selectively literal in order to be rhetorical? Well, okay, I guess it's harder now.
You're interpretation is selectively literal in order to be rhetorical.
Where do you think you are ?
Most of us are in tech/IT/research the population in the spectrum here is orders of magnitude bigger than the avg on real life. SO yeah people will be literal in order to be rhetorical. Not even selectively, this is the one site where you NEED to use /s unironically.
I have definitely seen job postings that were so detailed and narrow that they couldn't possibly find anyone "qualified". They were clearly making it so that it would be easier to claim that nobody in the country was qualified.
But I will say that the only people I have met that are here on H1-B have been uniquely qualified for their position. Such as, they invented a way to scale a given chemical manufacturing process, and they were developing it further.
But I got the impression that they were not particularly well paid like I would expect an American in the same position to be.
I've observed more that H1B's keep employee mobility lower, so employees on H1Bs tended to be paid less due to the natural bumps that come out of switching jobs every few years, especially going from an associate to senior/staff level where often the company throws a small raise with promotions that don't keep up with market rates.
One other factor that I experienced is when I was in senior leadership we absolutely tracked 'flight risk' that factored in to retention programs for top talent, and H1Bs were by the nature of it viewed as lower flight risks so less likely to fall into these programs.
Google is an overwhelming market leader vertically and horizontally. Not only do they not have to compete with their competition. They don't have to compete for their competition's business partners. They don't have to compete at all.
What's more, they're a publicly traded company. That means their primary product is no longer what they sell. Their primary product is stock dividends. That is their primary business now. Whether you're buying a service or a product from Google, you're no longer their true customer.
They treat such customers like they don't matter because they don't. And until they stop being in such a position of dominance, or someone magically transforms the whole of American business culture it won't change.
> What's more, they're a publicly traded company. That means their primary product is no longer what they sell. Their primary product is stock dividends. That is their primary business now. Whether you're buying a service or a product from Google, you're no longer their true customer.
It's not hero worship to think he knew what a customer was. It's pretty basic, and given he won the 1976 Nobel Memorial Prize in Economic Sciences, he probably knew more than the basics.
I think it was obviously intentional because they haven't accepted the solution yet.
The purpose is to announce that they are aware of the claims of a solution, not to announce that a solution has been accepted. They're waiting on the required two year timeline before announcing whether or not the solution is accepted. Their writing reflects that they are explicitly NOT accepting a solution until then.
In my experience, this is the only kind of software that ends up not sucking. If development is not driven by users in a very intimate way -- like being one and the same person -- then you routinely end up with necessary features only half working or splitting essential information across multiple screens or dialogs. Eating your own dog food is essential to rising above that, because only that reality will overwhelm the developers sense of the "proper" way to do things.
I believe it's the major reason that industry specific information systems are universally shitty. The user can't articulate what they need to accomplish and the developer doesn't really understand the purpose or importance of the work. Result is bad functioning or bad interface.
It's why only software like text editors and web browsers gets to be really good. Huge user base. Lots of developers involved.
Git kinda proves that it's not infallible, though.
> It's why only software like text editors and web browsers gets to be really good. Huge user base. Lots of developers involved.
There's lots of great software out there that you interact with every day that was written by a small number of developers to clear requirements. Your car ABS brakes. Your coffee maker. Your brushless drill. Your TV remote. Think of the fact that majority of the microprocessors and microcontrollers that you interact with every day have software that you never think about, because it just works and gets out of the way. (And think of the cases -- maybe your dishwasher, your smoke detector, whatever -- where that's not the case! It really drives home how incredibly pleasant just-works-without-thought really is.) It's only these big, large team, overly complex systems where the expectations are so low that even the crap that is a current web browser is considered acceptable, let along "not sucking."
You're mistaking shitty software for software that doesn't work. Shitty software is 100% functional. You just hate it.
By intentionally picking the software that eliminates the UI, when the whole benefit of computers as a tool is that the UI is infinitely flexible, you're picking shitty software that doesn't appear that shitty. But it still is.
I mean, I hate the way my TV remote works and have wanted to change it. But I can't. It has buttons that open NetFlix or Apple TV that I can't change, and I don't have any ability to reprogram them because the companies paid for it to be a permanent advertisement I can't get rid of. That sucks.
But also, I think we only have to look far for what shitty appliance software looks like. VCRs and microwaves are notorious for having shitty software. As soon as we introduce a network, suddenly the software sucking is an immediate problem: witness the nightmare stories of Jeep updates, Tesla lockouts, and paywall feature locks when the hardware is present. Or we can look at the spying done by LG that you can't turn off. Or the forced advertising that Samsung showed they can do to your fridge.
Or how automobiles need an OBD reader even thought they ship with a built-in tablet. Or how the OBD codes are something you have to pay for. Or how you might not be able to disable the stupid "shut the car off" feature when you stop at a red light.
Shitty software on microcontrollers is some of the most tyrannical shitty software there is.
> when the whole benefit of computers as a tool is that the UI is infinitely flexible
I think this statement is insane. The benefit of computers is that they allow complex behaviors to be defined and implemented. The benefit of software is that it’s the lowest-NRE way of defining those complex behaviors. UI doesn’t come into it, except in a few edge cases like desktop computers, phones, appliances, etc. A climate model’s “benefit” comes from its output, not the form in which it generates output or takes input.
Okay, I don't really feel like your going for a good faith interpretation of the points I'm trying to make. You're taking things hyper literally and out of context. I don't feel like you're really trying to understand what I'm saying at all.
> It's why only software like [...] web browsers gets to be really good.
Huh? Web browsers are still laughably bad even after all these years. They are engineering marvels, certainly, but using them leaves a lot to be desired. I cannot imagine anyone would voluntarily use them if the ultimate function was equally available another way.
You mean installing the Reddit, X and Instagram apps on my phone? I use them in the browser because the browser is so terrible they don't spy on me as much.
I'm a native speaker and I agree. "Ought" can connote an obligation or responsibility of some sort. "Should" is used more often when the outcome is out of any control. It might only be the speaker's belief.
I think it originates with the early web. JSON being a replacement for XML, and "document" being the general description for the response to a web server.
I think when people are complaining about Captcha they're complaining about yet another "pick 6-20 pictures of traffic lights/school busses/stairs/stop signs/bicycles."
> If they want to train an AI they should pay for it like everyone else.
They're paying for electricity and taking data without paying for it. It seems to me that they're paying for it exactly the same way everyone else in AI did.
Does the bot include the rider when identifying bicycles? When is an ebike a motorcycle/no longer a bicycle? The support structure for a traffic light or just the coloured light bits?
Not in this case. I wish I could find the actual post, but I recall reading a post on HN recently where a majority of the commenters were claiming that when they even see a Cloudflare verification checkbox that they leave the website.
This makes no sense to me as in my experience, you click the checkbox and then it verifies you without extra steps.
Usually but not always. The challenge is after clicking the checkbox, if it can't manage to verify automatically. So those users have learned not to bother.
For me it's very strange: I'd say about 7 times out of 10 it loads the checkbox for five to ten seconds, then I check it, then it loads for another five to ten seconds, refreshes the page, shows me a second checkbox, we go through the whole song and dance again, and then it lets me in.
It's more common for programs that say they support UTF-8 to not really do so at all. It wasn't that long ago that "UTF-8" support was often just single byte, so it was little more than ASCII. Even now it's common for programs to choke on the optional BOM. Yes, it is redundant, congratulations. The spec still explicitly allows it. Three and four byte character support is still not the best, too.
reply