Drôle.

Je me suis déjà énervé sur la mauvaise habitude des posteurs de Planet Ubuntu-FR consistant à donner à “recopier” des lignes de commandes obscures là où une phrase permettrait d’être bien plus didactique. Je ne vais pas remettre ça, surtout qu’à chaque fois, ça tourne au troll.

Mais parfois, au détour d’un billet, on tombe sur une perle :

sudo -s && apt-get install 915resolution && cd /etc/default/ && mv 915resolution 915resolution.bak && echo -e “MODE=auto\nXRESO=1280\nYRESO=800\nBIT=” > 915resolution

Y a rien qui vous choque ?

Indice : sudo -s && id

Update : Visiblement j’ai pas été assez clair. “sudo -s” execute un sous-shell. Du coup, le reste de la commande ne s’exécute pas en tant que root. Regarde cet exemple:

***lucas@beothuk:~$ sudo -s && id
***root@beothuk:~# # <-- sous shell executé par sudo -s ***root@beothuk:~# exit exit uid=1000(lucas) gid=1000(lucas) groups=4(adm),20(dialout),[....] ***lucas@beothuk:~$

YeKcim, au lieu de monter sur tes grands chevaux, tu ferais mieux de comprendre ce que tu demandes aux autres de taper.

Update 2 : J’ai viré tous les commentaires (comme ça pas de jaloux). Vous pouvez me mailer si vous souhaitez réagir.

Update 3 : Pour être encore plus clair : l’objet de ce post n’est pas la longueur de la commande que yeKcim demande à ses lecteurs de recopier, mais le fait que la commande ne fasse pas ce qu’elle est supposée faire.

When Ubuntu users discover that unofficial repositories can be harmful

Unofficial APT repositories are a PITA in the Ubuntu community. Most users use stable release (see previous post about that) since Ubuntu development releases tend to be much more bleeding edge than Debian unstable. But users still want the newest software, so they use unofficial repositories. There are lots of posts about private repositories on Planet.ubuntu-fr.org, and it seems to be the same on other local planets.

Recently, somebody posted a sources.list file with a huge list of unofficial repositories. The maintainer of one of these repositories, Jοhan Kiviniemi, was surprised to be in this list without even being contacted first. He chose a good answer: he uploaded a package with cool new default wallpapers. He also wrote a detailed explanation, with which I couldn’t agree more.

But this story raises a question: why do all these people work on their unofficial repositories, instead of filing and fixing bugs, improving the official packages, and getting their packages into Ubuntu ? It’s a shame that so much manpower is lost on such stuff.

PS: Johan Kiviniemi seems to have a lot of good opinions. :-)

List operators on files in shell ? (updated)

I often need to do list-like operations on files in shell, for example:

  • substract lines in one file from the lines in another file
  • add lines from two lines, suppressing duplicates
  • keep only lines which are not in both files
  • keep only lines which are in both files
  • etc

Such operations are easy to do with a combination of sort, uniq, cut, diff, etc. But they are so basic operations that it is a bit annoying to write the small shell script each time I need to do one of them.

Isn’t there a tool out there already providing all of them ?

Also, it would be great if such operations could be achieved considering only the first n characters or words (a bit like uniq -w, or the removed uniq -W option). It would be an easy way to do :

i1 c1
i2 c2
i3 c3
i4 c4

minus

i2
i4

Comments are opened.

Update: many people pointed me to moreutils‘ combine. It looks good, bug not exactly what I need, so I filed wishlist bugs #398187 (combine: provide aliases for set theory operators) and #398193 (combine: allow to compare only on a subset of the lines). I won’t have time to provide patches, so if somebody want to work on them …. :-)

Feature request: confirmation for non-member posts in mailman

There are basically two kinds of setups for mailing lists managed using Mailman, regarding posts from non-members :

  • Accept posts from non-members. This lead to quite a lot of spam on the list, but also to no work for the moderators.
  • Put posts from non-members in a moderation queue. This result in a spam-free mailing list, but also in a lot of work for moderators, and in posts delayed for days.

It would be great if Mailman could ask the sender for confirmation (either email-based or web-based) before accepting the mail or putting it in the moderation queue. This would greatly reduce the amount of spam on the list or in the moderation queue.

This is also known as Mailman feature request #673265. A similar feature has apparently been in Sympa for nearly 4 years.

Wiki-like editing of tables/spreadsheets to share QA meta-information about packages ?

I’ve been working on archive rebuilds lately (rebuilding all etch packages inside etch). It generates a lot of data to analyze (failed build logs), and the work could easily be split between several developers.

For each package which fails to build, I add a line in a Gnumeric spreadsheet with the package name, the version I tried to build, the output of a script which tries to guess the reason for the failure using regexps, and the “resolution” (was a bug filed ? a new package not yet in testing ?) (example here)

Instead of doing this locally in Gnumeric, I’d like to do that online, using wiki-like editing, so other people could investigate different failures concurrently.

My ideal piece of software would:

  • be efficient to use (something AJAX based would be great)
  • allow for line-based locking, so people can just lock the line they are working on
  • allow for CSV-export/import, so I could fetch the whole data, add new failures using a script, and import it back

Does this exist ? :-)

Some stats about packages build times

I rebuilt all the packages in etch inside an i386 etch chroot on bi-Opteron systems with 2 Go of RAM. Here is some data about the build times for each package. They include the time needed to fetch the dependencies from a Debian mirror over NFS, so might have been overloaded during some builds, so it the build times might not be totally accurate, especially for the very short builds.
Two packages are excluded from the following stats because their didn’t complete their build: libmail-mboxparser-perl and camas.

17 packages took more than 1 hour to build. They are:

Package Build time (seconds)
openoffice.org 21537
linux-2.6.16 17859
linux-2.6 14833
gcc-4.0 9142
gcj-4.1 9062
gcc-4.1 7111
gnat-4.1 6910
installation-guide 6337
gcc-3.4 6022
octaviz 5735
gcj-4.0 5300
k3d 5294
openscenegraph 4851
ghc6 4670
glibc 4504
vtk 3954
atlas3 3759

The full list is available.

Most packages build very quickly:

Build time (s) Number of packages Total
< 30 5389 5389
30 – 59 2354 7743
60 – 119 1304 9047
120 – 499 873 9920
600 – 1799 92 10012
> 1800 40 10052

The total build time is 220.4 hours (that’s 9.2 days), the mean build time is 78.9s, the median build time is 27s.

Debian, Ubuntu, Mozilla® Firefox®, wearing hats, and Epiphany

With my Ubuntu hat, I strongly regret that no Ubuntu developer (to my knowledge) stepped forward to point out the inaccuracies in Chris Beard’s (Mozilla Vice President of Products) Q&A on Mozilla Firefox in Ubuntu. Letting people bash Debian when Ubuntu gets so much stuff from Debian isn’t nice at all.

With my Debian hat, I really like how Mike Hommey chose to discuss facts, with references, in his reply to Chris Beard’s post. When it is possible, going back to the facts is really the best thing to do to avoid the usual FUD. It’s not really a surprise that this intelligent behaviour came from the Debian side.

I have been a very happy user of Epiphany since I made the switch from Firefox 3 months ago. I would recommend it to anyone still using Firefox who is tired of its slow startup times, and its lack of integration in the Gnome desktop.

Discussion about moving Ubuntu IRC channels to Jabber

The Ubuntu GNU/Linux distribution is using IRC channels as a central place for its development. This week-end, Samir van de Sand proposed to move from IRC to Jabber on the ubuntu-devel@ mailing list. A discussion started, with lots of good arguments on both sides, and Samir started a specification summarizing its proposal.

Even if I’m not sure if I would like to use MUC rooms instead of IRC for Ubuntu-related discussions (mainly because I don’t think there are Jabber clients allowing to join 10 rooms with the same user experience I get with XChat), this might be a good opportunity to work on our argumentation regarding the IRC vs MUC debate.

Now, something totally different for my readers from planet.jabberfr.org: I usually blog my Jabber entries in english, because I’m syndicated on planet.jabber.org as well. Somebody argued that I should not post stuff written in english to planet.jabberfr.org. So, should I:

  1. Continue to post entries in english to planet.jabberfr.org
  2. Stop posting entries in english to planet.jabberfr.org (I’m not going to translate my entries, so my posts to planet.jabberfr.org will be limited to stuff which is not relevant to planet.jabber.org)

Version française: mes billets sur Jabber sont généralement écrits en anglais, car je suis également syndiqué sur planet.jabber.org. Quelqu’un m’a fait remarquer que je ne devrais pas publier de billets en anglais sur planet.jabberfr.org. Que dois-je faire :

  1. Continuer à poster des billets en anglais sur planet.jabberfr.org
  2. Arrêter de poster des billets en anglais sur planet.jabberfr.org (Je ne vais pas traduire mes billets, donc mes billets sur planet.jabberfr.org se limiteraient aux sujets qui ne concernent pas planet.jabber.org)

Mozilla, Debian and Iceweasel: the Mozillian point of view

During the Journées du Logiciel Libre 2006 (an excellent event, thanks to the organizers), I had long chats with people from Mozilla Europe (in a more constructive way than what others did). This is mostly second-hand information, since the well-informed guys from Mozilla Europe I talked with got their info from other Mozilla developers, so it might be slightly inaccurate, but still help to understand the issue. More details welcomed in comments.

The Mozilla Foundation goal is to prevent the web from becoming a proprietary web, by ensuring that Firefox, their product, has a big-enough market-share. I find it a bit disturbing to hear free software people speak about product and market-share, but well, OK. Of course, it’s quite difficult to achieve >20% market-share only with GNU/Linux users. :-)

They put a very high emphasis on the User experience. They want Firefox to look exactly the same on all platforms, even if some features (automatic plugin installation, automatic upgrades) do not fit well on a GNU/Linux system (such features don’t work with the Debian build).

They want to enforce their trademark to prevent attempts to ruin their reputation to succeed. After a question asked by Dave Neary (GNOME) to Tristan Nitot (president of Mozilla Europe), Tristan gave the example of this hacker who said he found critical security bugs in Firefox before admitting it was a joke. He also gave the example of Microsoft indirectly founding SCO. Dave Neary remarked that some people could probably be trusted (like distro maintainers). But, if I remember correctly, Tristan said that it was difficult to allow some people to use the trademark without allowing everybody to do so. Also, allowing Debian to use the trademark without allowing derivatives to do so is not possible (DFSG#8).

Iceweasel is considered a good thing inside Mozilla Europe (“It’s what we have asked them to do for a long time!“). However, some people are bitter about the fact that Debian seems to have chosen to use a gnu.org-hosted fork instead of just renaming the package to iceweasel.

During Tristan Nitot’s conference, I asked a question about length of security support (only 18 months for the 1.0 branch). The answer was that distros were supposed to upgrade to newer Firefox releases even on their stable releases (!) or to come and help with security support for stable releases. Also, the fact that Debian chooses to package Firefox following the FHS is considered a source of problems. Somebody claimed that Debian was the only distribution to package Firefox this way (seems strange, but I did not checked this claim). I’m not sure how this fits with other Mozilla-based browsers such as epiphany.

On a more technical side, they also claimed that Debian wasn’t properly collaborating with Mozilla, sending unusable 100000-lines patches for validation just before releases (haven’t checked this claim). It’s interesting to note that the same problem exists on the other side, with Mozilla releasing “security and stability” releases instead of just providing patches for the security bugs.

My personal conclusion is that Iceweasel is really a good thing, and is quite unavoidable, even if it seems that the Debian/Mozilla collaboration could maybe have been better. Let’s advertise the use of Iceweasel, Epiphany, and other Web browsers! :-)

Note : comments open for people willing to fix inaccuracies or provide references, not for a stupid childish flame-war like the one in the comment of this post. Please write your own blog entry and use a trackback if you want to provide a detailed answer!

Updates:

  • I forgot to mention that the Mozilla people talked about Debian-specific changes that changed frozen APIs, breaking extensions, and causing bug reports on b.m.o or misleading forum posts. (again, not verified)
  • Interesting blog post about the trademark issue here
  • Mike Hommey addressed most of the points I reported in this blog entry.

Unintrusive Instant Messaging

Most IM clients have a big problem: they seem to think they are the most important application on the desktop, or that their users always consider IM as top priority. Problem is, some users don’t! It would be great if IM clients where dealing better with two use cases :

  • Joe is working intensively on something, and doesn’t really want to be disturbed, except, of course, if the chat he would have is of extremely high importance (knowing who just sent him a message would probably help in determining how important the chat is going to be). He can’t rely on setting himself “Busy” on jabber, because people then write to him saying “ok, you are busy, answer me later, but here is my question: ….”.
  • Joe is working with Jack (a colleague) in front of his workstation. Since he has a mix of both professional and personal contacts, he needs to check if the message he just received is from his boss or from his girlfriend. (Opening a message from his girlfriend while Jack is watching might not be a good idea).

Typical stuff clients do:

  • Display incoming messages using notification-daemon (see picture below), but do not provide a way to disable this behaviour (I don’t think many clients fail this test).
  • The tooltip of the notification area icon (“system tray”) provides a fast way to be informed of important information. However, some clients (e.g Gajim) only give the number of unread messages, but don’t say who they are from (see picture below). The tooltip would be a perfect place to say “3 unread messages, 1 is from Boss, 2 are from ” in a Jack-safe way. When working intensively, it also allows you to make a quick decision about whether you want to read the messages and maybe start a chat now, or reply to them later.
  • Some clients (e.g Gajim) do not provide a way to easily read a specific unread message (and not all of them) (see picture below). Adding something event-specific in addition to “Show All Pending Events” would allow to read the message from Boss without reading the message from Girlfriend in front of Jack.

So, how does your client behave in regard to this ? I don’t really like the way Gajim behaves because it doesn’t provide much info in the tooltip, and doesn’t allow you to read a specific event (you have to open the roster and select the contact). Is your client doing better ?