Wed May 2 17:18:53 CEST 2007

Insanity: A play in three acts. Act Three: The Confusion of the False Prophet

One day the prophet had a vision. He was a prophet because he was just insane enough to talk about weird stuff while still staying coherent (both important preconditions to become a prophet), and he was right about half the time. So he was a good prophet and statistically insignificant. His followers were sure that he would have a great revelation soon, because most of them had followed many prophets in their lifetime and were quite convinced that this time they were right. So they were all very happy when finally, after being silent for about half an hour (which was exquisitely long and unusual) the prophet spoke.

"I have seen things that are not happened yet*. You have been my followers for a long time (most of you for more than a week), so I will burden you with the things I've seen. Some of you will not believe me and laugh, others will not believe me and cry, and some will see the truth and laugh. So listen carefully, and tell me what you make of this vision:
At some point in the next weeks the Package Manager Specification (PMS) will be finalized and accepted by whatever bureaucratic organs feel the need to accept it. Finally Gentoo will have a specification of the ebuild format and expected behaviour. Roughly at the same time Paludis bumps up to version 1.0 and is fully compliant with the specification while still being incompatible enough to Portage to make interoperability difficult. Just after PMS is finalized a push is started to make Paludis an officially supported Gentoo package manager (after all it complies to the specification and has a test suite, which even portage lacks!). Because there are no technical reasons within PMS to not do that any other arguments will be smacked down. And as Paludis has been tolerated (for example, in bug reports - instead of just marking them INVALID they were handled) before there is a precedent.
The strategic support from a vocal minority, combined with a large group of indifferent people and a few strategically placed precedents, kill any discussion before it even starts. Thus Gentoo has two package managers now.
Just after these shenanigans people ask for the Other Official Package Manager to be hosted on Gentoo hardware - after all it has become a Gentoo project now, so control of it should be handed over to Gentoo. Now this poses an interesting problem as the main contributors to the Paludis codebase are not official Gentoo devs, so one would need to give them access to the svn repository. The funny thing with that is that on a policy level that is not yet possible. Thus people suggest the obvious shortcut - recruit these contributors as gentoo developers.
The other strategy, leaving the OOPM on unsupported hardware, is discussed a few times. The general level of flamewars goes off the scale. Some of the official organs within gentoo support Paludis, especially QA - after all Paludis has some cool features Portage lacks and is stricter in places, thus finding more / different bugs. The Proctors start actively censoring mailinglist traffic as things get out of hand. A few developers get proactively muted by devrel "to keep it real".
The "Us vs. Them" feeling reaches the point where some devs leave the project because it has been taken over by unpleasant people and things move in the Wrong Direction (tm). Productivity reaches a new low as other people get frustrated by these changes and the constant flamewars that make the mailinglists quite unpossible to read.
Soon Portage ends up on the list of deprecated things as it can't keep up with the feature creep of Pollutis. As the first EAPI="paludis-2" ebuilds hit the tree it becomes hopeless as portage lacks the functionality to work with some of the more interesting ebuilds in the tree. People either accept the new regime or leave. Arch Linux has an influx of gentooists and gladly accepts the technically competent help. In the next round of voting on stuff the Paludis fraction is unproportionally strong because the anti-paludis people have left in frustration. Things develop on the same path until the hostile takeover is complete.
This is the vision I had."

As he heard this one of the followers stood up and said: "I have counted your visions and enumerated them. You were once a follower of the church of Star Trek, so your visions follow the movies: The even-numbered ones are good, and the odd ones are bad. This is the twenty-third vision: We should ignore it."

When this was said the False Prophet started to laugh and said: "You are right, my friend. This vision is just too absurd to be real. I thank you for your insights. Now you have surpassed me, I will become your follower and you will be the new prophet."
And the Smart Follower smacked his forehead and said: "D'Oh!"

* note the specific use of the Futur definitivum, a time form only used to describe visions of the future that cannot be changed, usually used in the context of natural disasters, armageddon and hug-attacks by evil furries**
** only conservative right-wing voters fear furryhugzies***
*** Welp is the hugmeister

Posted by Patrick | Permalink

Wed May 2 11:41:26 CEST 2007

Insanity: A play in three acts. Act Two: The Monologues

As requested by some people after the first part, here be the second. Instead of the dialogue from part1 it is a series of monologues.

The first monologue comes from Jürgen. He seems to have enjoyed my comments a lot.
His blog-post is quite interesting as he uses my post only as a starting point to discuss how and why things go wrong. It's, as usual, a nice analysis of social interactions. Jürgen, you should become a manager. Or write a book and become rich, you hava a talent there ;-)
The whole thing with "democracy" (everyone can contribute), meritocracy (those who do more get more votes) and implicit rules (which, from my point of view, includes the selective application of rules whenever it suits you) is quite the beast. Suggesting DKP to formalize these inequalities is interesting as an economic theory / model of our interactions, but I don't think it can be used in a technical community. I guess it's a good joke, still it might have some useful ideas behind it - after all DKP was "invented" to stop the constant bitching and power struggles in online gaming communities.
Also - as soon as you formalize the implicit rules and turn gentoo officially into a meritocracy you might cause some people to give you the finger and migrate to something less narcisistic and self-centered. It's aboot the community, mon.

The second monologue is quite the opposite:
Brian thinks my poo-flinging does not help either way and that I am a monkey because I do it. I take that as a compliment, and I find it quite interesting that two people can draw opposite conclusions from the same material. I also find it interesting that even if you label something as an offensive surreal bad attempt at humor some people will still think of a way to complain.
But I like this comment:
It doesn't matter if you're a developer, an ex-developer, a suspended developer, or just some random user: your public actions matter. They can make large reaches of people look childish and unprofessional. They can frustrate people trying to get work done. They can drive others into obscurity.
I have a slightly different point of view - I posted excerpts from an IRC log that was in parts quite offensive as far as I'm concerned and added some comments because I thought that a naked IRC log would be a bit boring on a blog. Of course those comments reflect my personal opinion, but who looks childish and unprofessional? Me, some of the kids being stupid on IRC, and that's about it. So as far as I'm concerned there is no harm to the community - au contraire, we have a kind of discussion going over our blogs and the larrythecow aggregator. The sum of it all looks positive to me.
And maybe if I do that often enough (and others too) people will stop behaving like muppets and start behaving a bit nicer. Shaming them into complianc, so to speak.
People should realize that I'm an evil prankster ("You can be a dog on the Internet and noone will know") - if you take me seriously I will mislead you every now and then. My latest victim, as Alex points out, took my blog post literally and thought that George (who goes by the nick of cokehabit) is a japanese called Bit Cokeha. Mwahaha. George, if you read this, sorry man, this was just too funny. You da man!
Now go and spot the misleading statements and pranks in this blog post ...
And yes, for now I'm kinda accidentally hosting pkgcore, the same way I picked up eix along the way ... I just provide ressources to others so that they can work. That I accidentally agree with most of the people who have accreted around pkgcore is just a big bonus. Well ... we do have our disagreements, but those usually stop at "Well, then do it your way, I told you it's wrong", plus the appropriate amount of fingerpointing and ridicule when the predicton comes true. Not much mudslinging happening there, so why can we interact with some people and not others? What creates a sub-community like paludis or pkgcore that internally agrees, but can't interact with the other? I'm still trying to understand some parts of human interaction on an abstract level, once you have the rules you can predict what may happen and within some limits guide that. One could use the word "manipulation" here, but ... it's only for the best. (Pop quiz: which dictator did not claim that what he did was for the best?)
In the end I think we could learn some things from monkeys - not chimpanzees, who are known for their decadent poo flinging and violence, but from bonobos, who are cute little buggers that have sex whenever there is a disagreement, when they are stressed, when they are bored or when they don't have anythig else to do. And they have rather large and stable social networks ... One can only envy those little buggers.

Posted by Patrick | Permalink

Wed May 2 11:37:33 CEST 2007

MultiPost!

Today we have something special: A MultiPost. It's what happens when three blogposts fight for my attention and then get transmogified into one big one. A word of warning: It's mostly about stupid things that have tried to frustrate me in the last week. There is a good chance that you do not want to read it, but at lesat I don't feel the need to torture cute little animals anymore. But first a short snippet I found in the AMule documentation:
Please note that compilation with optimizations is supported. However, if
you pull a Gentoo, we will probably just tell you to recompile aMule and/or
your system with sane compiler-flags before we will attempt to address the
problem.
So now "to pull a Gentoo" is a synonym for ricing? Funnay. But I can't even blame these guys because gentoo makes it Rediculuosly(tm) easy to do stupid things. And with some of the bugreports I have seen ... anyway, here's lots of blah from me:

A big annoyance: Sound mixing

If you've watched a DVD lately you might have noticed the problems in sound mixing that make it almost impossible to watch a DVD. Basically there's the difference in maximal dymanics between a "small" home setup and a serious home theater system. The original sound mix is usually done for the big screen where you have a gigantic dynamic range is available. Now you have two options: Either normalize it down to stay in a range of, say, 30dB between whispering and an explosion or you save a few bucks and leave a dynamic range of something like 80dB. The first option is often used for TV series, the sound is always "the same" (except for the smegging irritating commercials that run at +45dB and force you to hit the mute button). The other option is to use the full range the DVD-format offers - that is in theory 96dB if I'm not mistaken. The funny part with that is that there are often "quiet" and "loud" scenes close together. Example: "Enemy at the Gates", a modern western placed in Stalingrad. At the beginning there is a very quiet scene where an old man whispers some motivational nonsense to a boy as they are hunting a wolf. The volume there is so low that you have to turn it up a lot to be able to understand the dialogue. And the scene ends with a full volume gunshot sound as the wolf is killed with a rifle. If you're slow you'll be treated to your speakers doing the loudest sound you ever want to hear - it's painful. And the rest of the movie you'll be busy shifting the volume from low (explosions) to very high (ambient sounds) - or you turn it down and ignore the dialogue.
And that is with a rather moderate sound system - I have ancient Pioneer speakers (30 years old) with an ancient 2x45W amplifier. That doesn't even register on the open-ended scale of modern entertainment equipment (which usually is in the 1000W range according to the manual), but thanks to the exquisitely efficient speakers that is enough to hurt a lot if used at full volume - if I can avoid it I don't go above half the max volume on the amp, and that is already quite a lot of fun.
The worst I've seen was a movie where the whispering in one scene, critical to the plot, was so low that we went to maximum volume. On a god 5.1 system that is rather scary, but at this maximum setting it was still almost impossible to actually understand anything. Next scene: Machingun fire. At 5x75W plus 125W evil subwoofer we jumped or the remote and the amp, tried to mute it while we were hit with massively loud noise. After that we needed a break ... this was just too much. I do not understand how you are supposed to watch that movie and keep your hearing intact ...
An example that it can be done better is the movie Equilibrium, which in the cinematic version uses the full dynamic range (especially great in the first gunfight scene - people who have seen the movie will know what I mean), but ... on the DVD you will only have to turn the volume down a tiny bit during "loud" scenes or not at all.
And then there's this retarded compensation for crappy speakers - with some movies you will have to use your equalizer to remove the low frequencies as they are "enhanced" to make the sound appear "good" on crappy speakers that usually lack response in that area. I feel bad for having mostly useful speakers, I should downgrade to experience the "real" sound as it is intended. Yay. Low frequency rumble for the win, at least it gives a good foot massage and annoys the neighbours.

And don't even get me started on DVD menus. Those things must be direct imports from the third circle of hell - on some DVDs you have to sit through around 10 minutes of random trailers and stuff, then have an interactive menu that takes a minute to complete an animation that makes a transistion from one menu to the next. So it takes about 5 minutes to change sound settings (no, I don't want german. No, I don't want subtitles. Yes, I know what I'm doing) and start the movie ... only to realize that it is the german version that has cut out the violence from a movie whose plot uses violence to show how people are changed by it (Starship Troopers). In some cases those cuts are so bad (Police Story 1) that there is no way of understanding why suddenly that guy is hurt, the police are coming and those other guys have disappeared. Or, even better,Terminator 1 ... imagine that without violence. I've seen it - the plt is wrecked, dialogue is messed up and scenes are incoherent (why has he suddenlystarted bleeding, and why is the building burning? And did he or did he not shoot?)
And what IDIOT decided to show the resolution of the movie in the animated menu? If you're not fast enough to start the movie you'll be shown the end so that you don't have to see it. Same goes for trailers ... you do not ever under any circumstances show the return of Gandalf in LOTR2. You do not show how the getaway in the Italian Job works. You do not show that Darth Vader is Luke's father. It's really really frustrating when you go to see a movie and get the 90-second summary for 8 other movies. DO NOT WANT.
And now for something completely different:

Touchpads: Input device from hell

For the last weeks I have enjoyed the notebook my workplace has given me. Very nice little IBM T43p, one of the "it just works" notebooks. It only has one feature that makes me want to stab the designers with an airplane (preferrably something pointy and supersonic like the F-15 or SR-71).
The touchpad.
As this is an IBM machine it has the TrackPoint (aka the nipple). That is a very nice input device - once you realize that it is force-based and not distance-based (i.e. it doesn't care how far you move it, only how much pressure you apply for that) it is very easy to use. Ergonomics testing suggests that while performance is less for beginners it is a very good device once you are trained to it. (sorry, no references, you'll have to look it up yourself)
The touchpad ... it is amazing. It is not very sensitive to direct touch, so it is hard to do small cursor movements - or you increase sensitivity to the point where you have to lift and re-set your finger if you want to move the cursor across the screen. Also it tends to randomly interpret a resting finger as a doubleclick and other bonus features. But the best: It triggers when not being used.
Every now and then (about every 5 minutes during normal operation) it picks up something (I don't actively use it, but don't have it disabled [yet]). So randomly the mouse pointer will jump around. Bonus: I can move the mouse cursor with my palm when typing without touching the pad directly. Double bonus: I can move the mouse cursor without touching the notebook - on occasion it picks up my hand from about a centimetre away. So this device only adds some random elements to my cursor movements without doing anything useful. If I ever get annoyed enough I'll find out how to disable this rather "special" (as in short bus) input device. Honestly I don't know how people can work with that ...
Also the notebook gets rather warm, around 50C on the outside. So my left hand (processor side) starts sweating a bit. As usual the case is uglified with stickers - ATi, Centrino, Designed for Windows. You know the deal. Funny thing - all stickers are in good shape. Except for the El Cheapo "Designed for windows" sticker - it is dissolving under my sweat and will be blank pretty soon. Quite ironic that the "Designed for Windows" sticker is not designed to be used, like the product it represents. Shizzle.

Hitting a wall of idiocy: Programming with Java

Right, with an inflammatory title like this it'll be a boring predictable rant. Nothing interesting or relevant to see here :-)
Now anyway, I've got a nice little project written in Java I wish to extend. The code is mostly useful, so ... I fetch it from cvs. There's not much info (people know how to use Java, so no need to doc it), so I look hard at the "build.xml" file and kinda guess it's an ant buildfile. So I just fetch ant, which is a build system like make, only for Java and using teh XML filez because ... well ... because make isn't enterprisey enough.
ant at this point has 31 dependencies and is about the size of a full base linux install, and that is just the build system. I prepare for the worst.
About two hours later ant has installed. With some further guessing I point it at the build.xml and it does its thing. It's not that hard, eh?
So now I have a /build directory next to /src, and there are many .class files in it. No executable files ... I think "liek zomg, what happen?!" and start poking random files. After some minutes of poking I kinda realize that one file has a Main class/function/definition (I'm never quite sure what stuff is called in Java). I point the "java" executable at the .class file generated by ant. java refuses. I try some permutations. It refuses. I think about creative ways to make java overwrite all its files with random garbage and abort my experiment.
From earlier experiments I know that there is an IDE called eclipse that is supposed to be wonderful. The few times I tried it I was too impatient and gave up before it even had started - Java apps can be slow. But I have a fast machine, so that will cancel each other and it will work. So I look at the output of eix -s eclipse and realize that there is dev-util/eclipse-pydev-bin, a collection of Python Development Tools for Eclipse. Sounds great, give it to me. I start emergeing it, it has only about 15 dependencies and fails.
After all this time the Java world is still fragmented hard. Eclipse, being an enerprisey application, is not supported with Java 1.5 on gentoo yet. Java 1.4 in the form of the Sun Java Runtime Environment, is still fetch-restricted. I remember where my last attempt at Java stopped ("I can't install it without manual interaction and some retarded jumping around? F' you Sun, I continue using Python"). But in the meantime Sun has opened up a bit, so the JRE/JDK for Java 1.5 is not fetch restricted. But it won't work with eclipse. I'm having some dark thoughts involving fluffy bunnies and comfy chairs.
I manually fetch the JDK 1.4 and let portage give me teh eclipse. We are now at just over 50 packages installed with a total volume of about 350MB, and this is just the minimal framework ... remind me to never try to actually do anything as this will fill my harddisk before I have any result.
The pydev stuff fails for some reasons which the nice people in #gentoo-java explain to me, next thing I know it goes to package.mask. Competent fix, but it makes me doubt the viability of this solution. So no python support for me, but I did intend to use it with Java anyway.
It is finally installed. After about 3h of compiling (which throws so many warnings that you wonder if it even works) it is there. I start it. My machine slows down. Something happens: lots of disk activity. I wait. I switch to a different window. I write two loveletters and a dissertation on the futility of the univers in the context of a post-marxist nihilism. I save it, switch to another window and ... something steals my focus. I exagerate, it took maybe 3 minutes to start, not enough time to write a letter. And top tells me that it only uses 2/3rds of my RAM. I get presented with a nice start screen. I click the links there. Nothing happens. I feel something almost, but not completely unlike joy.
In the same way of brutally eating ressources without actually doing anything (is it a Microsoft product?) eclipse does not want to have a look at my project. There is an ant build file, which seems to be one of the things that eclipse can import. But ... nope. I didn't sacrifice enough cute kittens, so it just ignores me.
I try to import the raw files, but I must have made eclipse angry as it refuses. My patience runs out, I close eclipse and think that Java could have been really nice as a language if people had cared about usability. I mean ... "python file.py" Just Works (tm). And it takes about 20M RAM on a bad day. Dear Java: Go into a dark corner and die a lonely death. I give up on you and hope that some time in the next year or two when I try again your suckage will be on a level I can tolerate.
Also: Whoever decided to define the GTK default font sizes should never touch a UI again. eclipse, like firefox, can use gtk, so the fonts are either unreadable or invisibly small. I don't understand it, and I haven't found a stable way to define fontsize 8 (default) as 8 points (something I can read).

Posted by Patrick | Permalink