Andrew Sullivan ajs at crankycanuck.ca
Tue Apr 8 09:35:16 PDT 2008
Craig:

I have read your complaint, and I actually share some of your frustration
(and I was, I'll note, responsible for getting the Slony project off the
ground at all at Afilias).  But I do take issue with a couple remarks:

On Fri, Apr 04, 2008 at 08:35:01PM -0700, Craig James wrote:

> Calling my carefully-worded critique a "rant" is hardly the way a computer 
> scientist should treat a fellow computer scientists who is offering his 
> time and experience to give your project his expert advice.

I'm sorry, but I think it was a rant.  It contains a number of true remarks:
operating Slony by slonik commands or even config files is frustrating and
clumsy; error messages are not always illuminating; some of the generality
of Slony's functionality is sufficiently complicated that it makes
apparently simple things mind-bogglingly hard.  But your exasperation
certainly led you to exaggerate some of your claims, which means you made
real criticisms that were nevertheless embedded in a rant.  (I don't think
that means that others here should dismiss your criticisms as meaningless.)

> My "rant" was about quality, not ease of use.  If you've never read "Zen 
> and the Art of Motorcycle Maintenance," you may not know the difference.  
> It's a book every real programmer should read ... twice.  

In my opinion, it's a book that nobody should ever read even once.  Every
remark in it about the history of philosophy is so deeply wrong as to make
anyone with the merest acquaintance with (for instance) Kant blush.  But in
any case, you can learn the virtues of a well-crafted system as it relates
to software much more easily from authors less pompous.  Joel Spolsky's
site, before it became mostly about self-promotion, used to have excellent
remarks about this.

I remember one time, Spolsky remarked about installing Debian that it was
very close to impossible.  Now, that's obviously an exaggeration; but
there's something important in it.  It used to be that I found systems like
SGI's IRIX comical, because I knew that Debian's conflict-and-dependency
resolution was so better.  Debian has rested on that, though, and you now
need to know a whole lot about the system to get things installed.  Finding
packages that do what you want requires a bizarre invocation of a utility
called apt-file, which isn't even installed itself by default.  There's no
excuse for this any more, right?

And the same may hold for Slony: there are all kinds of nasty, sharp corners
on it, and you need to know a great deal about it (and revel in its twiddly
complicated bits) in order to make it play nicely rather than, say, slicing
off your data.  It works really really well for a long time until it does
something surprising and nasty (except that it turns out it was always doing
that surprising and nasty thing, and you just didn't know it.  Pity, that).

Part of the problem is that nobody is spending the time to build on the bits
that are working, and solve these cases.  As Jan pointed out, the altperl
tools are a good idea, except mostly unmaintained (and, IMO, dangerously so
-- they ought to be ripped out, I think, because they're not reliable).  I
think the pgadmin project is trying to make things easier, but there's no
real convenient interface to Slony for them; and in any case I think that a
fairly comprehensive task analysis for administering Slony is probably a
necessary condition for making a good interface.  (In my experience, the
free software world is abysmal at this sort of thing, which is why KDE and
Gnome both feel like poor knock-offs of better-designed environments.)  This
requires serious time (==money, probably) be poured into the problem, I
think.

Note that Debian did get a good installer.  It's called "Ubuntu".  Their
goal was entirely different from the Debian project: they wanted a system
that was more usable.  So that's what they prioritised.  They created a
wholly separate project.

In order to make this better, someone needs to spend serious time not just
providing a list of what sucks in the current Slony system.  Someone needs
to spend that time working out what would be _good and usable_, and make
proposals that are consistent with that, taking into account all the use
cases that Slony is supposed to be covering.  That's a lot of work, I know,
but until it happens, the frustration you and I share will probably
continue.  I'm frustrated that Slony doesn't work naturally -- that it
requires a great deal of understanding of the system just to make it work
reliably.  But I haven't the time to fix that, and unless someone comes
along to ensure my time is available to fix it, the problem will go unfixed.

Best,

A



More information about the Slony1-general mailing list