Live data from Hacker News

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

devblogs.microsoft.com

281–290 of 356 posts

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

#281
post #276
post #273

Earlier quoted context omitted.

Linux kernel on its own doesn't run software.

But it comes with drivers supporting very old hardware, hence the inclusion.

That alone still doesn't run applications.

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

#282
post #281
post #276

Earlier quoted context omitted.

But it comes with drivers supporting very old hardware, hence the inclusion.

That alone still doesn't run applications.

GNU/Linux + the linux kernel.

Somehow, it feels like you don't actually care about the point I was making as much as putting me down. I misspoke...barely, yet you're so fixated on pointing it out in the most unhelpful manner. You keep replying so why not try using more than one sentence next time?

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

#283

Earlier quoted context omitted.

> It's hard to overstate how hard Microsoft has worked to maintain backwards compatibility. Here's a pretty detailed list: - It is possible to target Windows XP SP3 (released 2008, EOL 2014, 10 years ago) from Windows 11 and Visual Studio 2022[1] using C++23. Windows 2000 can be targeted with a little more setup[2]. Windows 2000 is 24 years old this year. - It is possible to run a binary written for and compiled in W…

This is impressive, but other parts of Windows are so dreary. Installs of apps that throw up all over the disk, Windows Updates that mysteriously fail in unrecoverable ways 87% of the way through and cryptic error codes and procedures to dig yourself out of the jam (before you must reinstall).

> Installs of apps that throw up all over the disk

This seems like a norm for most operating systems. Linux mixes files from all sorts of apps all over the place, for example, and a `make install` might put files anywhere.

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

#284
post #108

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…

Error design depends on context. For most of the systems I work on, fail fast on request for anything out of spec is the correct design. B2B/Microservices/API focused systems. Windows however has focused on bending over backwards to provide compatibility (including memory patching popular software that was broken, like Simcity https://arstechnica.com/gadgets/2022/10/windows-95-went-the-... ). In the context of a user…

> Microsoft learned that it doesn't matter why the BSOD occurred, just that bad software/hardware was giving them the bad reputation.

But the primary resolution to that problem was to force hardware vendors to write higher quality drivers (or for MS to write good enough default drivers that HW vendors wouldn't need their own), not to hide the BSOD. Technical details were only removed from them 2 decades after MS started fixing drivers.

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

#285
post #282
post #281

Earlier quoted context omitted.

That alone still doesn't run applications.

GNU/Linux + the linux kernel. Somehow, it feels like you don't actually care about the point I was making as much as putting me down. I misspoke...barely, yet you're so fixated on pointing it out in the most unhelpful manner. You keep replying so why not try using more than one sentence next time?

Now that you got there, which distribution released in 2023 allows me to run a GNU/Linux binary compiled in 2000, regardless of the distribution it was compiled on back in 2000?

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

#286
post #285
post #282

Earlier quoted context omitted.

GNU/Linux + the linux kernel. Somehow, it feels like you don't actually care about the point I was making as much as putting me down. I misspoke...barely, yet you're so fixated on pointing it out in the most unhelpful manner. You keep replying so why not try using more than one sentence next time?

Now that you got there, which distribution released in 2023 allows me to run a GNU/Linux binary compiled in 2000, regardless of the distribution it was compiled on back in 2000?

What am I chatgpt? Just make your point and tell us which 2000 binaries don't run and we can argue about whether or not that counts as a mark against backwards compatibility.

Also, is this a trick question about binaries that weren't patched for y2k or something?

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

#287
There are widely used practices for API design and versioning that work well today. While this article's kludgy approach to backward compatibility may have been passable a few decades ago, this is a terrible way to approach the problem in 2024, specially with services & APIs being deployed & distributed across platforms.

The article illustrates how *not* to build APIs.

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

#288

Earlier quoted context omitted.

Code like this often runs during application startup. It's not just printers.

The situation is "What should happen if an app tries to print on an Xbox?". I do not believe code that tries to print often runs on app startup.

Printing is one example of this pattern - there are plenty of reasons APIs end up unsupported

Printing may also run on startup. Consider software for a vinyl cutter which looks for the device when beginning.

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

#289

Earlier quoted context omitted.

There are many forms of "crappy". Developer hygiene is one bar; user functionality is another. "Crappy" here refers entirely to developer hygiene, which the user does not care about at all. If the platform changed and Angry Birds crashed, the customer would not accept "but look at all of these other Angry Birds clone games still available" as an answer, they want the app they are familiar with.

> If the platform changed and Angry Birds crashed Angry Birds doesn't print AFAIK. The scenario is an app being run on a platform that doesn't meet its declared system requirements. If an app requires Windows, and customer tries to run it instead on Xbox OS, then he should be surprised it even launches. He should not be surprised if it crashes on print. > customer would not accept "but look at all of these other Angr…

https://en.wikipedia.org/wiki/Metaphor

Telling customers "well go use this other platform" is not an effective way to build or grow a platform.

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

#290

Earlier quoted context omitted.

> No test required. Just try... catch. That doesn't even make any sense. Where on earth would you insert a try...catch? So many people commenting on this article seem to have fundamentally misunderstood what the situation/scenario even is, which is made more jarring by the fact that so many others seem to have gotten it just fine.

> So many people commenting on this article seem to have fundamentally misunderstood what the situation/scenario even is Agreed 100%. Those people have overlooked that this is about attempting to run apps on an unsupported OS. And when printing, the OS attempting to gaslight the user into thinking the fail is his fault for not connecting a printer.

The apps are being run on a supported OS which doesn't have all features. Your framing is bizarre.
Post reply on HN