On Mon, 2008-06-02 at 22:37 +0200, Uriel wrote:
> He was boasting about how wonderful it was to be able to debug and
> profile stuff with this huge kernel hack (third biggest subsystem in
> the Solaris kernel, forgot exactly how many, but a few hundred
> thousand lines of code). In the end to do stuff 99% of which can be
> done in Plan 9 with iostat and acid, and the other 1% can be done with
> print statements and careful thought.
> 
> But no, he told me, they needed this whole new layer of complexity
> (IIRC it includes even a bytecode interpreter/compiler inside the
> kernel), because I didn't understand how hard it had become to debug
> software this days, you had a bug, and you had to go from apache, to
> the Java Application Server, to Oracle, to the file system, etc, etc.
> millions and millions of lines of code, and it had become impossible
> to debug or profile applications anymore, because the issue could be
> anywhere in this huge stack... so what they do? they add *yet another
> layer of complexity so you can look at all that stuff at the same
> time*.
> 
> And even more funny was to see the BSD and Lunix folks falling all
> over themselves to be the first ones to get the same thing for their
> systems.

DTrace is an interesting example. I'd be the first one to agree with
you, if it wasn't for the fact that it *is* useful for *me*. It just
is. And it is useful at exactly the right level -- the level of a
simple tool. Like awk or sed. Its like a protective suit for
walking in sh^H^Hmud -- all I care about is that it doesn't leak
and doesn't make me sweat. If its engineering is complex -- well,
it has to interface with that gooey stuff on the outside after all.
I think I'll drop this analogy now (too much worrying about ISS
and the little accident that they almost had there) but I hope
you'll get the idea?

Of course, I'd much rather use Plan9 and not need that kind of
technology. The guy was right, thought. unless Oracle gets ported
to Plan 9 (and somehow magically gets cleansed along the way) there's
no way for the simple sane system to shine. I guess it really is
a bit of chicken and the egg problem.

> The idea of simple and sane interfaces between simple and carefully
> designed components is totally lost, it is all about extensibility
> (XML!) and 'standards' (more XML!), and if you want to make things
> faster, of course the solution is to add a huge layer of caches and
> other magic...

Agreed 100%

>  (I still laugh every time I think of distcc)

I don't understand this point. Would you like it better it was a 
services you get out of nodes who export their "compile/link" 
interface into your namespace? 

> But enough ranting and rambling for today, just remember what Gordon
> Bell said, because nobody else will:
> 
> "The cheapest, fastest, and most reliable components are those that
> aren't there."

Couldn't agree more!

Thanks,
Roman.


Reply via email to