On Sun, Dec 12, 2004 at 11:59:01AM +0000, Luke Kenneth Casson Leighton wrote:

> > It involved nasty static variable hacks,
> > making the
> > code essentially untestable as a function could not be relied upon to
> > perform the same way twice.

> i genuinely don't recall you mentioning any objections about static
> variables to me.
> i assume you are referring to the optimisation of the msrpc client
> library, which was based on the "NET.EXE USE" principle?

the same principle is used in KDE 3.2 and KDE 3.3 - namely that
various libraries establish and manage network connections
such as IMAP, HTTP, HTTPS and FTP connections on behalf of
the users of those libraries.

the reason for managing and keeping those connections open is because
they are typically expensive to set up or require user interaction
such as requesting a password.

in the case of ncacn_np, establishing a connection through the SMB
layer requires about 15-20 round-trips!

so i put in a solution that solved a problem, and it required
the use of static variables, and provided a badly needed
optimisation - one that is in common use today in several
other projects (KDE) and products (Windows NT).

optimisations often require compromises over good technical practice.

... what's wrong with that?

you see - once again, you have demonstrated that you do not
appreciate the reasons why i made certain decisions, in an
effort to provide decent service to users.

and once again i have demonstrated my inability to justify
to you why certain technical compromises are necessary.

it's just so disappointing.