kdelibs unit tests: all green!

For the first time since end of May, 2010, the kdelibs unittests are all green again, in trunk:

100% tests passed, 0 tests failed out of 171

Thanks to everyone involved in the last round of fixing (Aaron Seigo, Kévin Ottens, Bernhard Beschow, Sébastian Trueg and a few others)!

What does this mean? Well, it means two things:

1) if someone breaks something, I'll be able to find out very quickly and to shout at him/her :)
(well, or at myself, a case which happens often too...)


Mimetypes are out of ksycoca

During the Akademy kde-on-mobile discussion, Kévin Ottens suggested that mimetypes be splitted out from the main sycoca database, in order to reduce the overall time kbuildsycoca takes every time it runs, and to make things more modular. Last monday I had a look and decided to go one step further and not use ksycoca at all for mimetypes. This makes the KMimeType subsystem really independent (usable without having run kbuildsycoca4 before, so no dependency on kdeinit+kded etc). Took me the whole week, but there we are.


No print preview available, due to "libpoppler-qt4.so: undefined reference to qBadAlloc"

If print preview doesn't work (no viewer found for PDF files), then most likely okularpart (from kdegraphics) isn't installed. If this is because your kdegraphics can't find poppler (the test for HAVE_POPPLER_0_12_1 fails) even though you have it installed, look into CMakeFiles/CMakeError.log. If you see "undefined reference to qBadAlloc" while linking, then the problem is that /usr/lib/libpoppler-qt4.so was compiled against a Qt with exceptions enabled, and your own Qt (e.g. from kde-qt git) was compiled with -no-exceptions.


Burkhard Lück revives KDE documentation efforts

I just have to say it, I'm thoroughly impressed by Burkhard Lück's determination to improve the user-documentation of KDE applications (particularly the kdebase ones). This is much needed, a huge undertaking, and probably also not very rewarding work. This being said, I'm sure he would appreciate some help -- if you can speak English (you can, otherwise you wouldn't be reading this) and want to contribute to the KDE documentation, subscribe to the kde-doc-english mailing-list :)


Showing the git branch in the zsh prompt

One big risk with git is forgetting which branch you're working in. Several people solve that by putting the git branch in their shell prompt. But often they do that by calling `git branch` and parsing its output, which is quite slow, especially in big repositories (we strace'd it, and it really opens and reads a lot of files).

At GCDS, together with Aurélien Gateau et Sébastien Renard, we came up with
this light-weight implementation (http://www.davidfaure.fr/scripts/git_branch_in_zsh_prompt).


More productivity tips

I learned a number of useful productivity tips during this akademy, so as the self-appointed guy-who-shares-productivity-tips-with-the-rest-of-kde, I thought I would share them here :-)

Read more below for yokadi, ack-grep, autojump, and cgdb.


Kubuntu Jaunty (xorg 1.6) doesn't like ATI Radeon cards

Hearing that kubuntu jaunty was out, I upgraded two machines today.
My wife's machine, so she can finally use KDE 4.2, and my own desktop machine. On her machine, NVidia card, no problem at all.
On my machine, ATI Radeon X1300, after the upgrade, X would always just show some red dots on the top of the screen, and then the machine would hang (no keyboard, no ssh, nothing except reboot).
I tried every possible driver in xorg.conf, no difference. So this isn't a driver problem, but an Xorg problem.
Other people on #kubuntu (e.g. "chx") reported the same issue.


Setting things up to get core dumps

Drkonqi is nice and friendly, but some apps (e.g. kded or krunner) have a crash handler so that they restart instead of annoying the user with crash dialogs.

As developers, we want to see backtraces of crashes in all cases; and to be in gdb in order to be able to print variables etc. Solution: asking for core dumps. That part is easy:

export KDE_DEBUG=1
ulimit -c unlimited

You should put that somewhere that is read during KDE startup, for instance ~/.kde4/env/debug.sh


10 times faster deleting a directory (different use case)

Yes, very much like my previous blog post some time ago, but for a slightly different use case. Last time it was about deleting 10000 files viewed in dolphin/konqueror, using "select all", while this time it's about selecting ONE directory and deleting it - the recursive listing involving multiple ioslaves took far too much time. This became the highest-voted bug assigned to me - bug 174144 - so it's fixed now.


svn.kde.org down temporarily

Another few hours until it comes back, apparently.

You can read more details about it at