Gentoo Archives: gentoo-user

From: Zeerak Waseem <zeerak.w@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] How the HAL are you supposed to use these files?
Date: Thu, 11 Feb 2010 21:42:05
Message-Id: op.u7zftzynagyv58@zeerak
In Reply to: Re: [gentoo-user] How the HAL are you supposed to use these files? by Alan McKinnon
1 On Thu, 11 Feb 2010 09:05:46 +0100, Alan McKinnon
2 <alan.mckinnon@×××××.com> wrote:
3
4 > On Thursday 11 February 2010 09:31:21 Walter Dnes wrote:
5 >> On Wed, Feb 10, 2010 at 02:18:43PM +0000, Neil Bothwick wrote
6 >>
7 >> > On Wed, 10 Feb 2010 07:57:57 -0500, Walter Dnes wrote:
8 >> > > > but D-Bus provides a standard way for applications to communicate
9 >> > > > with one another and removing it can stop your desktop working as
10 >> > > > it should.
11 >> > > >
12 >> > > Then how did things manage to work on my systems for the past 9
13 >> > > years,
14 >> > >
15 >> > > pray tell?
16 >> >
17 >> > Because nine years ago, Linux desktop software didn't use
18 >> interprocess
19 >> > communication. Of course things will still work, but not necessarily
20 >> > everything. For example, Network Manager uses D-Bus to tell programs
21 >> when
22 >> > your Internet connection is available and not, so your mail client
23 >> goes
24 >> > into offline mode rather than pointlessly trying to access your
25 >> mailbox.
26 >> > KDE4 uses it quite extensively, ust as KDE3 used DCOP.
27 >>
28 >> There is too much solution-in-search-of-a-problem here. XMMS followed
29 >> the original Unix philosophy... it did one thing did it right, namely
30 >> playing audio. Unfortunately, XMMS was hard-coded to use a now obsolete
31 >> GTK library.
32 >
33 > Unfortunately, that's analogous to a business employing 5 people, all of
34 > whom
35 > do their own thing all the time with no inter-person communication and
36 > no co-
37 > ordination. Perhaps they might scribble a note on a white board once a
38 > day,
39 > but that's about it.
40 >
41 >> The "successor" to XMMS is Audacious. It seems to subscribe to the
42 >> Microsoft philosophy, and tries to do everything under the sun, and
43 >> pretends it's a server, which requires dbus. Is it *REALLY* necessary?
44 >> I used XMMS to play mp3's and Live365.com. I ended up switching to
45 >> mpg123 for both functions when XMMS was dropped, and then to the Flash
46 >> player for Live365. I emerged Audacious, but unmerged it when I saw the
47 >> post-install warning that said not to submit any Audacious bug reports
48 >> if I don't have dbus installed.
49 >
50 > Modern desktops are integrated, because that's what users want. Any two
51 > apps
52 > should be able to inter-communicate wherever that communication makes
53 > sense.
54 >
55 > Example: You have any old arbitrary email client. A mail contains a URL.
56 > Click
57 > it. The URL should open in your preferred browser, whatever that should
58 > be.
59 > Please note that any email client should support launching any browser,
60 > whether the dev built in support for it or not. Yes, I know there are
61 > the xdg*
62 > scripts, but tally up the number of things a user would want to work like
63 > this, tally up the number of scripts in the infinite number of locations
64 > this
65 > will take, and then ask the user to "pick one".
66 >
67 > Example: Notifications. I have 3 (yes, three!!) kinds of popups that
68 > show up
69 > here daily. There's KDE's system which is the majority of them, some GTK
70 > apps
71 > throw popups in the top right corner where I don't want them and them
72 > then
73 > there's Skype which does it's own thing. God, you gotta love proprietary
74 > sekrit apps </sarcasm>. The solution is a notification service, apps send
75 > their notifications to it and the service does whatever the user
76 > configured it
77 > to do with the notification. Note that the user is in control here, the
78 > user
79 > says what happens with popups and does it in one central place and the
80 > apps
81 > does one thing and one thing only with it's notifications: sends them.
82 > It's
83 > like syslogger, letting the app concentrate on it's real purpose (which
84 > is not
85 > logging, and definitely is not making sure it doesn't clobber log files
86 > from
87 > any other apps that might be running).
88 >
89 > See where this is going? Do you need a hundred more examples?
90 >
91 > When you have arbitrary, unknown (at install time) sources of data that
92 > may
93 > interoperate with other arbitrary, unknown (at install time) sinks of
94 > data,
95 > good data modelling says that a known broker of data should sit in the
96 > middle,
97 > which is generic enough for anything to be able to use it.
98 >
99 > And the transport for that is dbus.
100 >
101 > Just to bring this back to your original statement of Unix philosophy.
102 > IPC on
103 > modern desktops conforms exactly to the Unix philosophy. Apps were
104 > moving away
105 > from that and were becoming IM clients cum custom loggers cum notifiers
106 > cum
107 > <insert any other crap here>.
108 >
109 > Standardized IPC is moving back TOWARDS the Unix philosophy, not away
110 > from it.
111 > Apps can now concentrate on their core function, and hand over the
112 > integration
113 > aspects to something else dedicated to IPC and nothing else. The apps now
114 > merely does the minimum required to hand over data to the service via a
115 > messaging bus.
116 >
117 > Which if you look at it in that light, is EXACTLY the same rationale as a
118 > syslogger. Do you use a syslogger? Why?
119 >
120 > If you don;t like all this integration stuff, and you have every right
121 > to not
122 > like it, then you should uninstall KDE and use Openbox (or similar
123 > lightweight
124 > WM). These WMs exist for users that do not want desktop integration. One
125 > thing
126 > you cannot have is the latest KDE without it's integration features.
127 >
128 >
129
130 True, but even those using Openbox, icewm, etc. were introduced to the
131 mess that HAL is, and also to dbus. Sure you can choose not to have
132 hal/dbus/*kit, but then you also choose not to use a growing number of
133 apps that seem to depend on it. The way I see it, they should be optional
134 features. If you've got the useflags set, great. If not, then it'll still
135 be able to compile and run.
136
137 --
138 Zeerak

Replies

Subject Author
Re: [gentoo-user] How the HAL are you supposed to use these files? Alan McKinnon <alan.mckinnon@×××××.com>
Re: [gentoo-user] How the HAL are you supposed to use these files? Neil Bothwick <neil@××××××××××.uk>