[Catalyst] [SOT] cat webmail app?

Matt S Trout dbix-class at trout.me.uk
Mon Aug 25 19:33:20 BST 2008


On Fri, Aug 22, 2008 at 12:38:14PM -0700, Joe Cooper wrote:
> Matt S Trout wrote:
> >Ok. I last looked at webmin about three years ago and it was an appallingly
> >badly written pile of hacks that just happened to work, and had no webmail
> >related component at all.
> 
> Correction:  It's an appallingly badly written pile of hacks that just 
> happens to work on millions of production systems every single day.

That's not a correction. It doesn't disagree with my statement at all.

I've happily used webmin, and would install it tomorrow rather than trying
to roll my own for that purpose. I told the guys working on it pretty much
that at YAPC::NA this year - I'm awful at names so I don't know if you
were one of the people involved in that conversation though.

> It'd probably be wise to think of Webmin/Usermin in context: It is an 11 
> year old project with ~450,000 lines of code, written almost entirely by 
> *one guy* (as a hobby a good deal of that time), that has to run on 
> systems with very old Perl versions.  And, because it is used in 
> hundreds of embedded devices and commercial products, the standard API 
> simply cannot change.  There are 114 standard modules (last time I 
> counted), and several hundred third party modules, and Webmin has never 
> broken backward compatibility for those modules.  A module written 10 
> years ago will work, unmodified, in last weeks Webmin release (it won't 
> participate in logging or ACLs or notifications, but it'll work as well 
> as it did 10 years ago).

Which is a fantastic feat of engineering, and the authors should be
bloody proud of themselves for it. But:

That does -not- mean that the codebase is a good one to start off with
when trying to develop a pluggable catalyst application that can be
easily re-used and extended within other applications, which is why I
brushed it off as not seeming particularly relevant to this conversation.

So if you took my comments as being an insult, or something you needed to
defend against, I'm sorry. I'll take stable, hateful crappy code that works
over beautiful code that doesn't do what I want any day, and I'm sure I've
written even crappier code that's still around somewhere. There's certainly
bits of my work on DBIC and Catalyst that I also consider crap, and would be
just as worried about people taking as an example to work from.

Hope that clears up any misunderstanding - I didn't bother listing the
caveats in my original post because I figured as developers we'd all been
there and we all understood it, but it's perhaps worthwhile my having spelt
it out anyway.

-- 
      Matt S Trout       Need help with your Catalyst or DBIx::Class project?
   Technical Director                    http://www.shadowcat.co.uk/catalyst/
 Shadowcat Systems Ltd.  Want a managed development or deployment platform?
http://chainsawblues.vox.com/            http://www.shadowcat.co.uk/servers/



More information about the Catalyst mailing list