|
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!
|
|