Sun May 4 01:46:20 CEST 2008

New Statistics

time emerge paludis
real    141m13.965s
user    135m59.178s
sys     4m57.679s


time emerge portage
real    1m15.212s
user    1m8.604s
sys     0m6.580s
So I guess my new development machine can install portage around 100 times faster than paludis. Guess what I'll continue to use ...
And since I forgot USE="portage" again I can't even compare the runtime because it don't work, mon. It be broken ... (hint: EAPI1 is quite neat if you know how to handle it)

In other news, I'm guilty of evil sensationalism. (Oh noes!)
As Ferdy notices it's not a security issue directly which I've mentioned. But what noone seems to notice is how subtle and subversive it is ... it's a classical microsoft, executing data - which leads to the intellectual challenge of crafting the data in a way that causes some subtle things to implode a bit further down the road. Well, noone has actually found a way to use that, so we're safe. Right?
Meh.

Posted by Patrick | Permalink

Sat May 3 22:15:54 CEST 2008

A troll by any other name is still a stinking troll

How to insult people (and get away with it most of the time)

Here's a nice demonstration of high-level trolling, dissected for your pleasure. It starts with a rather boring email:

I'm rewording the PMS sections on dependencies to avoid permitting
overly lax circular dependency resolution. Which of these wordings is
accurate, given that usable means "has its RDEPENDs installed and
usable"?

1. During pkg_preinst and pkg_postinst, any package dependency that is
in both DEPEND and RDEPEND must be installed and usable.

2. During pkg_preinst and pkg_postinst, at least one of the following
conditions must be met:
  a. every package dependency in DEPEND must be installed and usable
  b. every package dependency in RDEPEND must be installed and usable

Do not attempt to write on both sides of the paper at once.
Hmm, so discussion about things is wanted. Note that it's a situation where other solutions are already deflected, let's call that "tertium non datur". This of course focusses the following discussion into a very narrow area instaed of actually discussing things.
Two emails later:
Yup, and for future EAPIs labels can fix this. But we have to have a
sound solution for current EAPIs.
This is quiet useless as a statement as (1) labels are never defined and (2) they are totally irrelevant to the discussion. But one can point people at poopludis ... sorry, paludis and all the breakage ... sorry, features it introduces. Hmm, I'm unfocussed. Why did I say poopludis?

Now some magic - let's confuse people. Two mails later:
Donnie Berkholz  gentoo.org> wrote:
> I don't think I understand the difference between the effects of
> these two options.

cat/a-1 is installed and has RDEPEND cat/b
cat/a-2 is to be installed and has DEPEND cat/b and RDEPEND =cat/b-2
cat/b-1 is installed and has RDEPEND cat/a
cat/b-2 is to be installed and has DEPEND cat/a and RDEPEND =cat/a-2

Solve this and enlightenment shall be yours!

Or a headache.
This is a futile exercise in confusing things, my uncle used to call this "Hirnwichserei". Doesn't help the discussion, but shows that academics can use hypothetical examples to show that the other side is ugly, or something.

About 4 mails later:
The specific problem is that ebuilds currently rely upon the package
manager providing circular dependency resolution that works, so we need
a good definition of just what's allowed to resolve cycles. But we
can't take "what Portage does" as that definition, because Portage's
behaviour is "usually get it right by fluke, except when things go
horribly wrong".
Mmmmh, now we're dissing portage just because we can, instead of defining a problem and/or solution. There's a reference to kdebuild a mail later, and things continue to be amusing. Here's a great one:
> Stop name dropping labels until you tell folk about what labels are.  
> I know, but I'd rather not have the notion "labels solves all"pushed 
> forth w/ out people knowing what it is, please.

Labels are already documented and discussable in the appropriate place.
This is not supposed to be a discussion about future direction. It's
supposed to be about one specific issue regarding how we word things for
current implementations. The two wordings in the original email do not
have equivalent implications, and selecting the correct one affects
whether certain problems are solvable. Let's discuss that, not what
we're going to do six years from now.
So we mention thing which we will not explain because they are offtopic. That's not in any way supporting a discussion, and why do you mention things if you know that they are irrelevant? Ah yes, I forgot. Portage bashing. (haha, bash. portage. what a pun.)

And here's the great conclusion of that thread:
Labels can be discussed on-list whenever there's a chance in hell of
Portage implementing any non-trivial new features.

Anyway, I'm going with the second wording in the original email. It
seems fairly clear that most people aren't understanding the issue, and
are jumping in and offering opinions without having looked at the tree
(and no, I'm not going to give examples, because that'll just
degenerate into "oh, so we can change this one particular case to do
$blah", whilst missing the bigger point). Of everything suggested, only
the two original wordings are correct, and of those two, the second is
better defined.
In other words, "I knew the right answer all along, just wanted to see if you've learned enough to understand it too. You didn't. Y'all fail! haha. I'm so smart". The whole thread thus degenerates into irrelevancy as the original poster reduces the whole discussion to a preconceived solution while managing to label everyone else as stupid.

Way to go, Ciara N. McCreesh. You've wasted people's time, insulted them ... and written almost 50% of the emails in that thread knowing that it is irrelevant. And you almost got away with it. Quite a nice troll, but please stop stroking your ego and other body parts in public. You're really not my type and all that. Don't get me wrong, but ... no.

Posted by Patrick | Permalink

Sat May 3 21:28:30 CEST 2008

Spring Cleanup

As some people might have noticed there's been a small spring cleaning in Gentoo land. This has some amusing consequences:

  • spb has finally been retired. He has stated multiple times that only his laziness kept him from retiring, so I bet he's happy that people finally took care of his wishes even when he was too lazy to do it himself
  • rbrown has been retired too, so that's one muppet in need of something new to do. Oh well, we'll have to live without random insults ... sounds acceptable.
  • Philantrop, who has shown himself to be a misanthrop, got the wrong end of the stick too. So people will have to live without silly paludis propaganda in #gentoo, trolling all over the place and overlays that won't work with portage. Sounds acceptable too.
Of course most of those affected blame everyone else now for being biased. And violating policies. And being ugly.
Strange correlation: All three were paludis propaganda specialists. Like ciaranm, who is still spamming the #-dev mailinglist with stupid things and patting his back.
Well, that's material for a new blogpost. But yes, people are biased ... against stupid. Maybe the paludis camp should work more on being cooperative instead of insulting anyone who disagrees. And maybe people would not treat them like they would an infection ...

Posted by Patrick | Permalink

Sat May 3 21:04:56 CEST 2008

Great skill, you lack it

[23:07:44] <impulze> <bonsaikitten> removing dhcp is one of the most 
stupid things one can do to a stage3
[23:07:44] <impulze> <bonsaikitten> how do you get network up without it?
[23:07:46] <impulze> priceless
[23:08:05] <impulze> that made my day
[23:08:46] <-- felipe (n=felipe@my.nada.kth.se) has quit (Remote closed the connection)
[23:09:35] <impulze> too bad eroyf isn't available atm :) it's always 
funny when those two guys are in the same room at the same time
[23:09:37] <spb> hahaha
[23:09:54] <impulze> this guy is hilarious
[23:10:02] <impulze> i never really believed it until now
[23:10:13] <ciaranm> tragic
[23:10:15] <ciaranm> not hilarious
[23:10:25] <impulze> well yea :(
[23:11:43] <aidy> why because he doesn't know how to set a gateway 
and static ip?
[23:11:59] <ciaranm> because he's a windows user
[23:12:38] <impulze> ... this guy is scary
[23:12:46] <spb> because he's a complete and utter moron
Hey guys,
It's great that you know how to use paludis, and it's amazing that you have a home network with 3 computers. I do know how to set an IP and gateway, but "192.168.0.5" and "192.168.0.1" are not valid answers.

If you only know that you are in 137.226.*, that there are three independent local networks which are mangled by a paranoid firewall and there's a good chance that you only get external connectivity when the dhcp server enables your IP at the firewall ...
Oh, there's a good chance that the admin is currently busy fixing things and you can't just ask him.

But I digress. You should not have to care about real-world problems when you have your linksys router making 192.168.0.* available and you can remember that triplet of numbers. Everyone has networks as complex as yours, and you're soo smart. Yes.

Oh, also ... not being able to downgrade gcc is a quite silly thing to do for a package manager. You might want to think about strategies to make it possible to use gcc 4.1 after compiling paludis with gcc 4.3 - otherwise people will have a strong motivation to migrate back to portage when they have to use it anyway to recompile paludis.

And if you have the time, there's a nasty exploit designed in. Better close it before someone releases a proof-of-concept and people who don't like you cause your users to be little sad sheep.

But that's irrelevant. You know best how to do things.

Posted by Patrick | Permalink

Tue Apr 22 20:40:09 CEST 2008

PsyOps: Project Swamp

After long hours of research (or huffing kittens, depending on who you ask) we've been able to track down the historical background of what is now known as Paludis.

It started all in the late 80s, when the KGB tried to infiltrate as much of the american computer-market. Some of the middle managment of Novell got taken over, and some strategic parts of Microsoft got influenced too. In the following collapse of the russian empire most of the infiltrators went into hibernation and just kept on doing their thing.
In the early 00's Gentoo was the rising star among the Linux distributions. Both Microsoft and Novell saw the potential and danger. Their need to react enabled the russian-trained specialists to engage in a PsyOps operation to break Gentoo through internal struggles.

And so a team of specialists was assembled to tear the naive geeklings and their dreams of a unified software environment apart. To demonstrate their desire to make Gentoo sink into a murky pool of mediocrity they found a great codename - "swamp", which was what they wanted gentoo to lick. And translating it to fake lating gave them "Paludis", which was also not yet taken as a trademark.

Their lead man, a turk by the name of Erton Dlev, comes from an engineering background. After long years in the army he got dishonourably discharged for unknown reasons and then went on to work as a consultant for different Think Tanks. He is well known for his temper, which is as short as his stature, and an obsessive desire to code in Haskell.

Second in command, but most vocal, is Ciara Nathalie "Brandy" McCreesh. After studying psychology and writing a thesis on power structure in simian colonies she spent a short while in marketing before being assimilated by Microsoft. Learning about computers and programming there left a permanent mark. Ciara still owns four pet monkeys.

The most silent, but maybe most productive of the team is Simon-Peter Bernstein, an ukrainian expat living in San Francisco. Coming from an astronomy background he is well known for his superstitions and fear of armageddon, but living in a liberally gay city allows him to keep these fears under control. He was hired by Novell when he managed to predict the food in the cafeteria for that day, but has never been right since.

Phillip Anton Roper, an australian crocodile hunter, was hired when he demonstrated his superior intellect in multiple bar fights (he was the one standing upright at the end, making him the smarter of the two). His short temper and unconventional mode of discussion make him valuable to keep the rest of the team at peak efficiency and also causes lots of time-consuming discussion on the mailinglists, IRC channels and forums he visits.

Ferdinand Otto "Ferdy" Meier has been the driving force in making paludis actually work. A strict nationalist tyrolean by birth and italian by choice he annoys people with his fake accent. But as he had a proven track record in writing VisualBasic scripts he was the most competent person available to Microsoft and was promptly hired.

The backgrounds of the other members of this infiltration team are not yet known, but we'll keep you updated as we uncover more fun.

As for the coding - most of the actual programming is done by some indian interns at Microsoft. Whenever their code passes the internal review a chunk is sent to one of the "coders" who then commits it to the public repository. Since this is done by the cheapest contractor the quality varies a lot, and Microsoft can hide the expenses easily as that contractor is officially working on WinFS.

This explains some of the design patterns, which are really cute but have no place in serious software. But the talented marketing people manage to confuse users often enough to make them try their product (the first shot is always for free), just to see them trapped in an unsupported configuration that can't be reverted easily. This made some users actually contribute patches to fix errors, but as this would improve the quality too fast most of these are denied by the internal revision team. As a result, though, Gentoo has entered a state of constant infighting and has lost its top spot at the edge of innovation.

Mission accomplished, MicroVell.

Oh, for the humor impaired - none of the above is what it seems. It made at least one person and two dogs laugh and is obviously the result of either too many or too few drugs.

Posted by Patrick | Permalink

Sun Apr 20 23:58:33 CEST 2008

Motivating people

For a short time the mighty KDE overlay has motivated people to use paludis to install kde-svn. That in itself is quite impolite, it imposes things on users that an overlay should not.
One minor point of contention is of course that it kills your local configuration quite nicely. Some people will now say "but paludis has a portage-config compatibility mode" which is mostly correct (apart from some minor bugs in parsing config files, but let's ignore those for now). The only problem with that is that in portage compat mode it also only uses portage-like capabilities, so you can't use it like that for the kdebuild-1 ebuilds that were added. Which means you will have to shred your configuration files to make The Package Mangler happy.

So, because I got bored, which seems to happen every now and then, I had a look at the overlay today. And I noticed one thing - there is absolutely no techincal reason to not use EAPI=1. As it happens I just had an editor nearby, and after about 15 minutes of stabbing things they were quite ... portagey. About 20 edits all in all to fix things that were not portage-compatible - and they make users migrate to an unsupported package manager for that? Meh, I say. Meh!

Result if this little exercise is a publically accessible repository that is almost, but not completely unlike the official KDE overlay. And it has one phat bonus: You don't need to change a thing. It just works. With portage, pkgcore and maybe even paludis.

git://dev.gentooexperimental.org/kde-overlay.git

There be it, have fun using it (and please don't make people unhappy by reporting errors and bugs in any official paludis channel, that will only make people angry. We'll have some mode of communication available soon ... )
P.S. Forcing people to migrate just because you can is a nice abuse of power. It's impolite, not needed and makes me want those responsible will have to use Windows98 at work for a looong time.

Posted by Patrick | Permalink

Thu Apr 3 18:18:35 CEST 2008

Instant Karma

An old recipe for Instant Karma

25 Angstrom of World Peace (dry)
125 milligram Happy Photons (sad photons don't work well)
a pinch of harmony
a quart of confidence
one big slice of optimism (Fair Trade tastes best)
one good deed for each day
two giggles or a small laugh, depending on availability
some forgiving, sliced and diced

Many people like to season it with multiple hugs, a backrub or fine compliments, but that is left as an exercise to the motivated cook.

Posted by Patrick | Permalink

Mon Mar 31 21:38:23 CEST 2008

Blooooooog

<unperson>He's on a crusade against paludis
Uhm, no, I'm not. I'm not on a crusade against rpm or Ubuntu either. But since I'm using Gentoo I'd really appreciate it if people didn't try to break random stuff. It's the small things, like different config file formats, different syntax for world file, different interpretation of ebuilds ... nothing serious, just the core of an installed system ... that paludis breaks.
And since some vocal people try to shove that into Gentoo with force there's resistance. Not because of the technology per se (although the size and performance of paludis would be a severe regression) but because it is not a replacement. For example a replacement keyboard might feel a bit different, softer keys here, different repeat rate there - but when I plug my old keyboard back in it still works. And that can't be said of paludis - it's designed on purpose to be just different enough (like the Office 2003 format) so that at first it looks better, but when you want to go back you're trapped. Can't open it with Office 2000. Pay 250Eur to Microsoft, now!

With that attitude, the politics instead of letting the technology speak for itself, combined with very hostile, antisocial and moody developers, I don't want that thing at the heart of a linux distribution. You can't expect a cooperative christian community when you have such an alternative anarcho-pagan community doing reinterpretations of arcane rituals just to be different. We call those people emo and goth, and if we are in the mood we point and laugh at them.

So there, that should give people something to discuss while I go do something useful. Hug a tree! Lick a toad! Enjoy life, it's much too short to be angry.

Posted by Patrick | Permalink

Mon Mar 31 20:31:17 CEST 2008

Turning up the heat

Warning: Incoherent rant follows

My benchmark series with the three Stooges ... err ... package managers and manglers ... seems to have caused quite some commotion. I'm quite amused at the large amount of "feedback", but at the same time it just reinforces every prejudice I could have had.
The first series of claims, unsurprisingly, insinuate that what I have done has somehow been manipulated. So a few other people tried to reproduce and came to interesting results:
And then people tried to demonstrate that if you break your configuration in enough places paludis will continue to crawl along, portage will be a bit confused and pkgcore won't destroy your system on purpose: here
It is quite amusing then to note that paludis can barely parse a valid /etc/make.conf - but according to people that should know it that format isn't really what you should use anyway.

Quite funny to see that thread get locked. But anyways ...
rbrown> Semppe: a cursory glance would make me think that bonsaikitten believe emerge -p paludis -ip to be functional 
equivalents
Semppe> Oops, I completely missed that one. No wonder the results are a bit different. Of course he should've used at least 
emerge -uDp.
rbrown> Semppe: why? That would have invalidated the point he's trying to make
Now I still don't know how paludis would emulate portage behaviour, but this explains quite a few snipes. I'm waiting for some comparative benchmarks, but I don't expect anything relevant coming from these nice guys. Talking about nice ... (and sorry about the language)
spbecker> basically, he's a complete fucking idiot, and is using his one last position of any sort of power within gentoo for 
his anti-paludis propaganda
rane> so... adult
ferdy> so... patrick
Hmm, anti-paludis? What I did was trying paludis as a portage replacement. I looked at how easy it was to install and use, then did some comparative microbenchmarks. That I do try to keep #gentoo on topic is of course baaaad (this coming from people who never helped there, thus have no relevant input anyway) and makes them mmmmmmmmmmad. Right.
But we shouldn't bother these kids too much, reality scares them ;)
Another bit of greatness:
guja_nebeska> but if u really want me to, i'll send mail to ops.
spb> thus, we the gentoo developers reckon he shouldn't have ops there any more
guja_nebeska> for me that's 2 mins of life.
ciaranm> guja_nebeska: people have tried talking to him in person
ciaranm> guja_nebeska: we're way past that stage
Philantrop> guja_nebeska: Please do unless you're willing to travel to Switzerland. ;->
spb> unfortuantely, ops@gentoo.org are the only people who can do anything about it
ferdy> well... I won't hate you if you cockpunch him
ciaranm> he has a cock?
guja_nebeska> if i come to sui, i'll never come back to my land. so that's not such a bad idea :D
dvandyk> all i say is http://bugs.gentoo.org/show_bug.cgi?id=150851#c5
ferdy> s/cockpunch/punch him in the face/
guja_nebeska> and plus, i
eroyf> guja_nebeska: really. you saw what happened to me when we started talking in there
guja_nebeska> am gonna explain to him some stuffs.
eroyf> i was banned for saying shut up because it went off topic.
guja_nebeska> yep my denmark friend.
eroyf> emailing ops@gentoo.org is really a good idea
So, uhm, where do we start? "We the gentoo developers". That's ... uhm ... spb ... and dleverton ... and Philantrop (did I miss anyone?). So, like, three persons, of which half never do anything anyway and the other half is known for their wishes to censor any ideas that are not theirs. That's about as useful as a cock-flavoured lollipop. dvandyk, a retarded and/or retired developer, reiterates his collection of half-truths, as usual. I don't have the motivation to disprove them, there's more relevant things to discuss.

So things are starting to look quite toasty. The "nice" paludis people even keep the bad vibes away:
[17:12:44] *** Mode #paludis +b *!*@gentoo/user/FamousToaster by dleverton
[17:13:11] *** Mode #paludis +b D0pamine!*@* by dleverton
[17:13:15] <-* dleverton has kicked fragalot from #paludis (bye bye)
[17:13:19] <-* dleverton has kicked D0pamine from #paludis (bye bye)
[17:13:35] *** Mode #paludis -o dleverton by dleverton
followed by
17:19 rane> i'm a gentoo developer relations project member
17:19 fragalot> Hi. :)
17:20 rane> and i want to inform you that if you continue to behave the way you did on #paludis, your  gentoo/user cloak will be 
removed
Behaving that way meaning joining the channel and saying "Hi" ? Wow, that's great. So I must really recommend to users never to go near that place as they will have firebreathing dragons on their behind within minutes.
Now, if I were a malicious person and would like to get things really toasty I would suggest filing random bugs on the paludis bugtracker, joining #paludis and saying amusing things until you get kickbanned and many other simple ideas anyone can think of easily. But that would be quite boring and silly, so I cannot support such behaviour. You really shouldn't do that!
Talking about amusing things, the forums thread mentioned above seems to have spawned a new meme that's almost worthy of lolgentoo: "poopludis". A great concise description of ... I have no idea what, but it sounds like truth in advertising. Oh, and lolgentoo has gotten a nice little retarded brother going by the name of lolflameeyes. It's not funny, but what does one expect from kids with too much time on their hand. So much poop to fling, so little laxatives in their breakfast.
So the lesson to learn is: trust noone. Take some time to learn about things and form an opinion. And once you have an opinion be prepared to reevaluate it. It can have funny results - from all the FUD-campaigns I thought that paludis would be able to compete with portage on speed, only to realize it can't even come close. If I had believed the paludis camp I wouldn't have tested speed, and I would never have gotten this nice napalm discharge going ...

Posted by Patrick | Permalink

Sun Mar 30 22:30:23 CEST 2008

Package Manager Benchmarks

Folowing yesterdays comparison of installability and usability I've decided to run a small set of benchmarks on the two package managers and the package mangler.
Setup:
  • A naked stage3, untarred and waiting to be used
  • One emerge --sync to get a pristine ebuild tree
  • An update gcc (4.1.2) to make the mangler happy
  • emerge pkgcore
  • emerge paludis
That setup is pretty much in the same state I left it yesterday.
So let's just try to resolve gnome with a cold cache. For that we run "echo 3 > /proc/sys/vm/drop_caches" and notice that the filesystem caches have shrunk to a minimum.
Edit: forgot the exact commands. emerge -p $1, pmerge -p $1, paludis -ip $1

Times
0m30.054s; 0m29.824s; 0m15.890s
All three are wall time as measured by "time"- can you guess who is who?

Same with KDE:
0m10.285s; 0m14.402s; 0m16.949s

And now xorg-x11 plus kde plus gnome:
0m18.182s; 0m23.251s; 0m34.159s

Who is who?
Now y'all want to know who ran how fast. Ok, but it's ... unexpected. Here's the solution:
pkgcore took the first place in all three tests. It is the racecar among the package managers and manglers and has been rumored to take steroids.
portage consistently hit second place, between 25 and 100% slower than pkgcore in those benchmarks. But it keeps up very nicely for being the oldest and hardest to maintain codebase. paludis seems to be the worst choice of them all, at best barely catching up to portage, at worst being 50% slower.

Conclusion
At first I thought about methods of skewing the benchmarks if needed. Then I realized that no modifications are needed, out of the box portage is quite fast, and as expected pkgcore is faster. What really bugs me is that the paludis camp still claims that paludis is faster when all the tests I did show it consistently far far behind...
There's no reason to use anything but portage - it's very competitive, and it will only get better. And there's no reason to use paludis as it has no advantages at all for the normal user, apart from being not portage. If that is your best attribute you should reconsider your position in this universe ...

Reproducability
All benchmarks were run on a 2Ghz dualcore amd64, 4G ram, 4-disk raid5 with reiserfs, kernel 2.6.23-gentoo. The machine was not running any interfering jobs (to be more precise the mp3-player and ssh session ran all the time and caused the same bias for all benchmark runs). Everything ran in a chroot environment from a mostly pristine stage3 (updates had to be run for paludis to work).

Raw data
gnome
 
portage
real    0m29.824s
user    0m8.737s
sys     0m3.600s
 
pkgcore 
real    0m15.890s
user    0m2.056s
sys     0m0.476s
 
paludis
real    0m30.054s
user    0m11.021s
sys     0m0.684s
 
kde
 
portage 
real    0m14.402s
user    0m3.532s
sys     0m0.832s
 
pkgcore
real    0m10.285s
user    0m1.008s
sys     0m0.404s
 
paludis
real    0m16.949s
user    0m3.312s
sys     0m0.532s
 
xorg-x11 kde gnome
 
portage
real    0m23.251s
user    0m6.204s
sys     0m0.636s
 
pkgcore
real    0m18.182s
user    0m2.228s
sys     0m0.496s
 
paludis
real    0m34.159s
user    0m13.629s
sys     0m0.748s


Posted by Patrick | Permalink