WTF Bites
-
Same reason why virtually all programming tools have the worst UX imaginable.
You should see just how bad tooling used to be!
And also, no, they don't. A decent IDE has a good UX for what I am doing, these days. Wish they made more than one such IDE but oh well.
-
Same reason why virtually all programming tools have the worst UX imaginable.
You should see just how bad tooling used to be!
Even back then, the end-user apps had much better UX than dev tools of the same era.
-
Same reason why virtually all programming tools have the worst UX imaginable.
You should see just how bad tooling used to be!
Even back then, the end-user apps had much better UX than dev tools of the same era.
Yes, end users do like pretty colors and such.
-
WTF moment of my day (this one's happened before).
We use a database tool called liquibase to do repeatable schema changes. It consumes changesets written in a bunch of different configuration file formats (XML, JSON, YAML, etc). We've standardized on JSON.
But if you have the temerity to use tabs, not spaces, in your JSON anywhere outside a value, it barfs with a fatal error. Yeah. It uses a non-conforming parser, probably including manual tokenization.
So if you do the (legal)
{ "key": [ "value 1", "value 2" ]\t }
it will throw a fatal error.
-
@Benjamin-Hall said in WTF Bites:
It uses a non-conforming parser, probably including manual tokenization.
json.org has a dead simple description of the grammar. It’s really not that hard to get right:
-
@Benjamin-Hall said in WTF Bites:
It uses a non-conforming parser, probably including manual tokenization.
json.org has a dead simple description of the grammar. It’s really not that hard to get right:
Yeah. That's just moronic that they screwed that up.
And now I'm fighting with a mysql issue:
- Initial state: A foreign key column declared nullable, referencing the id of another table (added after creation, so those initial values were null)
- A script that has set all the null values in that column to valid values (ie no more NULL values remaining)
- Now I want to execute
ALTER TABLE foo MODIFY column INT NOT NULL;
- It fails with Error code 150, which the documentation says means that the foreign key relationship was not formed correctly.
- So I tried dropping the foreign key, making the column change, then re-adding the foreign key.
- Dropping it worked fine, making it not null worked fine...and now I can't re-add the foreign key.
Maybe I need to drop and recreate the index on that column?
-
-
@Benjamin-Hall said in WTF Bites:
mysql
Found your problem
For real. And no, dropping and recreating the index didn't do crap.
-
@Benjamin-Hall said in WTF Bites:
@Benjamin-Hall said in WTF Bites:
mysql
Found your problem
For real. And no, dropping and recreating the index didn't do crap.
Derp...the referenced column was a
bigint
(yes, that's a separate ) and the foreign_key column was an INT. Since it was nullable before, it didn't care about that. Now that it's actually doing the check....yeah, that's not going to work.
-
@Benjamin-Hall said in WTF Bites:
@Benjamin-Hall said in WTF Bites:
@Benjamin-Hall said in WTF Bites:
mysql
Found your problem
For real. And no, dropping and recreating the index didn't do crap.
Derp...the referenced column was a
bigint
(yes, that's a separate ) and the foreign_key column was an INT. Since it was nullable before, it didn't care about that. Now that it's actually doing the check....yeah, that's not going to work.Or...actually is me. I, in my liquibase change set, was telling it to make it a NOT NULL INT, when it was a BIGINT all along. DERP.
-
@Benjamin-Hall Sounds surprisingly inflexible for (IIRC) really old MySQL which is usually waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay more flexible than it has any business being.
-
@loopback0 said in WTF Bites:
@Benjamin-Hall Sounds surprisingly inflexible for (IIRC) really old MySQL which is usually waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay more flexible than it has any business being.
BIGINTs are "special" (as in short-bus special).
-
json.org has a dead simple description of the grammar.
Zomg. Who the hell thought those figures needed to be like 2 parsec in each direction? Making them smaller would be start in making that shit readable, but there must be better way than those Duplo-sized blob-charts with rounded edges.
-
@acrow Doesn't danluu.com have an IPv6 address? Either way, I'm now in a different place with a different ISP, with different shenanigans:
$ curl -I tcl.tk HTTP/1.1 403 Forbidden Server: Cisco Umbrella Date: Tue, 08 Jun 2021 09:44:09 GMT Content-Type: text/html Connection: keep-alive
This site has blocked content due to suspicious activity and for safety reasons the domain is blocked
[sic]
-
@aitap Some countries have started blocking domains that host (or allow) content critical of the COVID-vaccines. You may be suffering the consequences. I.e. it may not just be your ISP.
ETA:
Or so I hear - I can't find the article now. And I don't intend to imply anything about the vaccines, in this thread. Just that governments may have swung a banhammer, and perhaps not very accurately.
-
@acrow I think that's just the university network and its policy of blocking
*.tk
because "nothing good ever happens with free second-level domain names".
-
Even back then, the end-user apps had much better UX than dev tools of the same era.
They got more effort applied in fixing them. The worst was the original xedit built with the Athena toolkit. That had UX so abysmal that it would cause you to lose work.
Specifically, they had an editable text field with the full name of the file you were editing, with Load and Save buttons next to it. You had to have the mouse over the field in order to type into it; horrible, but not what I'm complaining about here. No, the issue was that to load a different file to your current one, you'd type the filename into the field and press Load. But if you had unsaved changes in your previous file? It'd warn you. Your natural habit would then be to press Save, and then you would have activated the UX trap!!! Yes, it would save the old file contents… straight over the file that you were about to Load! Switching to either vi or emacs running in a terminal was vastly preferable to that, since they at least didn't trick you into losing your work. (I will not confirm or deny the number of files lost to this. Mostly because it was nearly 30 years ago. I mean, come on guys! But it was at least one, and probably more than that.)
So there you go, the canonical example of Bad UX, at least in my mind. Being butt-ugly is as nothing to having a user interface that runs active sabotage.
-
-
@acrow Doesn't danluu.com have an IPv6 address? Either way, I'm now in a different place with a different ISP, with different shenanigans:
$ curl -I tcl.tk HTTP/1.1 403 Forbidden Server: Cisco Umbrella Date: Tue, 08 Jun 2021 09:44:09 GMT Content-Type: text/html Connection: keep-alive
This site has blocked content due to suspicious activity and for safety reasons the domain is blocked
[sic]
For that specifc domain, try
tcl-lang.org
instead. It's the exact same host serving the exact same content, but it's a different DNS lookup and DNS resolution for Tokelau has a long history of being wonky for messy reasons.
-
You had to have the mouse over the field in order to type into it
Focus follows mouse has always been a retarded Unix-ism, IMNSHO.
-
Focus follows mouse has always been a retarded Unix-ism, IMNSHO.
You certainly don't want it at the individual field level, as that's pretty annoying to use. At the whole-application level, it's not quite so awful. (I don't like it, but it's at least practical to work with.)
OTOH, some of the later Athena-based applications got focus handling right (and Motif certainly did despite being based on the same core as Athena) so it's more something that was really there in those relatively early apps that people discovered “Oh, we don't like that” and stopped doing it that way.
-
Focus follows mouse has always been a retarded Unix-ism, IMNSHO.
"Scroll wheel operates on what's under the cursor" is fine IMO.
-
Focus follows mouse has always been a retarded Unix-ism, IMNSHO.
"Scroll wheel operates on what's under the cursor" is fine IMO.
Yes, but not keyboard entry.
-
@topspin I agree. I mean it's like the exception that confirms the rule.
-
@topspin I agree. I mean it's like the exception that confirms the rule.
Like that analogy confirms that analogies should make sense.
-
Yes, but not keyboard entry.
DIE HEATHEN!
Uhh, I mean, sloppy focus is great. It's a pity that it only sort-of works on Windows. In particular VisualStudio has issues with it, which makes me sad.
-
@Benjamin-Hall said in WTF Bites:
It uses a non-conforming parser, probably including manual tokenization.
json.org has a dead simple description of the grammar. It’s really not that hard to get right:
TIL my homegrown parser is noncompliant.
I'm pretty sure I accept formfeed and vertical tab as whitespace.
Focus follows mouse has always been a retarded Unix-ism, IMNSHO.
"Scroll wheel operates on what's under the cursor" is fine IMO.
I am so glad windows 10 adopted that.
-
I am so glad windows 10 adopted that.
And Excel excels at fucking that up.
-
I'm pretty sure I accept formfeed and vertical tab as whitespace.
I'm pretty sure that you'll be fine, as long as you don't generate those (or pass stuff along without sanitisation).
-
Then fix your fucking page goddammit.
Bonus WTF: my phone's photo edit app cannot crop the picture beyond a certain aspect ratio. I had to leave a few white lines at the edges. Why the fuck does this limitation even exist. It makes zero sense.
-
@Benjamin-Hall said in WTF Bites:
It uses a non-conforming parser, probably including manual tokenization.
json.org has a dead simple description of the grammar. It’s really not that hard to get right:
TIL my homegrown parser is noncompliant.
I'm pretty sure I accept formfeed and vertical tab as whitespace.
Focus follows mouse has always been a retarded Unix-ism, IMNSHO.
"Scroll wheel operates on what's under the cursor" is fine IMO.
I am so glad windows 10 adopted that.
It's so jarring remoting into a server that predates this. I'm getting old enough that most changes annoy me as going against what is obvious and natural (fuck off with your "natural" scrolling direction and fuck you for implying I'm unnatural to want scrolling down to mean moving the page down) but scrolling under the mouse makes so much sense
-
Another day of having to use MS Teams:
This happens to me often enough that I already made a script that wipes all Teams shite from my home and replaces it with something tarbz2ed at a time it happened to work.
-
@Benjamin-Hall said in WTF Bites:
It uses a non-conforming parser, probably including manual tokenization.
json.org has a dead simple description of the grammar. It’s really not that hard to get right:
Assuming that circle means a terminal symbol, what's the bottom path -
whitespace" -> ε
?!
-
@Benjamin-Hall said in WTF Bites:
It uses a non-conforming parser, probably including manual tokenization.
json.org has a dead simple description of the grammar. It’s really not that hard to get right:
Assuming that circle means a terminal symbol, what's the bottom path -
whitespace" -> ε
?!That’s the top path. The bottom path loops back.
-
fuck off with your "natural" scrolling direction and fuck you for implying I'm unnatural to want scrolling down to mean moving the page down
That's such a PITA. Wonder who came up with that, probably a trackpad user. It's so ubiquitous now though that I've wanted to retrain my muscle memory One of These Days™.
-
@Benjamin-Hall said in WTF Bites:
It uses a non-conforming parser, probably including manual tokenization.
json.org has a dead simple description of the grammar. It’s really not that hard to get right:
Assuming that circle means a terminal symbol, what's the bottom path -
whitespace" -> ε
?!The rule matches zero or more consecutive occurences of any of the four whitespace characters.
-
fuck off with your "natural" scrolling direction and fuck you for implying I'm unnatural to want scrolling down to mean moving the page down
That's such a PITA. Wonder who came up with that, probably a trackpad user. It's so ubiquitous now though that I've wanted to retrain my muscle memory One of These Days™.
IIRC it's Apple's fault for "inventing" it and naming it "natural", and everyone else's for uncritically following everything Apple does.
-
@Benjamin-Hall said in WTF Bites:
It uses a non-conforming parser, probably including manual tokenization.
json.org has a dead simple description of the grammar. It’s really not that hard to get right:
Assuming that circle means a terminal symbol, what's the bottom path -
whitespace" -> ε
?!The rule matches zero or more consecutive occurences of any of the four whitespace characters.
That's quite a special definition of whitespace.
-
@Benjamin-Hall said in WTF Bites:
It uses a non-conforming parser, probably including manual tokenization.
json.org has a dead simple description of the grammar. It’s really not that hard to get right:
Assuming that circle means a terminal symbol, what's the bottom path -
whitespace" -> ε
?!The diagram would have been slightly clearer if they'd horizontally elongated the circles and put the words inside them. Not that it's a big deal really.
-
@Benjamin-Hall said in WTF Bites:
It uses a non-conforming parser, probably including manual tokenization.
json.org has a dead simple description of the grammar. It’s really not that hard to get right:
Assuming that circle means a terminal symbol, what's the bottom path -
whitespace" -> ε
?!The rule matches zero or more consecutive occurences of any of the four whitespace characters.
That's quite a special definition of whitespace.
Very useful from parser's perspective.
-
fuck off with your "natural" scrolling direction and fuck you for implying I'm unnatural to want scrolling down to mean moving the page down
It's whether you think you are moving:
- the content in the window, or
- the view pane that's looking at the content.
Both are natural. But they correspond to opposite directions.
-
fuck off with your "natural" scrolling direction and fuck you for implying I'm unnatural to want scrolling down to mean moving the page down
I hate to admit it, but I got used to "natural" scrolling via touchpad, where it took some getting used to but now feels... well... natural.
I haven't tried "natural" mouse wheel scrolling, but I'm pretty sure I'd hate it.
-
@dkf it's "everything is a phone" brain worm again. On touch screen, there is only one natural scroll method, and that is when the content follows the finger. When you transplant that movement onto something that isn't a touch screen, you end up with the opposite of what people have got used to over decades. But Apple knows better than to follow standards.
True story: circa 2011, an official Apple store opened in my city (in Poland, so it was quite something). I went there one to check out what using OSX is like. I shit you not, it took me full five minutes to figure out what you have to do with that buttonless, wheel-less piece of plastic known as Magic Mouse to scroll a window.
-
I shit you not, it took me full five minutes to figure out what you have to do with that buttonless, wheel-less piece of plastic known as Magic Mouse to scroll a window.
-
@Benjamin-Hall said in WTF Bites:
It uses a non-conforming parser, probably including manual tokenization.
json.org has a dead simple description of the grammar. It’s really not that hard to get right:
Assuming that circle means a terminal symbol, what's the bottom path -
whitespace" -> ε
?!The rule matches zero or more consecutive occurences of any of the four whitespace characters.
That's quite a special definition of whitespace.
Seems perfectly fine to me.
With the caveat mentioned above that there are more potential whitespace characters that nobody has used once in the last 30+ years. Whether you want to perpetuate this nonsense like the scroll lock key forever is another question.E: I'm rather glad it doesn't go in the other direction and specifies 436 kinds of unicode space characters that you need a locale dependent parser for.
Filed under: HALF_WIDTH_SPACE_LIGHT_SKIN_TONE_IN_STEAMY_ROOM
-
E: I'm rather glad it doesn't go in the other direction and specifies 436 kinds of unicode space characters that you need a locale dependent parser for.
Thankfully, unlike some other basic properties,
isWhitespace
is always locale-agnostic.
-
Another day of having to use MS Teams:
You're having a meeting with some one in and he's hiding in the ?
-
E: I'm rather glad it doesn't go in the other direction and specifies 436 kinds of unicode space characters that you need a locale dependent parser for.
Thankfully, unlike some other basic properties,
isWhitespace
is always locale-agnostic.For now...
-
On touch screen, there is only one natural scroll method, and that is when the content follows the finger.
I remember using a friend's pre iPhone touchscreen phone which had used the computer convention for scrolling so swiping down started the viewport moving down. It was weird and confusing, in a similar way to moving a scroll wheel down to move the viewport up
-
@Benjamin-Hall said in WTF Bites:
It uses a non-conforming parser, probably including manual tokenization.
json.org has a dead simple description of the grammar. It’s really not that hard to get right:
Assuming that circle means a terminal symbol, what's the bottom path -
whitespace" -> ε
?!The rule matches zero or more consecutive occurences of any of the four whitespace characters.
That's quite a special definition of whitespace.
Seems perfectly fine to me.
Ialwaysuselegitwhitespacetoseparatemywords.
E: I'm rather glad it doesn't go in the other direction and specifies 436 kinds of unicode space characters that you need a locale dependent parser for.
Filed under: HALF_WIDTH_SPACE_LIGHT_SKIN_TONE_IN_STEAMY_ROOM
Even disregarding the semi-conforming-UTF16-encoding WTFs in the standard or that it's legal to use UTF32 to begin with but hex-escaped Unicode must be UTF-16, why would you deal with locale to decide what's whitespace? That's only relevant in non-Unicode locales.
E: by @gaska