This is not even remotely true, as you would know had you actually bothered to read Stallman's arguments instead of only watching this intentionally simplified video.
It is, in fact, one of the main dangers Stallman sees with mixing proprietary software in distributions. Your myopia blinds you to that insightedness of his though, which is an irony in itself.
As to that it will "never affect most users", I will simply let Stallman's record speak for itself.
If you had any actual interest at all in learning this instead of trying to use it as a bat of some kind, you would already know the answer. But for the edification not of you, dear AC, but of anyone who might stumble on this:
You have the "linux way" (it is actually the Unix philosophy) completely wrong. It is not "one program for one task". It is:
"Developers should build a program out of simple parts connected by well defined interfaces, so problems are local, and parts of the program can be replaced in future versions to support new features. This rule aims to save time on debugging code that is complex, long, and unreadable." -- Eric S. Raymond
"Developers should design their programs to be flexible and open. This rule aims to make programs flexible, allowing them to be used in other ways than their developers intended." -- Eric S. Raymond
"This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface." -- Doug McIlroy
What systemd does wrong is abandoning this and using API's internally - API's it does not even lock down. It's a morass.
"Everything was small... and my heart sinks for Linux when I see the size of it. [...] The manual page, which really used to be a manual page, is now a small volume, with a thousand options... We used to sit around in the Unix Room saying, 'What can we throw out? Why is there this option?' It's often because there is some deficiency in the basic design â" you didn't really hit the right design point. Instead of adding an option, think about what was forcing you to add that option." -- Doug McIlroy
"Developers should design for the future by making their protocols extensible, allowing for easy plugins without modification to the program's architecture by other developers, noting the version of the program, and more. This rule aims to extend the lifespan and enhance the utility of the code the developer writes." -- Eric S. Raymond
Yes, systemd IS the end of the world that many people want you to believe.
Any daemon manager solves the problems you listed. And the whole point of having an init that basically does nothing is - that init does basically nothing. That is what it is SUPPOSED to do, hand over to other processes.
And I do not want my daemon manager to do "all the stuff". I want it to obey my commands on starting and stopping daemons. Period. You may want yours to do more, and then you can use another daemon manager. That's what's called the UNIXy way. Ever hear of it?
I do not want parallelization; I hardly ever reboot my desktop/laptop systems, and on servers it makes no difference since the main time is spent waiting for IO to configure itself.
I do not want socket and/or D-Bus to start the few services I need started. I see no point to that. And I most definitely do not want on-demand starting of daemons! That removes determinism from my system and will make bug hunting a chore.
Ok, I want processes managed using control groups. But not by init. I want a daemon not connected to init to do that.
I am completely unmoved by the "system state" snapshot talk, since if I wanted that I'd be on Xen or VMware. I don't have use for that.
I have fstab for my mount points, and the only automount I do is the occasional USB stick which mounts from a specific user, using a simple script.
I absolutely DO NOT need an "elaborate... logic" for ANYTHING related to init!
So far I have seen no reason to read any more about this, nor any reason why I'd want it anywhere near any of my systems.
The point is that they're API's. That is what makes systemd a fragile monolith. And the solution to this is to not allow anything to replace a part of systemd; if you want an alternative it will run in parallel with the systemd equivalent.
That is pasting over the fragility instead of fixing it. It's a huge mess. Sure, it was required, because it will make sure someone writes a sane solution instead, but right now it's a huge pain.
The problem with logind is that you do not communicate with it like you communicate with everything else in a UNIXy system. It has an API, which is not fixed, and logind in turn relies on API's to communicate with other parts of systemd.
None of the chunks in systemd do one thing, do it will and provide a UNIXy way to assemble them together. They're a huge blob of interdependent API's.
And yes, if it wasn't part of this API infested mess people would indeed be arguing that systemd should be more like it. But unfortunately that is not the case.
11:25 The answer is do the best you can. Support those who are the least closed.
12:48 If you are paid to write software, do what you can to have that software under GPL license. If you develop video games, do what Id Software does, and release the code as GPL when it's feasible to do so. It's not perfect, but it's a lot better than not releasing anything ever.
You are confused because you do not understand the concepts. Your demarcations do not correspond to how things actually are. There is no distinction between "truly paid commercial software" and free libre software; most of the GPL software commonly used in the world fall under "truly paid commercial software", because someone paid the developers to write them.
Also, the concept of "open source" is not one RSM endorses, or uses.
What RSM advocates is simply that anyone who receives a piece of software, through payment, downloading for free or whatever method, should also receive the source code for that software and be allowed to use that source code in any way he wishes, as long as anyone else in turn can use what that source code is used to create. This is completely disconnected from the notions of commerical, paid, free (as in beer) and open source (which often is anything but).
RMS draws no line between platform and application - because there is none. In his view, any software which is distributed without free libre source is immoral, period. There are no lines.
Re:bringing in more H1Bs will solve this problem
on
IT Job Hiring Slumps
·
· Score: 1
If you learn compiler theory in C or a functional language you are not learning compiler theory, but how to write a compiler. Those are not the same skills.
What you use to learn compiler theory is BNF's and some way to abstract semantics. To test your skill at this you need tools which can take those as inputs and produce tokens, symbol tables etc. as you expect, and those tools can be written in anything - and at the stage when you are learning this and have to roll your own to learn *should not* be written in something like C.
When strings are built from a chunk of data and a piece of metadata denoting their length you run the risk of heartbleed style bugs in all code, everywhere. You run into issues of how to handle when the string actually is one length, and the metadata says it's another - especially when the metadata says it's longer.
Zero terminated strings is a damn good idea for cases when computing power and memory are limited, or where performance matters more than solid string performance, such as in kernels and embedded programming. Yes, when you develop a business process middle layer they're a liability, but if you're doing that in C you've got bigger problems.
I truly wish that was the case. Sadly, the problem can and will appear with signed drivers written by reputable vendors as well. It just isn't as common with them.
And the corollary is actually about peripheral support. Since developing and releasing a driver requires effort and money to code and test properly as well as a cost to sign, older peripherals will seldom, if ever, get updated drivers as newer models enter the market and - more crucially - as Windows changes and driver changes would increase stability, or are required for the peripheral to function properly.
This problem simply does not exist in the Linux driver model. I can still use my 1990's Epson parallel port scanner in Linux, just plug in and it works. That scanner has had no Windows drivers since Windows 2000. And it works just as well as a modern USB consumer scanner, so why should I have to go buy a new one simply because Epson will not develop drivers for it?
And the reason you get a BSOD in Windows when you use a cheap peripheral which installed an unsigned driver for a commonly used chipset is - the Windows ABI. Yes really. It's that fucked up.
The same peripheral will not crash Linux. Instead it will use the driver for that chipset in the Linux kernel.
Some of us prefer a model which acts in the interests of consumers. If you consider that a fault, and something which should change, you go ahead and vote with your wallet. Just don't expect others to follow your descent.
I wore glasses from the age of 10 until my LASIK procedure at 43. The first thing I did when waking up was put them on, and the last thing I did before laying down to sleep was take them off. I couldn't even imagine what it would be like to live without them.
For me the halos were annoying for a few months, but after about half a year they were completely gone. Now, four years after the procedure, I have no side effects at all. Excellent night vision, no vision artifacts at all and 20/10 20/15 vision.
Of course, I need reading glasses due to presbyopia, but that is a different matter. Anything a meter or further away is perfectly sharp.
Monoculture is bad. What you call fragmentation I call a healthy diversity allowing security. Unfortunately Linux is heading away from this with things like systemd, which will create a new monoculture for no appreciable gain, but at least so far the diversity is working in the Internets favor.
And who says competition is not needed in OS'es, anyway? Why should we all settle for a monoculture and just placidly say "standards are good" without examining whether they actually ARE good?
If it is accepted as a religion, it is accepted as a religion. Or can you point to a legal ruling that separates religion from religion in the eyes of the law?
My work system has hundreds (literally hundreds - over 200) different applications from different industrial system vendors which I have to use in various situations to configure the systems I work with.
And you think it is a PROBLEM that these are organized by vendor name and machine system name in my start menu.
You have no connection to the reality many people who actually have to use their systems for work live in.
Yes, it is a bad thing that the scroll wheel affects things which are not under the mouse pointer. If I move the mouse pointer to a window or widget and mouse scroll it is because I expect that action to affect where I moved the mouse pointer to. Otherwise, why would I have moved my hand to the mouse?
YOU can not set the boundary. Only the church can. If they accept someone's claims that they are catholic, then they are catholic, no matter what boundary YOU set.
They invented churches and they are considered legitimate. By the government. You are correct that you have no say in the matter; the government will acknowledge any invented religion filling certain criteria, and it is quite possible to invent new churches and have them considered legitimate today.
And for those five seconds you are ruining the movies for dozens of people around you. And you are completely oblivious to the fact that you are. And even if you realize you are, you consider such concerns beneath you.
What is the point of checking - and thinking about - the pickup point DURING THE MOVIE?
Seriously, if that is your best contender for why it's a-ok to be an asshole to everyone else in the movie theater, then you have nothing. Your sense of priorities is completely screwed up, and you have no business in a proper establishment.
This is not even remotely true, as you would know had you actually bothered to read Stallman's arguments instead of only watching this intentionally simplified video.
It is, in fact, one of the main dangers Stallman sees with mixing proprietary software in distributions. Your myopia blinds you to that insightedness of his though, which is an irony in itself.
As to that it will "never affect most users", I will simply let Stallman's record speak for itself.
If you had any actual interest at all in learning this instead of trying to use it as a bat of some kind, you would already know the answer. But for the edification not of you, dear AC, but of anyone who might stumble on this:
http://www.linuxtoday.com/infr...
You have the "linux way" (it is actually the Unix philosophy) completely wrong. It is not "one program for one task". It is:
"Developers should build a program out of simple parts connected by well defined interfaces, so problems are local, and parts of the program can be replaced in future versions to support new features. This rule aims to save time on debugging code that is complex, long, and unreadable."
-- Eric S. Raymond
"Developers should design their programs to be flexible and open. This rule aims to make programs flexible, allowing them to be used in other ways than their developers intended."
-- Eric S. Raymond
"This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface."
-- Doug McIlroy
What systemd does wrong is abandoning this and using API's internally - API's it does not even lock down. It's a morass.
"Everything was small... and my heart sinks for Linux when I see the size of it. [...] The manual page, which really used to be a manual page, is now a small volume, with a thousand options... We used to sit around in the Unix Room saying, 'What can we throw out? Why is there this option?' It's often because there is some deficiency in the basic design â" you didn't really hit the right design point. Instead of adding an option, think about what was forcing you to add that option."
-- Doug McIlroy
"Developers should design for the future by making their protocols extensible, allowing for easy plugins without modification to the program's architecture by other developers, noting the version of the program, and more. This rule aims to extend the lifespan and enhance the utility of the code the developer writes."
-- Eric S. Raymond
Yes, systemd IS the end of the world that many people want you to believe.
Any daemon manager solves the problems you listed. And the whole point of having an init that basically does nothing is - that init does basically nothing. That is what it is SUPPOSED to do, hand over to other processes.
And I do not want my daemon manager to do "all the stuff". I want it to obey my commands on starting and stopping daemons. Period. You may want yours to do more, and then you can use another daemon manager. That's what's called the UNIXy way. Ever hear of it?
I do not want parallelization; I hardly ever reboot my desktop/laptop systems, and on servers it makes no difference since the main time is spent waiting for IO to configure itself.
I do not want socket and/or D-Bus to start the few services I need started. I see no point to that. And I most definitely do not want on-demand starting of daemons! That removes determinism from my system and will make bug hunting a chore.
Ok, I want processes managed using control groups. But not by init. I want a daemon not connected to init to do that.
I am completely unmoved by the "system state" snapshot talk, since if I wanted that I'd be on Xen or VMware. I don't have use for that.
I have fstab for my mount points, and the only automount I do is the occasional USB stick which mounts from a specific user, using a simple script.
I absolutely DO NOT need an "elaborate ... logic" for ANYTHING related to init!
So far I have seen no reason to read any more about this, nor any reason why I'd want it anywhere near any of my systems.
The point is that they're API's. That is what makes systemd a fragile monolith. And the solution to this is to not allow anything to replace a part of systemd; if you want an alternative it will run in parallel with the systemd equivalent.
That is pasting over the fragility instead of fixing it. It's a huge mess. Sure, it was required, because it will make sure someone writes a sane solution instead, but right now it's a huge pain.
The problem with logind is that you do not communicate with it like you communicate with everything else in a UNIXy system. It has an API, which is not fixed, and logind in turn relies on API's to communicate with other parts of systemd.
None of the chunks in systemd do one thing, do it will and provide a UNIXy way to assemble them together. They're a huge blob of interdependent API's.
And yes, if it wasn't part of this API infested mess people would indeed be arguing that systemd should be more like it. But unfortunately that is not the case.
It's not supposed to do that. It's an INIT system. If you want a daemon manager, the init system can start one for you.
11:25 The answer is do the best you can. Support those who are the least closed.
12:48 If you are paid to write software, do what you can to have that software under GPL license. If you develop video games, do what Id Software does, and release the code as GPL when it's feasible to do so. It's not perfect, but it's a lot better than not releasing anything ever.
You are confused because you do not understand the concepts. Your demarcations do not correspond to how things actually are. There is no distinction between "truly paid commercial software" and free libre software; most of the GPL software commonly used in the world fall under "truly paid commercial software", because someone paid the developers to write them.
Also, the concept of "open source" is not one RSM endorses, or uses.
What RSM advocates is simply that anyone who receives a piece of software, through payment, downloading for free or whatever method, should also receive the source code for that software and be allowed to use that source code in any way he wishes, as long as anyone else in turn can use what that source code is used to create. This is completely disconnected from the notions of commerical, paid, free (as in beer) and open source (which often is anything but).
RMS draws no line between platform and application - because there is none. In his view, any software which is distributed without free libre source is immoral, period. There are no lines.
If you learn compiler theory in C or a functional language you are not learning compiler theory, but how to write a compiler. Those are not the same skills.
What you use to learn compiler theory is BNF's and some way to abstract semantics. To test your skill at this you need tools which can take those as inputs and produce tokens, symbol tables etc. as you expect, and those tools can be written in anything - and at the stage when you are learning this and have to roll your own to learn *should not* be written in something like C.
When strings are built from a chunk of data and a piece of metadata denoting their length you run the risk of heartbleed style bugs in all code, everywhere. You run into issues of how to handle when the string actually is one length, and the metadata says it's another - especially when the metadata says it's longer.
Zero terminated strings is a damn good idea for cases when computing power and memory are limited, or where performance matters more than solid string performance, such as in kernels and embedded programming. Yes, when you develop a business process middle layer they're a liability, but if you're doing that in C you've got bigger problems.
I truly wish that was the case. Sadly, the problem can and will appear with signed drivers written by reputable vendors as well. It just isn't as common with them.
And the corollary is actually about peripheral support. Since developing and releasing a driver requires effort and money to code and test properly as well as a cost to sign, older peripherals will seldom, if ever, get updated drivers as newer models enter the market and - more crucially - as Windows changes and driver changes would increase stability, or are required for the peripheral to function properly.
This problem simply does not exist in the Linux driver model. I can still use my 1990's Epson parallel port scanner in Linux, just plug in and it works. That scanner has had no Windows drivers since Windows 2000. And it works just as well as a modern USB consumer scanner, so why should I have to go buy a new one simply because Epson will not develop drivers for it?
And the reason you get a BSOD in Windows when you use a cheap peripheral which installed an unsigned driver for a commonly used chipset is - the Windows ABI. Yes really. It's that fucked up.
The same peripheral will not crash Linux. Instead it will use the driver for that chipset in the Linux kernel.
Some of us prefer a model which acts in the interests of consumers. If you consider that a fault, and something which should change, you go ahead and vote with your wallet. Just don't expect others to follow your descent.
I wore glasses from the age of 10 until my LASIK procedure at 43. The first thing I did when waking up was put them on, and the last thing I did before laying down to sleep was take them off. I couldn't even imagine what it would be like to live without them.
Now I don't miss them at all.
For me the halos were annoying for a few months, but after about half a year they were completely gone. Now, four years after the procedure, I have no side effects at all. Excellent night vision, no vision artifacts at all and 20/10 20/15 vision.
Of course, I need reading glasses due to presbyopia, but that is a different matter. Anything a meter or further away is perfectly sharp.
Monoculture is bad. What you call fragmentation I call a healthy diversity allowing security. Unfortunately Linux is heading away from this with things like systemd, which will create a new monoculture for no appreciable gain, but at least so far the diversity is working in the Internets favor.
And who says competition is not needed in OS'es, anyway? Why should we all settle for a monoculture and just placidly say "standards are good" without examining whether they actually ARE good?
If it is accepted as a religion, it is accepted as a religion. Or can you point to a legal ruling that separates religion from religion in the eyes of the law?
My work system has hundreds (literally hundreds - over 200) different applications from different industrial system vendors which I have to use in various situations to configure the systems I work with.
And you think it is a PROBLEM that these are organized by vendor name and machine system name in my start menu.
You have no connection to the reality many people who actually have to use their systems for work live in.
You are correct. I did figure out how to switch to another Office suite by now.
Yes, it is a bad thing that the scroll wheel affects things which are not under the mouse pointer. If I move the mouse pointer to a window or widget and mouse scroll it is because I expect that action to affect where I moved the mouse pointer to. Otherwise, why would I have moved my hand to the mouse?
YOU can not set the boundary. Only the church can. If they accept someone's claims that they are catholic, then they are catholic, no matter what boundary YOU set.
They invented churches and they are considered legitimate. By the government. You are correct that you have no say in the matter; the government will acknowledge any invented religion filling certain criteria, and it is quite possible to invent new churches and have them considered legitimate today.
And for those five seconds you are ruining the movies for dozens of people around you. And you are completely oblivious to the fact that you are. And even if you realize you are, you consider such concerns beneath you.
Model citizen right there.
What is the point of checking - and thinking about - the pickup point DURING THE MOVIE?
Seriously, if that is your best contender for why it's a-ok to be an asshole to everyone else in the movie theater, then you have nothing. Your sense of priorities is completely screwed up, and you have no business in a proper establishment.