237 karma · joined November 6, 2013
Please, stop speculating. Have patience, wait for actual information.
There's a larger list of airliner shootdowns here, and this is the only incident which seems to match your recollection: http://en.wikipedia.org/wiki/List_of_airliner_shootdown_inci...
There's nothing in the wikipedia article about the USA's ability to track planes. We did have a radar station in AK, which may be what you're thinking of? According to wikipedia it didn't produce useful information, and wasn't necessarily tracking the plane at all points anyway: http://en.wikipedia.org/wiki/Korean_Air_Lines_Flight_007#U.S...
I don't think we've ever had the ability to track all planes in the world.
There are many standards and cross-platform interfaces defined outside of POSIX. Some explicit and top-down, some organically evolved.
The spec for /dev/*random is here, as was published in the mid-90s: http://git.kernel.org/cgit/linux/kernel/git/stable/linux-sta...
There can be benefits from depending on non-portable implementation details but also significant drawbacks.
It's important because other people will use it, sometimes inadvertently.
At the same time it's possible for nobodies to be heard as well, provided their message is well presented.
That's the compiler's job ;-)
On the other side of the same token, many useful, worthwhile applications will absolutely depend on this level of optimization. There are some problems which simply can't be solved in a practical manner without it. And that's OK too.
The important part with respect to software architecture is less complexity in pid 1. Subprocesses of init can be safely updated and restarted. More code in init is a real problem -- that's why systemd as pid 1 is controversial.
This is not true. Tracking a running service doesn't require being init. Any process can do it.
"sysv init can not do this."
Nor should it. Services running under sysV init can, however.
"More importantly, since there's no ordering or dependency control"
Yes, there is -- it's implemented by the rc system. It's crude, but it's also just a bunch of shell scripts and completely pluggable. The systemd logic could trivially be inserted here either in place of /etc/rc, or by something that sits directly under init and drives the rest of the process.
"In practice, while Daemontools for example is well written and as stable as it can be, by virtue of running outside pid 1 it is not immune to the effects of the surrounding system. It can, and does, end up orphaning monitored processes in a variety of circumstances"
Any process can daemonize away from a process manager. systemd adds cgroups for tagging or containing process trees -- this is possible under runit/daemontools and it would only take minor changes to the supervise process to instantiate the cgroup and supervise accordingly.
To be clear: Any process can add cgroup support to track forked children. Solving this problem by adding cgroup support has absolutely nothing to do with becoming init.
"By running as pid 1, systemd is protected against being killed."
No, that is false. There is no such protection -- killing pid 1 is easy. Rather, by running as pid 1 systemd will cause a kernel panic and bring down everything with it.
"By then applying cgroups it can precisely track whether or not what was spawned is still running, even if it forks more stuff. By applying this to the boot process, it can provide this functionality to everything that gets started during boot."
sysV already exports most boot ordering into subprocess. It is trivial to achieve these tasks with systemd as a child of init.
"This is functionality that init does not provide, and none of the process-monitors running outside of pid 1 can provide."
It is true that init doesn't provide these features, nor should it. Your second statement is false -- a common misconception as I've hopefully explained.
If you have any further technical questions about how one CAN perform all these actions as a child of init I would be happy to explain in detail.
Even sysV init works this way. The current sysV init is very simple -- the invocation complexity lives in /etc/rc and the related rc.d scripts which operate as subprocesses.
"Smart people" is a silly thing to say. We're all smart people and sometimes smart people make poor technical decisions. Let the matter lay upon its technical merit, not upon empty platitudes.
"In contrary to Richard Gooch, I suggest not to implement service dependencies and runlevel handling in the Unix process no 1, /sbin/init, keep it small and simple, that is why I wrote the runit package"
There's a little piece of insight which seems to escape many: there is no serious technical reason why systemd must run as init. Systemd could have been written to coexist in a number of various ways following previous models, running under init and doing things for init.
Systemd is winning this war because it created the war, by conflicting with sysv init.
I'm talking about the potential for real life harassment (folks calling my employer, showing up at my house, swatting, etc) if I were to say something controversial. I am specifically concerned with being doxxed and criminal harassment.
There's a vast world of difference between people making comments in poor taste over a game and the level people sometimes go to if they engage in an argument and lose in an embarrassing way. I would not recommend that anyone freely engage in internet debates in a non-anonymous fashion.
I assure you it has nothing to do with embarrassment. It's unfortunate, but speech often has very serious consequences.
I know that people can have strangely fragile egos but the idea of being upset for being known for something, no matter how benign, is completely foreign to me.