News for hackers. Stuff that matters.
Re:Don't panic and keep forking Debian by chubot on Saturday November 29, 2014 @01:24PM (#8674547)
This is the dbus post I'm referring to: https://news.ycombinator.com/item?id=8648437

Here's a nice quote right from the doc you linked: The D-Bus protocol is frozen (only compatible extensions are allowed) as of November 8, 2006. However, this specification could still use a fair bit of work to make interoperable reimplementation possible without reference to the D-Bus reference implementation.

The fact that you even NEED a (crappy) doc is a sign it doesn't use the Unix design philosophy.

In contrast, look at the Debian Control File format, which apt metadata is stored in. I parsed and wrote a dependency resolver for it WITHOUT any reference to docs. The format is self-documenting text.

X is Unix style in the sense that you can plug in different window managers, but not Unix style in other ways.

Shared library extension modules (e.g. Apache, Python, etc.) are not "classic" Unix. Classic Unix simply didn't have shared libraries (or threads). Plan 9 and Go explicitly have this heritage; they don't support shared libraries.

Apache is Unix style because it uses stable protocols between application and server, like CGI, FastCGI, etc. It also uses textual logs, unlike systemd.

I would also argue that systemd encompasses more diverse functionality than either X or Apache, which is saying a lot. The bigger a system is, the worse a monolithic architecture is.

But you're right that modern Unix doesn't follow Unix style in many ways. I am not arguing for purity -- shared libraries are useful, and graphics don't fit well within Unix style. But I do think it is worth understanding the Unix style, for very a practical reason. That reason being: you simply end up with less code when your systems are modular and composable.

Re:Don't panic and keep forking Debian by the_why_of_y on Sunday November 30, 2014 @06:57AM (#8676617)
> This is the dbus post I'm referring to: https://news.ycombinator.com/item?id=8648437

Oh right, somebody looked at the spec for 15 minutes, mis-read it completely (confusing the authentication protocol with the actual IPC protocol) and wrote a blog rant about their failure in reading comprehension. Very compelling.

> The fact that you even NEED a (crappy) doc is a sign it doesn't use the Unix design philosophy.

So HTTP is against the UNIX philosophy too? Or did you also happen to implement that without ever looking at the specification?

> In contrast, look at the Debian Control File format, which apt metadata is stored in.

In other words, apples make better apple juice than oranges.

> That reason being: you simply end up with less code when your systems are modular and composable.

You seem to be under the mis-apprehension that monolithic is somehow an antonym of modular. systemd is both modular and monolithic (in your meaning of that term).