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.