Live data from Hacker News

If you're just going to sit there doing nothing, at least do nothing correctly

devblogs.microsoft.com

221–230 of 356 posts

Re: If you're just going to sit there doing nothing, at least do nothing correctly

#222

This mindset is even less ethical than it seems, and I'm not surprised to see it present at microsoft.

This is obviously how they made their recent hit game "authenticator loop" that we all loved so much for a while there, for instance.

Re: If you're just going to sit there doing nothing, at least do nothing correctly

#224
post #140
post #102

Earlier quoted context omitted.

>It serves as a great vehicle to blare loud sirens at testing time that you (the programmer) screwed up (and that's ok, we all do), and it's time to figure out where and how to fix it :) Right, but if you read the article, the author is talking less about the developer experience and more about the user experience. "blare loud sirens" is great if you're a tester/developer, not so much if you're an end user. When it c…

I’m sorry, maybe the article used the wrong example but the main issue comes from the fact that an Xbox app is trying to print something. It should fail, not for the developer experience, but because to start, there is no way the user would want to print something on an Xbox. Something is already really wrong with your app if it tries to do things like this. Also he says that apps are developed and tested on PCs and…

> Something is already really wrong with your app if it tries to do things like this.

The base philosophy of "if it's wrong it should fail" is primarily for developpers, and shouldn't apply to generic customer products.

If it's dangerous, or will cost money, or will have severe ill adverse effects, I'd see the point. If a credit card transaction is wrong, make it fail.

But short of these extremes, the default should be graceful handling of exceptions and help the customer app keep going and deliver some value to the user even if it's poorly written, mishandling the context.

Re: If you're just going to sit there doing nothing, at least do nothing correctly

#225
post #67

Earlier quoted context omitted.

>the same DVI file. Which is used by approximately no one. Good luck uploading your resume in DVI.

Good luck uploading your CV in PDF. I tried that a few times and got moaned at a load that my CV must be in Word format. In the end I converted the PDF into images, and created a Word document in OpenOffice (this was a while ago) with one page image per page. Got moaned at for that too.

I haven't had that experience for a single job that I ever applied to. Always sent in PDFs without any issues.

Re: If you're just going to sit there doing nothing, at least do nothing correctly

#226

Earlier quoted context omitted.

There is no deception. There are no printers, and that's what the API returns.

The deception is concealment of the fact printing is unsupported. Nk printers is merely a cover story. "Not­Supported­Exception" is there for a reason.

Nothing is being concealed. If you want to know if printing is supported, call IsPrintingSupported. The information is there, the API is there.

Re: If you're just going to sit there doing nothing, at least do nothing correctly

#227

Earlier quoted context omitted.

What do you mean by "ethical" here, and why is it unethical to preserve ABI compatability?

I didn't say it's unethical to preserve "ABI compatability." It's the software equivalent of the Chinese government gaslighting everyone while they wait for the dancing grannies to get the hint and go home. It is, in fact, the exact same technique. And not only that, we're fast approaching the day where we all power on our PCs to discover that you can login with any user you like. And it gives you the list of all use…

It's nothing of the sort. They provide APIs to check if functionality is supported and encourage their use. Helping users deal with apps that weren't written to deal with them isn't lying to users.

Re: If you're just going to sit there doing nothing, at least do nothing correctly

#228

Wrong, errors should not go unnoticed, let alone helping them to propagate. Cascading effects should be kept on a short leash. System takes one step in the wrong direction, kill it. The two most miserable things are, things not happening and there's no feedback on why, and, the other extreme, when things are overengineered and no one can predict where problems might cascade to.

lord grant me the confidence of someone who reads a thoughtful explanation of a problem and its solution by Raymond Chen and responds with "Wrong, "

It's hilarious, Chen has been doing this right - on the bleeping internets for all to see - for thirty years and we've greenhorns going "Nah, mate, you're doing it wrong."

Re: If you're just going to sit there doing nothing, at least do nothing correctly

#229
> “I asked for a widget, and you gave me one, and then when I showed it to you, you said, ‘That’s not a widget.’ This API is gaslighting me!”

The entire point, it should be noted, is to gaslight the app. But the API must be good enough at gaslighting that the app doesn't discover the lie.

Re: If you're just going to sit there doing nothing, at least do nothing correctly

#230

I've learned this as "swallowing errors" and IMO it's a poor practice. Not only does it not solve the issue at hand (you cannot print on an xbox), but it actively hides how broken the software is, which makes bug discovery and testing much harder. This is one thing I like about Go's panic. You're mostly not supposed to use it or recover from it at run time. It serves as a great vehicle to blare loud sirens at testing…

> The idea here is to have the printing functions all behave in a manner perfectly consistent with printing being fully supported, yet mysteriously there is never a printer to print to.

That kind of thing intuitively sounds bad. But I guess of this is in a space shuttle I would take that back.

Post reply on HN