prev
Issue 29
22nd October 2006
by Danny Allen
next


This Week...
The location for Akademy 2007 is Glasgow, Scotland. The KDE backbone of the Nepomuk research project has been imported into KDE SVN. A GUI editor for database lookup columns has been added in Kexi. More SVG card sets are added to the resurgent KDE games for KDE 4. User interface enhancements in Kst and Kalzium. Multimedia file tag handling improvements in Amarok (.wav) and Strigi (.mp3). Strigi-enhanced versions of the standard find and grep utilities introduced. Three utilities from a suite of ODBC and database tools make an surface in kdenonbeta/.

Michaël Larouche talks about the introduction of Telepathy technology in Kopete:
During the Akademy 2006 conference, the Kopete team discussed future possibilities for technology integration with members of Telepathy and Decibel projects. From this discussion developed the plan for the future of Internet Messaging in the KDE desktop.

So we decided to go the Telepathy/Tapioca/Decibel way for managing our protocols. Lets explain the weird names:
  • Telepathy is a D-Bus interface definition managed by Freedesktop.org and mostly developed by Collabora.uk. It allows a program to communicate via D-Bus to a Connection Manager that supports a given protocol. Think about a local client/server architecture for IM and VoIP.
  • Tapioca is an implementation of the Telepathy specification. The Tapioca group has created libraries that help creating clients which speak Telepathy and assisting in creating connection management tools. Currently, we have tapioca-sharp (C#), tapioca-glib (C), tapioca-qt (Qt) and of course, the raw bindings to Telepathy. The tested protocol plugin for Kopete naturally uses tapioca-qt bindings.
  • Decibel is the KDE integrator of all these technologies. Decibel will be bundled with Houston, which will manage user preferences and handle connection management. This is the equivalent of Mission Control. Nothing is released yet, but Tobias Hunger is busy working on that :)
So, to get the work started, I began work on a testbed Telepathy protocol plugin using the current Kopete plugin architecture to gauge the difficulty of integrating Telepathy into Kopete, and also to test if it is really the way to go. This is not a serious implementation. It speaks Telepathy and uses QtTapioca. Most parts of this code will be refactored into the main Kopete code if we decided to continue along the Telepathy path.

The current status is the same as the end of Akademy. I can log in using a Telepathy connection manager. That's all. We can't manipulate the contact list or start a text conversation yet.

In the near future, I will finish the tested Telepathy protocol plugin so that it is usable in real situations (ie. fetch the contact list and able to do text conversation). Also, we will be making our protocol plugin available as a Telepathy Connection Manager. That means you'll be able to use our protocol plugin in any Telepathy client, such as Landell, Tapioca, and soon, in Gossip.

After that, we will start to integrate Telepathy and Decibel into the main code of Kopete. Of course, this work depends on the progress of the projects and components supplying their important code, so we will be following their progress closely.

Thomas Nagy introduces his buildsystem project, Waf:
Waf is a build system for compiling and installing open-source projects written in C++ and many other languages. At the beginning, it was merely a set of small changes over SCons, but it has quickly evolved into a new tool, sporting a cleaner architecture and more efficient implementation.

The key features are usability (for example, Waf consists of Python modules, which makes redistribution easier), the performance (speed, size of the code), and the features (tight control over the execution of the tasks). It has reached the version 1.0 today and is usable right now for Qt3, Qt4 and KDE 3 projects (with KDE 4 coming soon).

To try waf:
  • download it from http://freehackers.org/~tnagy/waf-1.0.0.tar.bz2 or from svn:
    svn co svn://anonsvn.kde.org/home/kde/trunk/playground/devtools/waf/
  • create waf by running ./waf-light --make-waf
  • copy waf into your PATH (/usr/local/bin for example) and try the demos in demos/kde3/:
    cd demos/kde3/; waf configure; waf

Eigen is a lightweight C++ template library for vector and matrix math, a.k.a. linear algebra. What does it do? I asked its lead developer, Benoît Jacob:
Eigen performs the usual operations on vectors and matrix, as well as some more advanced stuff, like solving a system of linear equations. Eigen is written with the needs of actual applications in mind, and requires no external dependencies: this may make it desirable for usage in non-KDE applications as well.

Eigen provides all classes in two variants: fixed-size and dynamic-size. The cool thing is that the same code is reused for both variants, thanks to a C++ trick known as "Curiously Recurring Template Pattern". The fixed-size classes are meant to be zero-overhead, for instance, they should never cause dynamic memory allocations, while the dynamic-size classes provide of course more flexibility.

While I will take Benoît's technical word for it, any interested developers can get the code from KDE SVN at /trunk/kdesupport/eigen/, or read more about Eigen at http://edu.kde.org/kalzium/eigen/.

A humourous commit in KOffice this week may catch the eye: "kword can now export doc files!...", but of course, there is no magical one line of code to implement such a feature (so instead, the one line commit enforces the same compatibility method utilised by Microsoft Word and OpenOffice.org Writer - the Rich Text Format - where a .doc document file is merely an alias for the less-capable format).

Many thanks this week go to Pino Toscano, who provided vital technical assistance to get this digest issue out on time. Thanks Pino!


Statistics
Commits: 2305 by 202 developers, 4830 lines modified, 1552 new files.
Open Bugs: 13248
Open Wishes: 11816
Bugs Opened: 324 in the last 7 days.
Bugs Closed: 251 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
421
/trunk/www
420
/trunk/l10n
328
/trunk/extragear
204
/branches/stable
191
/trunk/playground
190
/trunk/koffice
176
/branches/work
94
/branches/KDE
87
/branches/kdevelop
51
Lines Developer Commits
198
Laurent Montel
93
161
David Faure
75
123
Carsten Niehaus
59
103
Gilles Caulier
51
51
Adriaan de Groot
47
9
Natalie Koning
38
65
Dirk Mueller
36
50
Sander Koning
35
71
Cyrille Berger
31
36
Erik Kjær Pedersen
31

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
100.00%
Swedish
99.95%
Danish
99.91%
Spanish
97.07%
Dutch
96.77%
Greek
95.52%
Italian
94.02%
French
93.69%
Estonian
93.08%
German
93.00%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Martin Aumüller
43
Bram Schoenmakers
33
Lex Hider
31
Maks Orlovich
13
Alexandre Pereira de Oliveira
11
Tommi Tervo
8
Sander Koning
8
Allen Winter
7
Gilles Caulier
7
Seb Ruiz
6

Program Buzz
Amarok
  7265
KMail
  4470
Kopete
  4440
Kate
  4290
KDevelop
  3450
K3B
  3240
Kat
  2420
Quanta
  1996
Ark
  1856
Kexi
  1730


Person Buzz
Adriaan de Groot
  1123
David Faure
  1050
Waldo Bastian
  866
Stephan Kulow
  818
Jonathan Riddell
  590
Jaroslaw Staniek
  524
George Staikos
  378
Stephan Binner
  328
Aaron J. Seigo
  310
Boudewijn Rempt
  283
Commit Countries

Commit Demographics
Sex
96.7 %       Male
3.69 %       (unknown)
2.48 %       Female
Motivation
49.7 %       Volunteer
33.2 %       (unknown)
19.8 %       Commercial
 
Ages
66.6 %       (unknown)
20.0 %       25 to 34
9.88 %       18 to 24
5.49 %       35 to 44
0.634 %       45 to 54
0.211 %       Under 18


Contents
  Bug Fixes Features Optimise Security Other
Accessibility
Development Tools [*] [*]
Educational [*] [*]
Graphics [*] [*] [*]
KDE-Base [*] [*] [*]
KDE-PIM [*] [*]
Office [*] [*] [*] [*]
Konqueror
Multimedia [*] [*] [*]
Networking Tools [*] [*]
User Interface [*]
Utilities [*]
Games [*] [*]
Other [*] [*]


Bug Fixes
Development Tools
Oliver Kellogg committed a change to /branches/KDE/3.5/kdesdk/umbrello/umbrello/umldoc.cpp:
Avoid using numeric IDs for the root folders - they may collide with
ID numbers from pre-1.5.5 files.

Note to users: Please do not use the Umbrello that comes with KDE 3.5.5.
The corrected version will be released shortly at http://uml.sf.net
Bug 135749: Crash when opening a document
Diff Revision 597279

Graphics
Aurelien Gateau committed changes in /trunk/extragear/graphics/gwenview:
Do not show the name of the current file in the status bar: it's already shown
in the title bar and it was causing the mainwindow to be enlarged if the name was very long.
Bug 127004: window gets resized beyond screen size to fit file name in status...
Diffs: 1, 2 Revision 596385

KDE-Base
David Faure committed changes in /branches/KDE/3.5/kdelibs/kio/kio:
Hide the progress dialog while displaying the password dialog
Bug 89951: Authorization dialog focus handling broken when opening a protect...
Diffs: 1, 2 Revision 596498

KDE-PIM
Andreas Kling committed a change to /branches/KDE/3.5/kdepim/kmail/kmaccount.h:
Use a QGuardedPtr for the KPIM::ProgressItem in KMAccount.
Fixes a bazillion crashes when dereferencing deleted items.
Bug 105701: KMail crashed while writing a mail
Bug 114953: Crash after receiving new messages (backtrace inside)
Bug 114197: KMail Composer crashed between accepting GnuPG passphrase and pro...
Bug 117475: Crash relating to progress indication, possibly to do with IMAP
Bug 118083: Kontact crashed while using Configure Kmail - Accounts
Bug 128131: Crash seemingly due to progress bars
Bug 129007: Crash while running in background
Bug 133023: Kmail crashing when opening an IMAP folder
Bug 133745: Kontact crashed when left running overnight
Diff Revision 585670

Multimedia
Andrew Turner committed changes in /trunk/extragear/multimedia/amarok:
Fix loading directories in a browser from the tag editor if the path contains a parenthesis.

Thanks to Richlv for reporting it, and to hurra for a perfectly good patch fixing the issue that I didn't use in the end (because Firefox confused me).

It's still broken though if you use Firefox and already have a browser window open. I blame Firefox's input parsing, and think it doesn't like C-style escaped parentheses (with an open browser window)
Bug 132961: fails to open a directory with parenthesis from tag editor
Diffs: 1,