Mercurial, made by another (in my opinion) much more well-spoken kernel hacker, is what really introduced me to the concept that you do not break interface for downstream users, no matter how wrongly you may think they are using the interface. It’s an attitude that is difficult to convey because software developers always want to have the freedom to “improve” their own software, even at the possible cost of breaking…
A regression is the kernel not giving the same result with the same user space
131–140 of 408 posts
Re: A regression is the kernel not giving the same result with the same user space
#132Earlier quoted context omitted.
Oh well, he should try a language with types ... /me runs ...
What are you trying to say? There are already a lot of explanations for why Clojure is dynamically typed and how it fills its role nicely that way.
https://news.ycombinator.com/item?id=15602658
https://news.ycombinator.com/item?id=15593069
My comment was intended to be a wry one referencing those very interesting discussions and hinting that if you have types then you can more easily make breaking changes internally that aren't visible externally.
Re: A regression is the kernel not giving the same result with the same user space
#133Earlier quoted context omitted.
Interesting. > Behavioral changes happen, and maybe we don't even support some feature any more. There's a number of fields in /proc/ /stat that are printed out as zeroes, simply because they don't even exist in the kernel any more, or because showing them was a mistake (typically an information leak). But the numbers got replaced by zeroes, so that the code that used to parse the fields still works. The user might n…
> If my application depends on some of those zero'd fields, it seems like that has potential to cause serious debugging problems, as opposed to just causing an error on the parse. if your app didn't used to handle the 'zero' case (assuming zero was a "valid" value for said field), then the app was poorly written and would'be been broken in the first place. However, if the app _did_ handle the 'zero' case, then the ap…
Re: A regression is the kernel not giving the same result with the same user space
#134I'm glad Linus has this attitude and it is unfortunate it's not present in some other places Though it is annoying if you're at the receiving end of it, own up (the opposite of what the patch author was doing)
Annoying and hurtful, yes, but at the same time, he's not wrong - you fucked up, you did bad and you should feel bad. The upside of this rant too is that the author is not "fired", as such, but told to shape up or gtfo. In a lot of companies, mistakes are accepted, fixed, and forgiven without adding a bit of emotion to it. I think adding this kind of emotion will have a bigger impact and will make the receiving end d…
Re: A regression is the kernel not giving the same result with the same user space
#135Earlier quoted context omitted.
Oh well, he should try a language with types ... /me runs ...
All my favorite languages are typed and I do agree with him.
Re: A regression is the kernel not giving the same result with the same user space
#136Earlier quoted context omitted.
For various reasons I would not go back to Java, but that was wonderful, your very old code still worked with newer versions, nothing broke during upgrades (even when behind deprecation one version).
Go is really good about this too. It's great.
Re: A regression is the kernel not giving the same result with the same user space
#137Earlier quoted context omitted.
I mean, is the answer really that hard? If the "refactor" would break the interface, you can't do it. Maybe you deprecate the old method and make a new one.
How do they handle bug fixing though? What if one application wants a bug fixed, but another application is depending on the bug inadvertently?
Re: A regression is the kernel not giving the same result with the same user space
#138Eli5, What is kernel regression? Does he mean breaking backward compatibility?
A change was made to the kernel that broke some applications - this is called a regression (a bug introduced in an update). The developer who made the change that caused the bug in the downstream application tried to argue that it was the application's fault, not the kernel. Linus then calmly and politely reminded him that the official policy of kernel development is that they never introduce changes that break appli…
Re: A regression is the kernel not giving the same result with the same user space
#139Linus is right but his choice of words seems unprofessional bordering on harassment. Almost sounds childish in parts, especially the ALL CAPS screaming he does. Its cool to be passionate but also be civil.
Re: A regression is the kernel not giving the same result with the same user space
#140Succession is a weird concept with linux but the fact that it has always been more stable than the other OS' is I think the main reason it is been so successful in the internet age.
An example of a failed succession is Tim Cook; the guy is the complete opposite of Jobs. Just take a look at the apple website nowadays. A product guru would not sell three generations of iphones that are all cannibalizing each other and lack any real differences.