WTF Bites
-
For web, we generally don't (or shouldn't) show any technical information to the user, as any user is potentially malicious.
Nobody wants technical information. Just distinguishing between whether upload is too big, uploading given type of file is not allowed, invalid request (retrying is futile, but filing a bug report might help), backend resource error (try a few more times, contact support if it does not help), and connection error (check your internet works before contacting our support).
At best, they get a reference number that can be used by internal support to look up the relevant logs
Every application that makes users contact support to find that they are trying to upload file larger than their administrator allowed should have a disclaimer on the main page saying:
We apologize for making you fat, but we are idiots who don't get the difference between information that should be confidential for security reasons and information that is necessary for decent user experience.
-
@topspin I think it's important to make the distinction between form validation and server errors. Or perhaps client-side and server-side errors. If the user has done something wrong, developers should provide immediate and detailed feedback, preferably before the form is submitted. If the server has done something wrong, then an internal resource needs to do the needful and the client just gets the "whoops, we fucked up" message.
We even have distinct HTTP error code ranges. 4xx: client error (e.g. bad request, file not found, , you're trying to talk to a teapot) and 5xx: server error (internal error, not implemented, bad gateway, service unavailable)
-
@loopback0 said in WTF Bites:
Obviously for expected errors such as "this file is larger than the configured limit" then display the message but otherwise there isn't a useful message to show other than "something unexpected happened".
If there's something that the client should do differently, the client should be told what it is. Validation failures really should be reported to clients! OTOH, Security is Different™. There the failure cause should not be reported, and the norm seems to be to also not log it at all. Because why would you want anyone at all to ever figure out WTF is going wrong?!
75% of the time the dev hides the error like a cat burying a turd anyway.
-
When did we decide "Oops :(" is an acceptable error message?
About the time all the computery stuff got so complicated that most users don't have a clue what they are doing any more, and most developers are not significantly better off. Because, you see, technical details won't be helpful for people who don't have a clue what they are doing even if everything works .
That’s why it’s called technical details. If you don’t care for the details, don’t click on them.
But don’t make an error message that says
Oops :(
Technical details
Oopsie Doopsie.Yes, boss, we added error handling. All possible errors are now being handled
void main(void) { try { real_main(); } catch { print("oopsie!"); } }
That's far too much information.
Just do nothing with the error. Don't tell. Nothing went wrong. The user won't find out...
That's the preferred style of error handling by Kevin and Fritz (the Quality guy).
-
@BernieTheBernie said in WTF Bites:
When did we decide "Oops :(" is an acceptable error message?
About the time all the computery stuff got so complicated that most users don't have a clue what they are doing any more, and most developers are not significantly better off. Because, you see, technical details won't be helpful for people who don't have a clue what they are doing even if everything works .
That’s why it’s called technical details. If you don’t care for the details, don’t click on them.
But don’t make an error message that says
Oops :(
Technical details
Oopsie Doopsie.Yes, boss, we added error handling. All possible errors are now being handled
void main(void) { try { real_main(); } catch { print("oopsie!"); } }
That's far too much information.
Just do nothing with the error. Don't tell. Nothing went wrong. The user won't find out...
That's the preferred style of error handling by Kevin and Fritz (the Quality guy).Finally, a use case for a pro-forma root Exception subclass. That you could at least tie instantiations of to monitoring. Except, I'm guessing they are catching more API than application exceptions if they're this steeped in the Catbox School of error handling.
I've had good results with "looking for keys in the dark" and "overdriving headlights" analogies to put zorch behind visibility.
-
Is there a file size limit? Well, who knows, but if there is it surely isn't telling you about it.
Why does nothing tell you what's went wrong anymore so you can fix it? When did we decide "Oops :(" is an acceptable error message? At least tell me if the error message may be intermittent or if retrying will continue to fail.We recently added a feature where users upload documents. We created a service running on its own instance of tomcat, but on the same machine as our app server.
Had a guy try to upload a 700MB ppt with Tina of embedded videos. They have a special server for that so he wasn't supposed to be doing that, but it kept failing. The app server only got a failure code from the file service.
Turned out that we were running out of disk space. All told, three temp files get saved before it's shipped off to the db.
-
-
@boomzilla said in WTF Bites:
with Tina of embedded videos
Who's Tina and how does it translate to embedded videos?
-
@boomzilla said in WTF Bites:
with Tina of embedded videos
Who's Tina
and how does it translate to embedded videos?
Rule 34.
-
@HardwareGeek I suspect Dilbert may be the only piece of media immune to R34, but I really really don't want to google it to verify.
-
@HardwareGeek I suspect Dilbert may be the only piece of media immune to R34,
I doubt it.
but I really really don't want to google it to verify.
#MeToo
-
@HardwareGeek said in WTF Bites:
@HardwareGeek I suspect Dilbert may be the only piece of media immune to R34,
I doubt it.
but I really really don't want to google it to verify.
#MeToo
Someone has to.
-
@HardwareGeek said in WTF Bites:
@HardwareGeek I suspect Dilbert may be the only piece of media immune to R34,
I doubt it.
but I really really don't want to google it to verify.
#MeToo
Someone has to.
Paging @Tsaukpaetra.
-
@HardwareGeek said in WTF Bites:
@HardwareGeek I suspect Dilbert may be the only piece of media immune to R34,
I doubt it.
but I really really don't want to google it to verify.
#MeToo
Someone has to.
Paging @Tsaukpaetra.
I checked, there is plenty.
-
@HardwareGeek said in WTF Bites:
@HardwareGeek I suspect Dilbert may be the only piece of media immune to R34,
I doubt it.
but I really really don't want to google it to verify.
#MeToo
Someone has to.
Paging @Tsaukpaetra.
I checked, there is plenty.
Zod bless you sir.
-
@loopback0 said in WTF Bites:
@dkf I guess I misunderstood the part of your post that I replied to because I wasn't suggesting logging anything that results in problematic quantities of logs being written.
Yes. Since turning on error logging would reveal how many torrents of errors are happening per second. Or something.
-
@Tsaukpaetra said in WTF Bites:
@loopback0 said in WTF Bites:
@dkf I guess I misunderstood the part of your post that I replied to because I wasn't suggesting logging anything that results in problematic quantities of logs being written.
Yes. Since turning on error logging would reveal how many torrents of errors are happening per second. Or something.
If you hook that to a metric vs a log the impact can be reduced by... log. Shit, that can't be right.
-
Nag popup, asking for feedback.
Options are:
- Yes, I like it, leave a positive review.
- No, I don't like it, tell us why (privately so as not to affect our review scores)
- Ask me later
There's no fuck off forever and leave me alone button.
You click "yes I'll give five stars!" and then close the store.
-
@Tsaukpaetra said in WTF Bites:
Nag popup, asking for feedback.
Options are:
- Yes, I like it, leave a positive review.
- No, I don't like it, tell us why (privately so as not to affect our review scores)
- Ask me later
There's no fuck off forever and leave me alone button.
You click "yes I'll give five stars!" and then close the store.
I review all aspects of the experience they lack control over.
3/5 on video, Bob is funny looking.
4/5 on audio, somebody had like a cold, and their voice was all, y'know.
-
-
@Tsaukpaetra said in WTF Bites:
Nag popup, asking for feedback.
Options are:
- Yes, I like it, leave a positive review.
- No, I don't like it, tell us why (privately so as not to affect our review scores)
- Ask me later
There's no fuck off forever and leave me alone button.
You click "yes I'll give five stars!" and then
close the store.leave a nasty review bomb.
-
@Tsaukpaetra said in WTF Bites:
Nag popup, asking for feedback.
Options are:
- Yes, I like it, leave a positive review.
- No, I don't like it, tell us why (privately so as not to affect our review scores)
- Ask me later
There's no fuck off forever and leave me alone button.
You click "yes I'll give five stars!" and then
close the store.leave a nasty review bomb.Sounds like more effort...
-
(Too much) information is not always a good thing, either:
Sorry, but as a customer, fixing concurrency problems in an IBM database is not my job
-
Trying to upload a bunch of files to a project partner's SharePoint (sigh). I get these lovely error messages:
Sorry, for some reason this document couldn't upload. Try again later or contact your administrator. Sorry, for some reason this document couldn't upload. Try again later or contact your administrator. Sorry, for some reason this document couldn't upload. Try again later or contact your administrator. Sorry, for some reason this document couldn't upload. Try again later or contact your administrator.
Some reason. How very informative.
I do try again and now for "some reason" it works. Network hiccup? Who knows.An hour later I again want to upload a different bunch of files and it fails again. Try again, fails again. Since it's proven to be nondeterministic I try again 5 times, just to always fail. Well, maybe this time there is some other reason it doesn't tell me.
I try to upload the files individually and all work but one, which repeatedly fails with:
Very technical details, much wow.
Of course the troubleshoot link does nothing.So since the one file that keeps failing is the only one that is just barely larger than 50MB, I figure that could be the issue. I zip it and it works.
Is there a file size limit? Well, who knows, but if there is it surely isn't telling you about it.Why does nothing tell you what's went wrong anymore so you can fix it? When did we decide "Oops :(" is an acceptable error message? At least tell me if the error message may be intermittent or if retrying will continue to fail.
Train the trainer, in action. The lead knows how to handle errors vs input issues vs etc., and tells the junior, who understands only part of it, and the other junior argues them out of the correct portion of their understanding, then unless the lead never ever takes vacations like getting a full 8 hours sleep, bullshit ends up in prod.
-
-
Ordered some locks on Amazon. A set of 4 knobs and 4 deadbolts, all keyed alike. I repeat, a set. Single item on receipt. They arrived in a single product box, inside were 4 smaller boxes, inside of each there was another box to separate levers from deadbolt. Each individual lock had a set of 3 keys.
Status: Sitting on a pile of 24 identical keys from a single set.
-
So you're the keymaster?
https://www.youtube.com/watch?v=N9L7UUp0FxY
-
Status: UE4, where every Minor version might as well be a Major version, and the so-called major version is really just the product class...
Also, why not just fucking make the builder download these for you?
It already has a GitDependencies that downloads shit like this, why does a developer have to search (yes, it's not obvious where to get to this page without searching and the first result is not correct) for a page that has a pretty consistent set of links?
Just go "Hey, I didn't find Linux package when you asked me to build for it. Wanna grab it real quick? I'll put it in the 3rd-Party folder like everything else for convenience".
Why is this hard?
-
@Tsaukpaetra game dev hard parts must retain their air of mystery
-
-
Ordered some locks on Amazon. A set of 4 knobs and 4 deadbolts, all keyed alike. I repeat, a set. Single item on receipt. They arrived in a single product box, inside were 4 smaller boxes, inside of each there was another box to separate levers from deadbolt. Each individual lock had a set of 3 keys.
Status: Sitting on a pile of 24 identical keys from a single set.
This is a common service at, e.g., Home Depot, to get your new lock keyed the same as your existing key. Of course, that's intentional. Yours maybe not.
-
-
@boomzilla I think the isn't the locks being keyed the same, but the excessive number of included keys
-
@boomzilla I think the isn't the locks being keyed the same, but the excessive number of included keys
I mean...it's 3 keys per lock. He bought a lot of locks. Sure, if you're buying them all to go together it adds up, but it doesn't seem outlandish to get 3 keys when you buy one.
-
-
@boomzilla said in WTF Bites:
Ordered some locks on Amazon. A set of 4 knobs and 4 deadbolts, all keyed alike. I repeat, a set. Single item on receipt. They arrived in a single product box, inside were 4 smaller boxes, inside of each there was another box to separate levers from deadbolt. Each individual lock had a set of 3 keys.
Status: Sitting on a pile of 24 identical keys from a single set.
This is a common service at, e.g., Home Depot, to get your new lock keyed the same as your existing key.
I was at Home Depot and they told me they don't do rekeying at all. Not even for the lock that says on the package that Home Depot can rekey it.
-
@boomzilla said in WTF Bites:
Ordered some locks on Amazon. A set of 4 knobs and 4 deadbolts, all keyed alike. I repeat, a set. Single item on receipt. They arrived in a single product box, inside were 4 smaller boxes, inside of each there was another box to separate levers from deadbolt. Each individual lock had a set of 3 keys.
Status: Sitting on a pile of 24 identical keys from a single set.
This is a common service at, e.g., Home Depot, to get your new lock keyed the same as your existing key.
I was at Home Depot and they told me they don't do rekeying at all. Not even for the lock that says on the package that Home Depot can rekey it.
Dunno...I've had it done multiple times. But it's possible that the store you went to has...issues.
-
@boomzilla it seems like every store in Chicago has issues. Every supermarket employee I've met here has been lazy or incompetent, or both.
-
@boomzilla said in WTF Bites:
Ordered some locks on Amazon. A set of 4 knobs and 4 deadbolts, all keyed alike. I repeat, a set. Single item on receipt. They arrived in a single product box, inside were 4 smaller boxes, inside of each there was another box to separate levers from deadbolt. Each individual lock had a set of 3 keys.
Status: Sitting on a pile of 24 identical keys from a single set.
This is a common service at, e.g., Home Depot, to get your new lock keyed the same as your existing key.
I was at Home Depot and they told me they don't do rekeying at all. Not even for the lock that says on the package that Home Depot can rekey it.
The Locksmith Union must have bought them off. It is the Chicago area as you note...
-
@boomzilla said in WTF Bites:
Ordered some locks on Amazon. A set of 4 knobs and 4 deadbolts, all keyed alike. I repeat, a set. Single item on receipt. They arrived in a single product box, inside were 4 smaller boxes, inside of each there was another box to separate levers from deadbolt. Each individual lock had a set of 3 keys.
Status: Sitting on a pile of 24 identical keys from a single set.
This is a common service at, e.g., Home Depot, to get your new lock keyed the same as your existing key.
I was at Home Depot and they told me they don't do rekeying at all. Not even for the lock that says on the package that Home Depot can rekey it.
Well, you're Polish.
-
@dcon That's a nice Home Depot you have there. Shame if something happened to it.
-
@lolwhat said in Novel Bioweapon Conspiracy Thread (WARNING: ):
Why the hell would I want to do that?
-
// TODO: remove this later
Copyright © 2018
-
-
@topspin don't worry, I'm sure this will stay in place for at least a decade.
-
@Gąska my favorite one I stumble upon once a year or so (and don't change myself either because I'm not changing anything related to it) is this little gem of idiocy:
for(int i=0;i<N;i++) v[i]=0; //TODO faster with fill
If you think that's faster, surely using that in the first place would have taken no more time than writing that goddamn TODO comment.
-
// TODO: remove this later
Copyright © 2018
What's so bad about 2018? 2020 is the that should be removed.
-
If you think that's faster
It might not be, FWIW. That's the sort of thing that compilers pick up on for microoptimization.
-
-
If you think that's faster
It might not be, FWIW. That's the sort of thing that compilers pick up on for microoptimization.
Both will be replaced with memset by a decent compiler. But it's been in there long enough, maybe that wasn't true. Not that the author would know either way.