Hacker Newsnew | past | comments | ask | show | jobs | submit | oiWecsio's commentslogin

s0ix is another great example that the world, or a bit more precisely, "general purpose hardware", has been going to absolute fucking shit.

Who the hell needs this crap? S3 used to be just perfect.

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

> [...] a Microsoft specification for Windows 8 (and later) hardware and software that aims to bring smartphone-type power management capabilities to the PC platform [...] allows the operating system to continue performing background tasks, such as updating content from apps, when a device is not being used [...]

We've all needed this like a big fucking kick in the groin. "Modern standby" my ass.

Microsoft has great firmware engineers, but the functionality they design, and then mandate, so that Windows can have its rotten tentacles into the guts of the firmware, is absolutely disgusting. Technically well implemented, but the goal is usually terrible.


They're of course trying to match Apple, except Apple has 100% vertical integration, from CPU cores to apps.

This is the real challenge with "general purpose hardware". A good product is distinguished by attention to detail.


Yep. The 's0ix' is bullshit. S3 suspend/resume worked just fine.

... but in the end of the day what more can You do?

I would say 'vote with your wallet' ... but that also does not work anymore.

Take a look at laptop keyboard layouts [1] ... does not matter if MNT, Framework, KDE, ThinkPad, ... whatever - does not matter - NO ONE make 7-row keyboards in laptops anymore ... we are fucked :[

[1] https://vermaden.wordpress.com/2022/02/07/epitaph-to-laptops...


> 's0ix' is bullshit.

False. S0iX is not bullshit.

> S3 suspend/resume worked just fine.

Not for me.


I don't understand why major.minor.patchlevel is a "hint". It had been an interface contract with shared libraries written in C when I first touched Linux, and that was 25+ years ago; way before the term "semantic version" was even invented (AFAICT).


Imagine I make a library for loading a certain format of small, trusted configuration files.

Some guy files a CVE against my library, saying it crashes if you feed it a large, untrusted file.

I decide to put out a new version of the library, fixing the CVE by refusing to load conspicuously large files. The API otherwise remains unchanged.

Is the new release a major, minor, or bugfix release? As I have only an approximate understanding of semantic versioning norms, I could go for any of them to be honest.

Some other library authors are just as confused as me, which is why major.minor.patchlevel is only a hint.


I like this example.

The client who didn't notice a difference would probably call it a bugfix.

The client whose software got ever-so-slightly more reliable probably would call it a minor update.

The client whose software previously was loading large files (luckily) without issue would call it major, because now their software just doesn't work anymore.


It's also an almost-real situation (although I wasn't the library developer involved)

You can Google "YAMLException: The incoming YAML document exceeds the limit" - an error introduced in response to CVE-2022-38752 - to see what happens when a library introduces a new input size limit.

What happened in that case is: the updated library bumps their version from 1.31 to 1.32; then a downstream application updates their dependencies, passes all tests, and updates their version from 9.3.8.0 to 9.3.9.0


> Imagine I make a library for loading a certain format of small, trusted configuration files.

> Some guy files a CVE against my library, saying it crashes if you feed it a large, untrusted file.

Not CVE-worthy, as the use case clearly falls outside of the documented / declared area of application.

> refusing to load conspicuously large files [...] Is the new release a major, minor, or bugfix release?

It deserves a major release, because it breaks compatibility. A capability that used to work (i.e,. loading a large but trusted file) no longer works. It may not affect everyone, but when assessing impact, we go for the most conservative evaluation.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: