Find headlines
Channels
|
News tracker

|

Planet KDE - Planet KDE is an aggregation of public weblogs written by contributors to the K Desktop Environment.
|
Saturday - September 11th | | 0:30 | | Marc Pegon (mpeg): Having some fun with old maps
 | | 1 hit | While relaxing after the hard-working period that was the GSoC, I came across a comment left by Torsten Rahn of the marble team. He wondered whether it would be possible to adapt image warping functionality so that it can be used to morph some old maps.
Apparently, they would like to add historical maps to Marble. Unfortunately, these maps are most of the time not 'plate carrée projections' of the globe, which is a requirement for Marble. Hence they use xmorph to convert those maps 'by hand' into plate carrée projections.
Of course, it would be too long and too hard for me to do something like xmorph. Though, after taking a look at some of these old maps and searching on wikipedia, I became pretty sure these were some kind of stereographic projections (actually two stereographic projections : each one representing a half of the globe).
So, I did the maths and wrote a simple command-line program to convert automatically stereographic projections to plate carrée projections.
I was quite convinced the result would be bad, but actually it turned out quite well . My program takes a .ppm square image of a semi stereographic projection (rightly centered, etc..) and converts it to a .ppm square image of a semi plate carree projection (the plate carree projection of the corresponding half of the globe).
I tried it with a map that had already been converted by the marble team, in order to see if I obtained the right result.
Here is the original map :
And the expected result :
Here is what I gave to my program (the stereographic projection of one half of the globe, cut from the original map, and scale a bit to make it a perfect circle) :
And here is what I obtained (the operation took about 2 seconds) :
Torsten Rahn told me the result looks very similar to what they obtain with xmorph . They also had distortions appearing on the edges, which needed to be fixed by hand.
For fun, I wanted to try it with a map that hadn't been converted yet :
Here is what I obtained quickly (just the time to cut the two halves of the globe, give them to my program, and merge them properly) :
For those who are interested, here are the sources
. It's written in pure C99, and under LGPL.
Now, back to Krita. I was a bit lazy the past few weeks, since I merely fixed 2 or 3 bugs related the transform worker. And now that I am back to school, I will have even less time to work on Krita. Anyway, even if it is at a lower pace, I will still find time to contribute, and maybe even blog .
| Friday - September 10th | | 23:30 | | Rafael Fernández López (ereslibre): libbluedevil 1.8 relea..
 | | 1 hit | Hi all,
libbluedevil v1.8 has been tagged and released. You can find a tarball here
.
This version includes couple bug fixes and some tweaking. The plan for v1.9 is basically to fix all known D-Bus problems and make it rock solid. Support for this major version 1.x is planned to be continued for a long time.
However, and when nobody sees me in my dark cave I am planning some refactor on it. First, starting by the headers name. They aren’t as good as they could be. Second, I think including services to the library would be such a great thing that it’d rock. So I expect those to happen for v2.0. No dates (sorry), but I can tell you: don’t expect it for 2011. Hopefully for that time it’ll be alive and rocking !
So, if you plan to use Bluetooth services I’d suggest you to have a look at libbluedevil, since it has a really straight-forward and simple API. That way, you will also help me when reporting new issues and we can have a better library, from which we all benefit.
Sad thing… I was pretty used to post always a picture of what I was working on, but this one is pretty hard…
| | 22:30 | | Aaron Seigo (aseigo): school starts
 | | 1 hit | School here in B.C. started up again this week, and P. has headed into grade five. It's really hard for me to get my head around the idea that my son is already in grade five. Amazing how fast that all happens. Best part is that he's finally at a school that is within walking distance which means he is now able to get himself to and from school. This is not just a nice thing for my schedule (two years ago I spent 2+ hours a day in the car shuttling him between home and school; last year it was 'just' 40 minutes), but an especially nice thing for his budding sense and practice of independence.
Meanwhile, I'm going through a number of life changes myself which has left me various amounts of organization work, paper work, legal details and what not to take care of. Things are busy, and I think both P. and I are learning lots in the process. | | 22:30 | | Aaron Seigo (aseigo): using configChanged() in your Plasma w..
 | | 1 hit | With the advent of Plasma shell scripting
, a rather large implementation hole in our widgets started showing through: almost none of them were able to react to external configuration changes. That means that when altering a widget via a script, configuration changes simply wouldn't be picked up.
We scampered through the most fundamental ones for the 4.4 and 4.5 releases, but in 4.6 we have committed to all of the widgets we ship being re-configurable via scripting. We're actually almost done, thanks to efforts by people such as Ann-Marie (KDE Edut and Plasma Picture Frame fame) and Anthony Bryant (a relative new-comer to the Plasma scene). It's been a relatively easy grind, actually, perfect for even newer developers because all the widgets needed to do was implement the configChanged() slot.
The rule is simple: in configChanged() (a public virtual Q_SLOT), all config values should be read. The common practice is to therefore call configChangd() from the widget's init() method. When the configuration interface is shown, it is also automatically called. This happens after anything that is connected to the configuration dialog in the widget's createConfigurationInterface method, which means that the widgets now have one slot connected to the configuration dialog's applyClicked() and okClicked() signals that does all the configuration data writing (taking values from the config dialog), and configChanged() which is called automatically which reads these values back in and does any updates necessary to the widget in response.
The beautiful this about this approach is that if your configuration dialog works, then it is guaranteed that your widget will also work perfectly with scripting or any other behind-the-widget's-back configuration changes.
What about all those scripted Plasmoids out there? Well, it's the same idea, just a bit simpler. Most scripted Plasmoids get their config dialogs 'for free' just by including the correct ConfigXML and QtDesigner files in the package. When the configuration changes (either due to the config dialog or scripting), then the configChanged method is called in the script. In the Javascript bindings this means doing something like: plasmoid.configChanged = function() { .. do stuff in reaction to changes .. }
Oh, and if you are looking for other similar easy-to-get-into tasks, we're once again keeping up a page of such tasks over on community.kde.org
. | | 17:30 | | Adriaan de Groot (adridg): PyQt comes to OpenSolaris
 | | 1 hit | For the past month I’ve been honing my PyQt skills and greatly enjoyed it. I’ve been saying to people at conferences — for years already — that Python (or some other scripting language) is the Right Approach ™ to a great many end-user applications for its speed on development and ease of prototyping. Now I finally spent a month testing the truth of that statement.
However, all the work I did was on Linux systems, both Ubuntu and Fedora. Today I sat down to package PyQt for OpenSolaris. Riverbank Computing supports Solaris, to the extent that sip lets you do –platform solaris-cc, but there were a few gotcha’s along the way.
- The mkspecs parser in sip expands Windows-style percent-sign variables. This bumps into the Sun Studio flags which includes things like -library=no%CStd. It took me a long time to track that down, and then patch it out.
- Python lives in /usr while our Qt packages live in /opt/kde4 — this just causes packaging headaches and RPATH juggling, nothing spectacular.
But those little gotchas aside, packaging went smoothly. You can get the specfiles from the KDE 4.6.0 preparation repository
. Packages are not yet available from our usual KDE4-on-OpenSolaris repositories, though. We might backport into the -450 specfile and package repository if there’s any enthusiasm for it.
One thing I’ve had some trouble with is finding code to test the bindings with. Somehow the examples that are bundled with the PyQt source distribution aren’t mentioned a lot on the web, so it took a while for me to find the obvious testing ground. But from there the whole QtDemo application runs except for the OpenGL parts: it seems I’m missing the bindings for that. So there’s still some polishing left to do with the dependencies, too.
So what’s the future hold now we have Python bindings for Qt in OpenSolaris? Well, the obvious thing to do would be to produce some small applications that help with OpenSolaris-specific features such as ZFS, dtrace or containers. That would give the KDE4-OpenSolaris desktop a boost as well.
| | 16:30 | | Allen Winter: KDEPIM 4.4.6 Available
 | | 1 hit | Tarballs for kdepim-4.4.6 and kdepim-runtime-4.4.6 are now available from a mirror near you.
ftp://ftp.kde.org/pub/kde/stable/kdepim-4.4.6/src
There is no associated kdepim-l10n-4.4.6 tarball since I don't know how to make one -- but there are also no new messages strings so the existing 4.4.5 translations should work.
There is also no ChangeLog since that also is something I'm not sure how to do.
If there are volunteers to make the l10n or Changelog, feel free to contact me about it.
| | 15:30 | | Sven Burmeister (rabauke): KDE: Week 33-39
 | | 1 hit | Nepomuk+strigi as desktop searchIn the last weeks I – once again – got fed-up with strigi/nepomuk being of no use to me. Since KDE 4.0 I long for a desktop search, i.e. some way of finding files and getting a result list such as google etc. has it, i.e. including some context around the string found in the document and not just a file list. Anything else would just be a faster version of kfind for that task. And since I do not use tags, it is the only desktop search task for me.
So the first thing why it did not work for me was that strigi+nepomuk never finished to index my files because strigi 0.7.2 crashes while it indexes several filetypes such as email, flac or rpms. Having a look at strigi’s website
the project seemed dead. No news since 2008. This is a depressing first impression. Having a look at the SF project page continues with this, i.e. the latest available tarball is version 0.6.4 and the docs point to KDE’s playground svn repo if one wants to get strigi. The latter obviously fails because strigi is part of kdesupport.
Having a look at the bug tracker I found life though! And after I found out how to track down which file crashes strigi I could even provide some files to help fix the bugs – and fixed they were! Phreedom fixed one crash after the other so in the end I had an almost working strigi which could index my files. Almost, because some symbol lookup error (symbol lookup error: /usr/lib64/libldap-2.4.so.2: undefined symbol: ldap_int_tls_destroy) was still crashing strigi, yet this is not strigi’s fault
(same bug at Red Hat)
and one can work around it by removing /usr/lib64/strigi/strigiea_vcf.so and strigiea_ics.so.
So if you find any crashes with strigi, use xmlindexer <folder or filename> or rdfindexer (both part of strigi) to track down which file causes it and report it at SF including the file – because strigi is alive and the devs are really nice people that fix bugs quickly if they are provided with testfiles! While reading along in #strigi I also gathered something about work on clucene and strigi to make it even faster. So it seems that the next releases of strigi et al. will result in some nice improvements for us users.
All crashes fixed and now I got a 1.4GB sized index with information about 130000 files in it, yet krunner and dolphin only return a file list which is as useful as if google only returned URLs in its results. If the search returns 20 OpenOffice documents and their filename does not tell me which of them is the document I am looking for, I would have to open all of them and use the OpenOffice find functionality to find the string within the document and check whether it is the paragraph I was looking for.
So I had a look at the nepomuk mailinglist
in search for a search client to use and dolphin is apparently the best choice. And despite the fact that the term “desktop search” (used for nepomuk+strigi in KDE’s systemsettings) has already been defined by other applications such as beagle or google, nepomuk+strigi+dolphin cannot display the search results with some context around the found string. For me this is the most basic functionality of a desktop search. Yet if I understood correctly nepomuk is more than that and has different and more ambitious aims. Thus this feature does not have a high priority.
IMHO it is absolutely understandable that nepomuk aims at something different and thus sets its priorities differently, especially because of the lack of developers involved in the project. Yet maybe providing these basic features would attract users and thus developers? And of course it would help a lot to gain some acceptance for all the CPU and disk space used by strigi+nepomuk. Without a wide acceptance nepomuk+strigi will stay turned off by a lot of distros by default. Hence IMO nepomuk+strigi has a serious search client issue. There are some clients such as the crystal plasma applet within playground and indeed it does work and provides some context around the string found but only for a few files, i.e. it does not show any context for most of its results even though all of them are e.g. OO documents. And it has other issues as well, such as showing some bogus results. But it is a start and because it can be put into the panel it is very accessible for the users. It would be even more so if it would consist of a text-field rather than a click-able button to open a text-field.
I really would like to see a search client that enables nepomuk+strigi to be useful as a simple desktop search and gain acceptance from there. Start with the basics so to say. We will see what KDE SC 4.6 brings and since its their time and project it’s up to the devs to set their own pace and goals.
Digikam 2Since I was curious about the versioning and face recognition in the upcoming digikam 2.0 release, I compiled libkexiv2 and libkdcraw from trunk and got everything else needed from digikam2′s branch. Everything seems quite stable, i.e. I did not get any crashes yet despite the fact that there was not even a beta release yet. The latter is scheduled for October btw.
Neither versioning nor face detection are finished yet but the devs need feedback. So if you have some spare time, try those new features and report back to digikam’s devel mailinglist. From my point of view versioning already works quite well while face detection still needs some time until one can really test it. At least for me scanning the whole collection stalls after a few pictures and I cannot add names to the faces found, so it’s hard to test anything.
However, I think that those two and the other new features of digikam 2 will give that project yet another push to more popularity. Its development seems very lively to me and its great to see it improve from release to release. The only thing missing to make me completely happy is that one can keep tools opened
when applying them to a picture. As in picasa doing so saves a lot of clicks if one e.g. goes through new pictures and wants to use cropping while maintaining the aspect ratio on some of them. This cannot be done with a batch tool since the user has to set the part of the image that should be cropped manually for every picture.
openSUSE 11.3 KDE (4.5.1) reloadedToday openSUSE’s KDE reloaded LiveCD got published. It’s basically an installable openSUSE 11.3 LiveCD with KDE 4.5.1 packages including all openSUSE patches and branding. The latter distinguishes it from KDE Four Live which is supposed to provide almost vanilla KDE packages.
The openSUSE 11.3 KDE reloaded LiveCD/USB is available for x86
and x86_64
from here
. openSUSE users can install and run the package imagewriter
to get a dead easy to use GUI to put the ISO image on an USB stick. If you want to provide feedback you can contact javier_ or alin in the #opensuse-kde IRC channel on freenode.
KDEPIM translationsfor KDE 4.5Since there is no KDEPIM 4.5 in KDE SC 4.5 yet, there are no translations either. Users updating to KDE SC 4.5 asked for translations for their KDEPIM 4.4 used within KDE SC 4.5 and thus KDE:Release:45 as well as KDE:Distro:Factory now contain translation packages for KDE SC 4.5 which have the KDEPIM transalations from KDE 4.4.
Desktop effectsAnother note for others with intel graphics chipset using KDE trunk. I (945GME) had to disable functionality checks to get any desktop effects at all. According to other users this is also true for the 965GM and probably others . I think this is a known issue and caused by the buggy intel drivers. The problem with this is that I can enable the blur effect yet it only paints all plasma widget’s background in a dark grey rather than blurring it. So one has to disable blurring manually to get some semi-transparent blurring from the widget theme. I guess that disabling the functionality checks does also disable the blacklisting of the intel chipsets regarding the blurring effect.
 | | 14:30 | | Frederik Gladhorn (fregl): Next attempt, attica 0.1.91
 | | 1 hit | Due to a small change in the createtarball script from kdesdk I messed up the tarball for attica 0.1.90, so without further ado, here’s the next attempt.
Please test.
I hope this will be the final version 0.2.0. But then again I already said so the last time 
ftp://ftp.kde.org/pub/kde/unstable/attica/attica-0.1.91.tar.bz2
| | 9:30 | | Ariya Hidayat: Eid Mubarak
 | | 1 hit | Happy Eid Al-Fitr to all!
| | 8:30 | | Hugo Pereira Da Costa: Performance issues, one script, and c..
 | | 1 hit |  | | 4:30 | | Thomas Fjellstrom (fjellstrom): Tree View plugin introductio..
 | | 1 hit | Kate has been my favorite editor for some time now. And only recently has it not been able to do something I asked it do to. I was working on a rather large project in Perl when things started getting confusing. The classic file list had 50+ files in it, some of them have the same file name, so would have (1) or (2) or even (4) after the file name, and while thats handy, it gets confusing pretty quickly.
So I spent a week to try and bring order to the chaos. And this is what I came up with.
Now I can tell people are thinking, but Thomas, that doesn’t look so confusing.. Granted.
Here’s what my larger project looks like with the file list:
I think anyone will have a hard time working with that unholy mess. After trying to manage that for more than a couple of days I sat down and decided to write the tree plugin. Heres what the mess looks like now:
Is that not a lot better?
Some of you reading this might have noticed that it isn’t creating a full file system tree. That is it isn’t making “/” or “C:” the root of the tree. Indeed. It uses a couple tricks to make sure the tree isn’t cluttered with directories you really don’t care about. If people are interested I can explain more about how it does what it does in a more technical post.
I’ve heard a few people ask if this shouldn’t just outright replace the existing file list. The Kate developers don’t see why not, but I have my doubts that it is a proper “one size fits all” solution. As far as I can tell, it is impossible to make the tree behave in a fully sane and expected manner. In some cases it won’t merge some folders you think it should, but (IMO) trying to make the tree behave any “better” would make it less useful (at least to me). I’m interested in what people think, is it “good enough” to become the default document list, or even replace the existing one outright?
I’ve committed the plugin to KDE svn, and just uploaded to kde-apps if anyone is interested in giving it a try. I’ve tested it with Kate/KDE 4.4, 4.5, and Kate from trunk. Please let me know what you think, and tell me if you have any problems or concerns! Thanks 
p.s. I’m new to this whole blogging thing, please be gentle 
| | 1:00 | | Stefan Majewsky (majewsky): Debugging
 | | 1 hit | I just debugged my OpenAL test program for over an hour, and still had not figured out why it would not play the sound file I gave it. Until I saw this line:
const int volume = 0.9;
And I thought that I was at a point in my life where I won’t make these silly errors anymore.
Filed under: Uncategorized
 | Thursday - September 9th | | 22:30 | | Aracele Torres (araceletorres): KDE Brazil on Flickr
 | | 1 hit | Hi everyone!
The KDE Brazil now has a space on Flickr to post pictures of events that participate and organize. Look how is our picture gallery! http://www.flickr.com/photos/kdebr/
 | | 15:30 | | Adriaan de Groot (adridg): NLUUG fall conference schedule fi..
 | | 1 hit | The NLUUG
’s Fall Conference
— this time on the topic of Security — has been finalized. You can find the schedule
, with speakers on both practical and theoretical topics, one the conference website
. One of the speakers will be Frank Karlitchek, on Cloud security (in the context of OwnCloud). There tends to be a good amount of KDE presence at the NLUUG conference — I guess that means I’m good at spreading the Call for Abstracts in KDE circles, I guess.
Attendance for students is dirt cheap, so here’s a chance to pick up some useful or inspirational information on security.
Next NLUUG conference will be in May, topic still to be disclosed.
| | 14:30 | | Lim Yuen Hoe (moofang): Hiding Kate Session Applet Items
 | | 2 hits | I put my Kate Session Applets at the corners of my programming-related activities, and they are usually little. So it always annoyed me that the three default items that I cared little about were at the top and had to stay at the top, forcing me to scroll to load the kate sessions I’m actually regularly interested in.
Well, I recently scratched that itch:

All items in the applet, including the default three, can now be hidden by unchecking it in the new configuration interface. And what’s more, different applet instances can hide and show different items too.
| | 9:30 | | Ariya Hidayat: the art of blurring the shadow
 | | 1 hit | In the recent weeks, sporadically I have been working on QtWebKit to fix the missing blur support for Canvas and CSS shadow (see the tracking bug 34479
). This brings some good memory; before I left Nokia
, I was involved in prototyping the special effect
stuff, both for the low-level (non-public) QPixmapFilter and the high-level QGraphicsEffect
.
Usually blurring drop shadow for a shape is a very typical: grab the alpha channel of the shape, apply the blur filter, and finally tint it with the intended shadow color. The last step is trivial using the SourceIn composition mode
. The blur filter is supposed to follow the SVG specification on feGaussianBlur
. The said specification mentions one possible way to approximate the perfect Gaussian blur: three successive box blurs
.
Since QPixmapFilter is private anyway and QGraphicsEffect is not suitable for this task, an attempt to implement what the specification outlines became my hobby for a few evenings. This is basically what emerges as the shadow blur implementation in QtWebKit. For the sake of code reuse, I pushed the implementation to the X2 repository
under the graphics/shadowblur
subdirectory. The shadowBlur() function itself is BSD licensed, there is a demo program included for your pleasure:
Performance-wise, the code is as satisfactory (for such a portable implementation). Another good approach is to use stack blur
, adopted among others by AGG
. KHTML notably uses stack blur for its Canvas shadow blur support. Exponential blur
is known to be very fast, although quality-wise it deviates farther from a true Gaussian one. The portable, raster version of QGraphicsDropShadowEffect
(via QPixmapFilter) is using this algorithm.
For this particular use-case, namely blurring the shadow (as opposed to generic blur filter), I'm surprised that the Gaussian blur approximation is not necessary slower than KHTML's stack blur approach or even QGraphicsDropShadowEffect's exponential blur. I did a quick benchmark, measuring the time spent creating the shadow for two images (horizontal 149x13 and vertical 13x149) for different radii (small 4px and medium 17px), on a Core i7 machine. The outcome is shown in the following bar chart. The result was from several runs, with the overall confidence level observed to make sure it was statistically sound. Still, take it with a pinch of salt.
With a very large blur radius, e.g. 50, stack blur performance deteriorates quickly, probably because the pre-loop initial setup. Exponential blur is pretty much radius-agnostic, although I can't find cases where it wins against my shadow blur code (which is BTW only 60 lines). Larger source images would highlight the performance difference even more. Maybe I am doing something wrong, or maybe that's how it is. In any case, I insert a low-priority entry in my (already infinite) TODO list: spend some quality evenings with callgrind and examine those blur implementations.
On mobile devices however the situation is reversed. The approximated Gaussian blur is consistently slower, around 10%, compared to exponential or stack blur, when tested on 600 MHz Cortex A8-powered Nokia N900
. Due to slower memory speed and smaller cache, the repetitive memory access for the successive box blurs cancels its fast processing benefit. Hopefully the 1 GHz generation CPU (like in Nokia N8
) and improved memory bus will eliminate this minor slow down.
Anyway, in all cases, just like Andreas mentioned
, now you can enjoy the fancy Parcycle demo
in its full glory:
| | 2:30 | | Albert Astals Cid (TSDgeos): KGeography video
 | | 1 hit | | It seems someone has done a video on KGeography and it seems he even does enjoys using my little program. Check it out at http://www.youtube.com/watch?v=xWClw5baTCY
| | 2:30 | | Romain Pokrzywka (kromain): Facelift for windows.kde.org
 | | 1 hit | The KDE-on-Windows website
has gotten a facelift ! It now has the same style as the other KDE websites, and a lot of content has been updated in the process, to reflect the latest status of the project and its team.
Thanks to the webmasters and to Ralf Habacker for the updates.
It's a good opportunity to go and download the latest kdewin installer :)
ps: stay tuned for some news from the KDE-Windows team, with a HUGE announcement coming in the following days... ;) | Wednesday - September 8th | | 20:30 | | Adriaan de Groot (adridg): KPresenter template contest
 | | 1 hit | Eugene reminds us
about the KPresenter template contest
. This made me go “hunh? did I miss something?” and yes indeed, there was an announcement on the dot
some time ago.
Of course, my artistic skills are limited to Kolourpaint and LaTeX beamer hackery, so I’m not going to enter, but I’d encourage all those with actual talent to submit something. Spice up everyone’s presentations! Do bear in mind that the license on the resulting artwork needs to be liberal enough that it can be redistributed — consult the contest rules for details.
| | 18:30 | | Milian Wolff (milianw): Beware of KDevelop Master and KDELib..
 | | 1 hit | Hey all,
please don’t use KDevelop master with KDELibs 4.5.1 or lower. Katepart in that version misses a crucial commit that makes KDevelop crash. It is fixed for 4.5.2. In the meantime you have on of the following options:
- Build kate from sources
- Switch to the stable branches, i.e.: KDevplatform 1.1, KDevelop 4.1, PHP 1.1, …
- wait for the 4.5.2 release
bye
| | 14:30 | | Tomaz Canabrava (tomaz): Looking for Lost Focus.
 | | 1 hit | I lost it, but it doesn’t mean that I don’t want it back. It’s been a strange new world for me as an KDAB employee, helping KDE in my free time, and still trying to take over the world and mentoring one indian, one greek, and three brazilians in the world of KDE. And if you, my dear reader, remembers, I’m also a (not-that-good) stage actor and addicted to brazilian culture.
And I lost my focus. I need to concentrate more in one thing instead of doing three or four at the same time, so I will quit the three things that were messing up my time: Mafia Wars, World of Warcraft and Pottery.
Maybe I’ve become an old man with white beard, white hair and a bold top, but I don’t want to do ten things at once anymore, I want to do two, maximun three. and do those well done.
So, I’m reapearing in KDE for good, Origami/Tapdancing for good, and at my good employees at KDAB, for good. 
Thanks for your time to read this sorry-for-not-being-focused message.
 | | 13:30 | | Sebastian Trueg (trueg): Faceted Browsing in KDE or The Blog..
 | | 1 hit | It is about time I blogged again. So I will just blabber out what I was doing for the last two days: Facets – again. Why again? Well, this is my third attempt at creating a generic facet framework for KDE and the fifth in total I think. Alessandro Sivieri
started writing smart facets in his GSoC project 2009 (yes, I will write a summary of GSoC 2010 – I will get there eventually), then continued with a simplified version in his SemBrowser
. Then I stepped in, trying to make his facets generic by separating GUI from core which looked nice in the beginning but eventually failed since certain things could not be solved when separating GUI and core. In the end I decided that Facets are a very GUI kind of thing and went back to Alessandro’s SemBrowser design of facets: each facet is a QWidget.
And that is what I did the last two days. Now I have a FacetWidget and convenient subclasses ListFacetWidget, SimpleListFacetWidget, RangedFacetWidget, and DynamicListFacetWidget. The basic idea is (following Alessandro’s approach) that each FacetWidget provides one Nepomuk::Query::Term
. The combination of all terms (and some optional base query) make up the final query.
Before I continue let’s have a look at how this looks like at the moment:
Preliminary Facets in Dolphin
The GUI is not very impressive yet but I am rather fond of the underlying techniques. Each FacetWidget has a method selectFromTerm which tries to use the provided term to configure the facet. A simple example: the SimpleListFacetWidget compares the provided term to each of the term in its internal list of terms and if one matches it selects that one. So in other words if the following call succeeds:
if( facetWidget->selectFromTerm( myTerm ) ) {
....
}
Then a subsequent call to
facetWidget->term();
will return exactly myTerm. This allows for extracting facets from any query. This is what the FacetWidgetController does. It provides methods and signals to handle a set of facet widgets through one interface. And since we can extract facets from any query we can provide faceted browsing on any query listing without remembering some state. This is where KIO::UDSEntry::UDS_NEPOMUK_QUERY
comes in which allows KIO slaves to communicate the query which can list the current folder contents. This is simple for nepomuksearch:/ but also used by timeline:/. For file:/ we have a default query listing all files in the one folder. This query is then picked apart by the FacetWidgetController, allowing users to use facets on any local folder listing.
Again let us look at a simple example – timeline:
Facets extracted from timeline:/ listing
As you can see the one facet used in timeline:/ (namely the restriction by date) has been extracted from the query. Selecting additional facets will keep the date restriction and continue from there.
I think this is already a pretty nice system. Next steps include polishing the API, adding some dynamic facets (such as: image size once Images is selected or a way to restrict Media files by author/interpret), and a nicer GUI. This is where I would love some feedback – the GUI takes way too much space and needs some beauty.
 | | 11:30 | | Frederik Gladhorn (fregl): Attica release candidate 0.2.0
 | | 5 hits | Following the established “it’s not released until it’s been blogged about” paradigm, I’d like to announce a release candidate for Attica 0.2.0. I like the KDE versioning scheme, so this gets a nice 0.1.90, you see it’s not intended as final and stable, though I hope it is.
This release makes me happy, since we had lots of contributions from different sides. In many places it implements the yet to be finalized Open Collaboration Specifications 1.6
already. And this is to a large part because Mateu Batle worked a lot on it. Thanks! We also had Martin Sandsmark improve things for his GSoC project.
Finally we will have support for GPG signing “stuff”, so we can start to make use of the web of trust. This means we can provide better information when to be careful when getting “things of the internet” via KNewStuff. Of course this requires a lot of work still, from extending UIs such as KNewStuff to actually show this information (there is work for plasma packages going on already) to actually having singed contents and knowing which signatures to trust, which needs to be addressed by the community at some point.
KNewStuff3 should also finally work on Windows properly, since I got poked to fix the plugin loading troubles we had. Thanks to our kind KDE-on-Win team (and their horrible threats).
Here are the change-log additions:
0.2.0
- Update voting function (add overload) to take uint 0..100 according to ocs 1.6 spec
- Add comments interface to request comments, add new comments and vote for comments
- Add distribution interface to request distributions available in the server
- Add homepagetype interface to request home page types from the server
- Add methods to access home page entries in content
- Add support of icons to content (OCS 1.6)
- Add support of videos to content (OCS 1.6)
- Add summary description to content (OCS 1.6)
- Add size to download description (OCS 1.6)
- Add fields to download item for package name, package repository, gpg fingerprint, mimetype (OCS 1.6)
And the link you’ve been all waiting for:
ftp://ftp.kde.org/pub/kde/unstable/attica/attica-0.1.90.tar.bz2
kdelibs 4.6 will require this version soon, so be ready if you build from trunk. On the other hand, this version has been in kdesupport for quite a while, so you should be good if you build that as well. There has also been interest from Gluon and MeeGo, which makes it even more interesting to get feedback from all of you now! Packagers and all others are welcome to test and let me know if something is broken.
Unless there is major breakage, this will be released as version 0.2.0 soon.
And of course there is still lots to do, for example Ben of Forum and Sysadmin fame would like to see the forums module implemented, to bridge the gap between forums and mail (yes, evil scheming to make forums more accessible to developers that prefer mail). The task is not incredibly difficult, since there is similar code for other parts of the spec and it just needs to be adjusted. If you’re interested, let me know.
| | 11:30 | | Ben Martin (monkeyiq): Metadata extraction and segv
 | | 1 hit | This is a post about metadata extraction from files for desktop search. While it applies specifically to libferris, the same considerations apply to anything which trawls an entire filesystem looking to create a rich index of metadata to allow desktop search to run queries in a reasonable timeframe. Ferris runs fine on KDE and the n810 (soon n900?) so its applicable to both syndications in a way.
Back in January 2008 I released a version
of libferris which allowed metadata extraction to be performed out of process. While this obviously means some context switching is added, it is not necessarily slower for it. It will likely be slower on a single core ARM chip, but on a four or more core desktop the processes can run in parallel and so might actually be faster for it.
I recently tinkered with this, moving to using QT for DBus inter process communications and activation. The design uses a worker interface which has simple get/set methods which take the URL and name of the metadata to fetch and return the data. The set also takes the new value to set.
There is a broker which sits between the client and the worker and provides an async interface and also allows more than one worker to be spawned and controlled without the client needing to worry or care about this. The broker has asyncGet which takes the same URL and metadata name, and returns a numeric ID for this request. A signal is then fired either for success (with value) or failure (without). A failure might occur when the file at the URL is corrupted and the library used to inspect it for the metadata crashed. This is of course recorded so it doesn't constantly happen for that file.
The upshot is that I can use libferris to view a directory and if the xine metadata plugin crashes, the file manager stays around and only the background dbus worker process crashes. This is not to pick on Xine, which is a great project, but if hacking on libferris has told me anything it is that there is always a file on the drive which has some bytes in a strange way that is unexpected.
Perhaps more interesting than the file manager, the file indexer can trawl through everything and will not itself crash when a strange invalid file causes a segv in metadata extraction. So partially downloaded (and failed) content in my ~/FromInternet folder will not halt the indexing process with a segv.
Using DBus with a simple interface like that also allows new metadata extractors to be shared more easily. It doesn't matter if Strigi, Tracker, Beagle, or Indexer Foo use C++, Qt, mono, perl or whatever, as long as they can offer two methods on DBus. Though some factory/activation stuff is also needed to let the indexers and projects know that metadata these plugins can handle.
For those who haven't hit the pagedown by now, the interfaces are in DBusGlue/ferris_internal_metadata_broker_introspect.xml and worker_introspect.xml in the upcoming release of libferris (ie, the one that will happen in the next week or so when I get a moment). The DBus processes live in the apps/metadataserver of the libferris tarball.
The broker interface looks like this:
<method name='asyncGet'> <arg type='s' name='earl' direction='in'/> <arg type='s' name='name' direction='in'/> <arg type='i' name='reqid' direction='out'/> </method>
<signal name='asyncGetResult'> <arg type='i' name='reqid' /> <arg type='s' name='earl' /> <arg type='s' name='name' /> <arg type='ay' name='value' /> </signal>
<signal name='asyncGetFailed'> <arg type='i' name='reqid' /> <arg type='s' name='earl' /> <arg type='i' name='eno' /> <arg type='s' name='ename' /> <arg type='s' name='edesc' /> </signal>
| | 11:30 | | Adriaan de Groot (adridg): Bread in the Bone
 | | 1 hit | After the summer months — during which I’ve been in hiding, of sorts — I thought I’d pick up with recipe blogging first. In the style of Ariya Hidayat. When he’s not doing ridiculously cool things
, he has nice photos of various dishes
.
During the summer months I’ve picked up making bread as a nice relaxing activity. The feel of the flour as it sticks to your fingers, the elasticity after kneading the dough, the stink of yeast and the smell of fresh-baked bread in the kitchen contribute to that relaxation. Yesterday’s exercise was a bread braid — just plain whole wheat rolled out and then braided, so that you get a loaf with some character. My intention had been to take a picture of it, but the kids (and myself) liked it so much that the whole thing was devoured in under a half hour. Well, that was dinner taken care of, at least.
No bread today, but I’ll point to a scone recipe
on the BBC site that is quick and tasty. 20 minutes from “braaaaaains … I mean, scones” to the finished product is just right. I poke a single raisin on the top of each scone — a raisin which is duly removed and dropped on the floor by the kids.
Bread is different from software. You mix in the right ingredients, follow the build instructions, and what comes out varies based on the phase of the moon or the draught in the kitchen or a hundred other variables not under your control. Oh, wait, maybe it is like software packaging. But more on that some other time.
| | 8:30 | | Ariya Hidayat: Sencha Touch and N900
 | | 2 hits | Being part
of the awesome Sencha Team
, I did shoot a quick attempt to run Sencha Touch
, more precisely its Kitchen Sink demo
, on Maemo
-powered Nokia N900
. Since Sencha Touch targets WebKit
but Maemo default browser
is Gecko/Firefox-based, I crafted a mini launcher which wraps Sencha Touch in QtWebKit
. The screenshots below serve as the proof:
Most of the stuff works just fine. There are some minor issues and performance problems, but I worry not. With the amazing amount of optimizations Qt+Nokia put in place for Qt 4.7 and QtWebKit 2.x, writing applications for Maemo/MeeGo will be fun (again).
| | 3:30 | | Adenilson Cavalcanti (Savago): libgcal 0.9.6 plus akonadi re..
 | | 1 hit | Dear friends
It is being almost 3 months since the last public release of both the library and the resources. In the library, no new features on this release, but some improvements and bug fixes. The laundry list goes:
- restored ABI (as noted by Fathi Boudra, gcal_contact_get_im was missing after the work in supporting multiple im fields)
- CMake and autotools buildsystem will install the library in INCLUDE_DIR/libgcal (as per request of Mario Ceresa so it will adhere to Fedora Core packaging policies). Autotools patch by Ademar Reis.
- And a new cleanup function gcal_final_cleanup() to avoid a potentially crash scenario if libgcal is linked with something else that *also* uses libxml. Nice patch by Chris Frey (thanks a lot dude!).
But for the resources, some nice new features:
- IM fields are supported (as a matter of fact, this feature was available in libgcal since 0.9.5 release, but it never made into the akonadi contacts resource). Patch by Holger Kral.
- Fix a scenario were authentication would fail if both resources (gcalendar + contacts) are set while using different google accounts. Now user information is saved in KWallet per resource (and the key also relies on the username), this makes possible the next new feature.
- Multiple users are supported as long you have 1 resource per user. Previously, that would not be possible, because I was saving a single entry in KWallet (so it was overwritten after each new resource inclusion). I have tested with 3 different users *at same time* each one with both resources (contacts and calendar, total 6 resources instances) and its feeling quite stable.
- Fix in authentication dialog, now the configure message reads “Your Google mail username (or user@whaveter.domain.com)”. I received some many bug reports about this, mostly because the previous message didn’t clue the user that hosted accounts are also supported. I’m just not sure if the translation strings were updated…
So, if you are curious, download it from the libgcal
project website and have a try (compiling instructions are available in the tarballs). Or wait a couple of months and it should be pre-packaged for you in your distribution.
Known issues:
- Only the main calendar is synced… supporting multiple calendars within the same account is in my to-do list.
- Please, only 1 resource type X 1 user account. I haven’t tested the non sense case of adding more than 1 resource instance type per user account (so you are on your own if you do this).
 | Tuesday - September 7th | | 23:31 | | it-s: KPresenter Template Contest - Are you in?!
 | | 1 hit |
Did you know that KOffice
is currently running a super cool contest
? Yes boiz and galz, that's right, and the prize is awesome! Why, it's nothing less then a super-duper awesomely-cool tee deigned my... ME!
Unfortunately you only got 8 days left there :( So, dump all that you are doing right now (cos it's obviously not that important) and click here for details NOW
! Hurry up, the number of prizes is limited to 3, and we already have quite a few submissions here!!!
Love,
it-s | Monday - September 6th | | 23:30 | | Stuart Jarvis: WebKDE Roundup (Who Is KDE Part 4)
 | | 6 hits | Continuing Jos’s exploration of cool KDE blogs
, here are a few more places you can find some nice reviews of KDE software.
Over in Iran the blog of Saeid Zebardast
, you will find a variety of free software related articles and occasional tips relating to KDE software.
In India, Swaroop CH
is a long time user of KDE software and occasionally reports on happenings in KDE land.
In Italy, Bash
follows our development with a keen eye and provide handy tips for Arch and non-Arch users.
Willy Sudiarto Raharjo from Indonesia writes about KDE software on his Unofficial Slackware blog
.
Abybashit
is not only an openSUSE ambassador but also writes some interesting KDE commentaries from time to time and uses KDE’s Blogilo to do so.
Nice, but dormantThere are also a few blogs that were providing great information, but unfortunately seem to be inactive for a while. If you write one of these, why not fire it up again?
First up, one that hasn’t been updated in some time, but was a great source of thoughts on KDE software and screenshots, Cool stuff from KDE
. Gaël, if you’re reading and have the time, please restart that blog 
Also dormant for a while, we have the excellent Introducing KDE 4
. Perhaps the author believes that SC4 no longer needs any introduction?
TuxArena
at least had posts this year and covers a range of Linux news but with frequent features on KDE software.
Thanks for Jos for compiling this list before he became too busy playing with GNOME
to write his own blog posts 
Get involvedDo you write or follow a good KDE-related blog? Let me know in the comments (hmm, that may look like comment spam – don’t worry if your comment doesn’t appear instantly, it might get held for moderation)
Or if you’d like to reach more people, why not write for the Dot
? You can watch out for article ideas by joining KDE Promo
, use one of our suggestions
or come up with your own using our guidelines
.
| | 22:30 | | Martin Klapetek (mklapetek): KDE Imaging Coding Sprint 2010
 | | 1 hit |
During the day, we had a refreshment in form of the famous Czech beer, which I brought with me and for which Gilles provided proper cooling. Also I can't forget the great French wines we tried during dinners. The Saturday's dinner was really great. We settled in a small quiet and very nice restaurant and as everybody was really enjoying it, no one felt any need to go back to sleep even though the time has advanced very close to the midnight.
I was leaving on Sunday, shortly before noon, so I didn't have much chance to do any coding, but the rest, except Gabriel, who already left during the night, stayed and kept working. It was hard to say goodbye to such a great team after all that awesome time we spent together. I am really glad and very thankful that we could meet each other in person, for which I'd like to use Andreas' words: 'It will make future team work easier and more fun'. It is most certainly true and this would not be possible if it wasn't for KDE and especially KDE e.V. The most biggest thanks to the e.V. for making this happen. Thank you!
read more
| | 20:30 | | Guillaume DE BURE (gdebure): Skrooge 0.7.3 Released
 | | 2 hits | The Skrooge
team is pleased to announce the release of version 0.7.3, containing a number of new features and bugfixe

New Features*Correction bug 245847: skrooge 0.7.3: 'pow10' was not declared in this scope *Correction bug 213786: Account balance is not displayed *Correction bug 246178: Dashboard 'Income & Expenses' widget counting transfers *Correction bug 246408: Skrooge prints hardcopy *Correction bug 246977: In reports from selected data the date selection should be all data *Correction bug 247445: Linker error in skgbasemodelertest/skgtestnodes.cpp *Correction bug 246976: 'Select all' option in menu edit *Correction bug 249955: No password request after hardware crash *Correction: Better management of print option (collate, nb copy, from, to, last page first) *Correction: Do not authorize creation of operation with '-------' *Correction: In report, capability to create history with of property *Correction: In report, do not allow hiding table or graph by resizing *Correction: Import QIF with !Account section containing more than one account and with D attribute (Thank you Dennis) *New feature: Properties with a 'http' or 'file' url as value can be opened from skrooge (useful to set bank site on an account) *New feature: New daskboard component to know money per bank *New feature: Bookmarks in a menu *New feature: Context in a toolbar (useful for small screen) *New feature: Advice widget in dashboard *New feature: Full screen (useful for small screen) *New feature: Addition of file as property by drag and drop *New feature: Tables are scrolled 'bottom' or 'top' based on sort order - Better properties
management: if a properties starts with http or file, skrooge understands it as a link and opens it as such. Files can also be added as a property using drag n' drop. In this case, the file dropped is embedded in the skrooge file.
- Addition of a select all option in the edit menu
- New dashboard component showing balance per bank
- New toolbar for selecting context, useful for small screen. Skrooge can also be run in full screen, which is also useful on small screen devices
- Skrooge is able to provide some advices on the dashboard, as shown in the above screenshot
- Better print management
Per operation BalanceLet's focus for a while on a long time requested feature finally made its way into skrooge : display account balance for each operation:
Now, some may wonder why it took so long to implement such a basic feature, that exists in so many comparable applications. This is a side effect of our persistent undo / redo
feature. Our undo / redo is basically capable of undoing everything you did since the file creation, if you wish to configure it so. And as we have to recompute the balance for each operation, after each operation insertion, modification or suppression, it could have had huge performance impacts. Stephane eventually came up with an implementation that suits him, so kudos to him for that ! However, if you still encounter some performances issues, please bug us
.
It is possible that you can not see this column in the operations table after updating skrooge. If this is the case, you need to select it from the list of available columns
. If the column balance is not available in the list, you may need to reset the table to its default state (yeah, I know this is not optimal...).
Bugfix- Correction bug 245847
: skrooge 0.7.3: 'pow10' was not declared in this scope
- Correction bug 246178
: Dashboard 'Income & Expenses' widget counting transfers
- Correction bug 246408
: Skrooge prints hardcopy
- Correction bug 246977
: In reports from selected data the date selection should be all data
- Correction
| | 18:00 | | Allen Winter: KDEPIM 4.4.6
 | | 2 hits | Looks like we'll be creating a kdepim-4.4.6 tarball, with tagging expected this Thursday 9 September.
So PIMsters, get your bug fixes into the 4.4 branch as soon as possible.
No regressions please. 
And no new i18n strings either.
Let me know if you need more time and want me to delay the tagging.
This does NOT mean there will be a KDE SC 4.4.6.
| | 15:30 | | Allen Winter: api.kde.org and Qt Assistant
 | | 2 hits | The KDE API Reference (api.kde.org)
web site is now providing '.qch' files suitable for loading into Nokia's Qt Assistant.
Look for the '[qt]' links.
Currently, auto-regeneration of these files happens on a nightly basis for kdelibs and kdepimlibs trunk, and for kdelibs and kdepimlibs 4.5. More can be added, upon request.
To use load these files into assistant:
* download them to a safe place
* in assistant, [Add] them from the Edit->Preferences->Documentation tab
I'll leave it to the experts to tell us how best to load these files into KDevelop.
Warning: these files are not small.
| Sunday - September 5th | | 22:30 | | Andreas Schneider (gladiac): The pain of poll(2)?
 | | 6 hits | If you're working on a multi-platform project which does network communication you will end up thinking about replacing select(2) with poll(2) sooner or later. The problem with select are well known. poll(2) removes the limitations of select(2) and improves speed and features. The problem is that poll(2) isn't available on all platforms. This means you need a poll(2)-emulation or create wrappers around other similar poll() functions.
In libssh
we use a poll(2)-emulation
based on select for platforms which don't provide a poll(2) function like some Windows versions or UNIX systems.
Windows Vista or newer version provide a poll(2) like function called WSAPoll()
. To be able to support this call which is faster the the poll(2)-emulation and allows to use more file descriptors we implemented a runtime detection for WSAPoll(). This means during initialization of the socket, we check if the functions can be found in the relevant library. If Windows doesn't provide it, we fallback to the poll(2)-emulation.
I took several month to get this working correctly on UNIX and Windows. This feature starts to work correctly with libssh 0.4.6
released today.
| | 21:30 | | Harald Sitter (apachelogger): Qt Graphics System KCM
 | | 1 hit | Long we have waited for it. A way to set the Qt graphics system backend without recompiling Qt. In Qt 4.7 this is finally available.
You can configure the backend using the environment variable QT_GRAPHICSSYSTEM
.
Now, since the topic of switching graphics backend in Qt is coming up now and then, I thought it would be a good idea to create a nice graphical interface. Actually I wanted something nicer to use for me personally 
So I created a really simple KCM
. You have 3 switches, of which two will write a .sh file to $HOME/.kde/env/. The content of this folder gets loaded at startup (via startkde), and that way you will globally end up with another graphics backend. That said, since the environment variable has lowest priority, it is still possible to override this on a per-application level (e.g. kolourpaint has problems with the raster backend I have been told).
Have fun!

| | 20:30 | | Milian Wolff (milianw): KDevelop 4.0.2 and KDevelop 4.1 Beta..
 | | 2 hits | Good news everyone, this time in a double feature!
I’m happy to announce the availability of two new additions to the KDevelop
release family:
KDevelop 4.0.2 stable releaseLets begin with the boring part: We have released KDevelop 4.0.2, together with KDevplatform and
the PHP plugins. You can find the sources here:
http://download.kde.org/download.php?url=stable/kdevelop/4.0.2/src/
This is a bugfix only release and everyone is urged to upgrade as soon as
possible. Users should wait for their distributions to provide packages for
them. The tarballs contain changelogs if you are interested what happened
since 4.0.1. Or read them online:
Note: This is (most probably) the last release in the 4.0 branch. We don’t
have enough manpower to handle more than one stable branch. Which makes me
come to the second part of this mail:
KDevelop 4.1 Beta 1 experimental releaseWe are very happy to publish KDevelop 4.1 Beta 1, which will be the branch we
are concentrating on in the next time. You can find the sources here:
http://download.kde.org/download.php?url=unstable/kdevelop/4.0.80/src/
This is a preview release. We are gratefully welcoming any testers and
feedback to polish it further for the final 4.1 release which will probably
happen around mid October. Please put the reports on the usual places, e.g.
http://bugs.kde.org
. If you are interested in the (quite long) list of
changes, look into the tarballs again for an extensive git changelog. If you
just want a few highlights: Git Support Plugin, External Script Plugin,
general polishing, CPP support improvements, lots of bug fixes, UI polishing,
performance improvements, … you name it :)
For the fun of it, here the list of commits changes for 4.1 (imo far too big to show anything useful):
Thanks as always to the KDevelop team for making this possible and to the
users for giving us valuable feedback.
Bye
PS: Sorry that I forgot to announce this yesterday or even Friday, as I
initially planned. Well, weekends are such a nice time to go outside and enjoy
life :)
| | 18:30 | | Ivan Čukić (ivan): Stripes – KDE be free, freeBSD
 | | 2 hits | I bet nobody expected this (I didn’t) – the next distro-branded version of stripes is for freeBSD. The freeBSD logo is quite pretty, but distorting it ruins it beyound recognition. For this reason, the wallpaper has much less depth than the previous ones.
One is the obligatory blue (not to say vanilla version) and the other one is redish)
KDE
be free…
And here’s the first attempt of making a KDE-branded one… I’m not yet satisfied with it, this is only a preview.

<
| | 3:30 | | Lamarque Souza (lamarque or lvsouza): Bug Corrections
 | | 3 hits | This week I decided to search for some bugs to solve in bugs.kde.org. I searched for bugs related to Plasma NM, Kopete and Bluedevil, three programs that I use a lot. One day I will stop by to try to solve some bugs in Amarok (specially 188360
and 234833
). I am not familiar with Amarok's source code, some months ago I even tried to solve one bug there but it did not work out.
In Plasma NM I tried to solve these bugs:
- 214297: multiple interfaces of same type not distinguishable in UI
(commited)
- 249702: Network Manager Applet crash after reconnect to 3G
(not solved yet, waiting for reporter's feedback)
- 233469: knetworkmanager confused by /etc/init.d/network restart
(I have been trying to solve this one for months but still no go)
In Kopete I tried this one:
- 222689: Tool tip systray of kopete icon missing
(patch ready, if nobody asks to change something else I am going to commit it tomorrow)
In Bluedevil I fixed this crash:
- 246638: kded crashes in latest trunk
(I do not have write access to Bluedevil's git repository, so I am waiting for the developers to commit my patch)
I also asked the sysadmin team to solve two bugs I found in reviewboard site: Bug 250050 - Wrong email for the kde-networkmanager mailing list and problem uploading images. The bugs were solved in few hours, I like when things are solved quickly :-)
I am monitoring some other bugs, but I have not had the time to investigate them. Three bugs solved this week, that is ok for me :-D | | 0:30 | | Andrea Diamantini (adjam): Sucking weekends
 | | 4 hits | Today I wasted all my free time, working on some bugs to let rekonq being ready for next stable release.
In the afternoon, one of the rekonquers started talking about one bug in particular he would like absolutely to fix. After a couple of hours “masturbating minds” together against this I decided to take a little break and he decided to ask in #kde-devel.
The nice response for its request was something like: “it doesn’t handle it well because rekonq sucks”. When I went back, I was a bit astonished from this, but then I thought: “why should I spend my weekend working on some sucking software?”
So, I decided to stop all stuffs and having one drink and some relax with my family. No more sucking stuffs for this weekend, I just had enough.
Filed under: international
, rekonq
 | Saturday - September 4th | | 18:30 | | Stefan Majewsky (majewsky): Tip of the day: Auto-generate fo..
 | | 1 hit | It’s common nowadays that libraries install forward includes (also known as “pretty headers”) which have the same name as the class declared in it. For example, to get the QPushButton, one includes or instead of .
For a newer project of mine, I wrote a script that generates these forward includes automatically, and I thought that it might be worth sharing. The script is quite simple because the structure of the source tree is in my case identical to what gets installed below /usr/include. If you install your headers in a more complicated way, you will probably need to expand the script.
#!/bin/sh
# This script finds all headers (except for private headers) in the known
# library source trees, looks for exported classes inside there, and generates
# forward includes for all these classes.
# configuration
EXPORT_MACRO=TAGARO_EXPORT # the macro which denotes exported classes
HEADER_DIR=tagaro # the directory which contains the headers of your lib
INCLUDE_DIR=includes/Tagaro # the directory which shall be filled with the pretty headers
INCLUDE_INSTALL_DIR='${INCLUDE_INSTALL_DIR}/Tagaro' # the directory into which CMake shall install the pretty headers
MANUAL_HEADERS='Settings' # specify manually created headers in this list (separated by spaces)
if [ ! -f $(basename $0) ]; then echo 'Call this script only from the directory which contains it.' >&2 exit 1
fi
( echo '#NOTE: Use the $0 script to update this file.' echo 'install(FILES' ( find $HEADER_DIR/ -name *.h -a ! -name *_p.h | while read HEADERFILE; do grep 'class $EXPORT_MACRO' $HEADERFILE | sed 's/^.*$EXPORT_MACRO \([^ ]*\).*$/\1/' | while read CLASSNAME; do echo '#include ' > $INCLUDE_DIR/$CLASSNAME echo -en ' '; echo '$CLASSNAME' done done for MANUAL_HEADER in $MANUAL_HEADERS; do if [ -n $MANUAL_HEADER ]; then echo -en ' '; echo $MANUAL_HEADER fi done ) | sort echo 'DESTINATION $INCLUDE_INSTALL_DIR COMPONENT Devel)'
) > $INCLUDE_DIR/CMakeLists.txt
Filed under: Programming
, The command line and I
 | | 17:30 | | Tom Albers: identity.kde.org now active for ssh-keys
 | | 1 hit | Another update about identity.kde.org. We have fixed some annoying bugs, like not being able to change your picture and ssh-keys. We still have a problem with changing your name, so we made that read-only for now. It requires a fix upstream.
We have also enabled the address book. Now you can see all your fellow developers. If they have set data like jabber id or their homepage for example, that’s visible too.
Of course that leads to the question of privacy. For now we have choosen to settle on the table you can find on the FAQ page
. Be sure you understand it before you fill in all your personal data in your profile. Anyhow, we are happy the address book is now active, as it is one of the first benefits of identity.kde.org.
Another important point is that the keys you now set in i.k.o., are now leading. That means, the keys you have set there will be the ones that will give you access to svn and to git. For now, syncing is a manual process, so consider a 24h max delay in activation of the keys, but just ping us on irc or file a sysadmin bugreport if you want it sooner.
In short: sysadmin now no longer do the key changes, you have to do them yourself on identity.kde.org
.
Feel free to Flattr this post at www.omat.nl
, if you like it.
| Friday - September 3rd | | 21:30 | | Pedro Lopez-Cabanillas: Drumstick Time
 | | 4 hits | A new Drumstick version is in the oven, with two tasty novelties:
1. OVE file parsing support (files created by the Overture program
). The code for this feature has been contributed by Rui Fan. This file format can be played by the included program drumstick-guiplayer, in addition to the SMF and WRK formats. There is also a new drumstick-dumpove CLI utility to inspect the file contents as text.
2. Acquisition of real-time priority, using RealtimeKit
. Until now, the thread processing MIDI input from ALSA tried to acquire real-time priority using the RLIMIT_RTPRIO mechanism
, which requires some configuration and administration work. If the above mechanism is not available, now Drumstick tries to acquire real-time priority from RealtimeKit.
This release is scheduled for sometime during next week.
What's next?
At this moment there are two libraries: drumstick-alsa (Linux) and drumstick-file. There will be two more: drumstick-win and drumstick-mac. The foundations of these two new libraries are already implemented in KMid2. On the other hand, it is desirable to unify all the backends for all platforms and file formats under a single set of multiplatform interfaces: drumstick-simple. VMPK will benefit from this, because replacing RtMIDI by Drumstick will be easier to implement features like MIDI file recording
, playback
and arpeggiator
. | | 19:30 | | Jos Poortvliet: Banshee & GNOME
 | | 3 hits | Since a couple of days I'm using the Banshee music player. Last sunday I installed openSUSE with GNOME on my desktop system to play around with it. Banshee surely stuck - I installed it on my laptop with Plasma desktop as well. It's a very nice player with only one weird thing: it really really likes Opeth. Often I set it to play some electronic music at random, then it suddenly starts moves to metal - Opeth usually. Not that I greatly dislike that, I just have no idea why it does it ;-)
Suusie GNOME being nice
Otherwise, openSUSE is treating me reasonably well. The NVIDIA drivers on my desktop are less of a hassle than Intel was on my laptop - they do make the screen fuzzy sometimes, and Compiz really works horrible so I had to disable desktop effects in GNOME. KWin works almost fine somehow... Just a tad slow. GNOME Shell does desktop effects best: completely sharp screen, good performance. It does seem to restart itself sometimes but only the screen goes to showing only the wallpaper for a few seconds.
(I know newer NVIDIA/Xorg/Kernel should solve these issues, btw, I'll just install newer versions once I feel they're stable enough)
Tracker is great - incredibly fast and very little effect on system resources as far as I could tell. Sorry for Nepomuk but when it comes to actually finding files - no dice, it just crashes a lot. Both fill my .xsession-errors up like crazy, however. Vuntz has asked for the tracker errors already :D
In general, GNOME is fast and lean. Only Banshee sometimes manages to sometimes use 161% cpu on my desktop - rather impressive. Luckily I have a nice quadcore :D
Evo less so
Evolution was quite painful, I stopped using it. With the treeview (flat lists don't work with more than 10 mails/day) it is almost impossible to see the individual messages - the 'tree' itself is completely hidden, only showing small triangles leaving you guessing what thread a message belongs to. I added this to the GNOME Pet Peeves Project page
, hope someone can fix it... Of course, maybe I just couldn't find the configuration option, lemme know if that's the case and I'll say sorry :D
good
bad
The keyboard shortcuts don't work for me either - I am used to using the left and right arrow keys to go through the list of messages and the up and down to scroll through the message itself. And keys like A, R and L to reply to all, sender or a list. Not figured out how to configure that and for efficient use of my time, this is crucial. Same with Liferea, btw.
I found out that Xchat didn't do what I needed from IRC (like putting names behind the nicks in the list and hiding part/join messages), neither did Empathy, but Pidgin is much more convenient. And to be honest, it looks better than any messaging app I've used before. I don't use chat (other than IRC) very often so I haven't installed in on my laptop yet, but I might.
Cheese rocks, period. I can however only say that from previous experience - not current, as neither my desktop webcam nor my laptop webcam work :(
Integration
Thanks to the Oxygen-molecule theme GTK applications fit in KDE very well. The only exception is the system tray - they don't understand that it is transparent so they show ugly squares behind the icons. But the work on sharing a notification spec makes sure they use the normal notifications in Plasma, nice touch! Within GNOME the KDE apps adjust their theme automatically with the exception for icons - not sure if that's intended or a bug.
Bansee in Plasma Desktop (I must admit I had to adjust colors a bit to make it fit really well - somehow the Oxygen Molecule theme has its colors slightly-off)
GNOME desktops
GNOME offers two desktops - the 'old' one and GNOME Shell. What I like about the default desktop is how easy it is to add applets to the panel - I always want a load applet there to see what is going on. Otherwise it works ok-ish but it ain't very special - unlike GNOME Shell.
GNOME Shell is quite unfinished as it is undergoing heavy development. It seems to ignore about 4 out of 5 clicks of my mouse making it a bit cumbersome to use. Yet I already prefer it over the normal desktop - if only just because I love seeing something new and exciting. It provides a very intuitive way of working with one or more desktops and windows. Most of that intuitivity is in small details - like the ripple effect you see when you bump your mousecursor to the top-right corner of the screen. They still have to improve the menu's but app search already works awesome. While it doesn't work here I know you can just drag an app to one of your virtual destkops to start it there - awesome! So despite the current issues I would definately say GNOME Shell the right direction for GNOME development.
This turned out a bit too long
I initially wanted to write about Banshee alone, cuz I like it - but now this is about pretty much all of my GNOME experience in a few days :D
I might blog more about it, but first I'm working on some OBS
and SUSE Studio
things - they're both pretty awesome. Oh and did you know you can win 10K with a good SUSE Studio appliance
? | | 17:30 | | Aditya Bhatt (adityab): Aix en Provence : My first KDE sprin..
 | | 3 hits | I returned home two days ago from the 2010 KDE Imaging sprint. It was awesome because:
- It was fun to “meet the people behind the email addresses”,
- I learned some new stuff from seeing how the others code,
- I’d never been outside of India before.
I arrived in Marseille sometime before noon, after a journey of more than 24 hours, barely catching about 3 hours of sleep (I still don’t get how people can sleep in an airplane). At the airport I met fellow digiKam contributor and SoK student Kunal, and managed to catch a bus to Aix en Provence, which is approximately a 20-minute ride from the airport. Aix is Gilles Caulier’s home city, and, I must say, a beautiful one.
The Aix City Center Fountain
Most of us arrived a day earlier, and in the evening, Gilles invited us to a digiKam talk that he was to give in a local LUG meeting. In the same place where we would code the next day. It was fun chatting with the LUG folk (some of them knew English).
I had to crash on bed soon that night, I was sort of starved of sleep.
The next day, I woke up early and walked around the hotel’s neighborhood, taking pictures of whatever caught my eye. There was this really nice cathedral there, just a five-minute walk from the hotel:
Cathedral (Photo courtesy of Marcel)
Gabriel arrived that morning, and then we proceeded to the Maison des Associations Tavan, which is the hall where we would work. We just called it “Tavan”.
During the coding, Marcel showed me his new revamped implementation of the face interface in digiKam, and we discussed with Gilles some of the possible reasons behind several crashy bugs in the face scan process. Marcel had committed the face thumbnailer delegate he’d been working on since a while, and I and Gilles played around with it for a bit.
We had a fair amount of false positives in the face detection, and while this accuracy can be improved in libface, there will always be some false positives, so we needed a “reject button” overlay on each face thumbnail to be able to dismiss these.
We had a good laugh when certain unthinkable things got detected as faces
I set to work on that, with help from Marcel. I wasn’t able to finish it due to some bugs in my code, but it looks like Marcel has fixed it now.
Michael had brought a really nice device that he had assembled and programmed himself :
Michael's device has a GPS receiver and, if I remember correctly, an Atmega 256 microcontroller. It shows the GPS coordinates on a display on the lid of the box.
Meanwhile, we discussed the feasibility of having arbitrary (as in polygonal/freeform closed curve) region tagging in digiKam, which seems an enticing idea. Some other future improvements such as having truly multithreaded batch tasks (like fingerprinting), and having a unified task manager for controlling these were discussed.
Martin's special Czech beer and Andreas' hard-as-rock bread.
Gabriel and Michael worked on the polishing stuff in the reverse geocoding project, and Martin continued working on the image versioning. This was the first time I saw Gabriel’s project in action. Kunal continued with QtScript integration, and we discussed interesting use-cases of this very useful and enabling project. So I guess Hot New Stuff ™ is coming to digiKam soon! So we’ve all been working on our projects post-GSoC too Andreas Huggel was there for Exiv2 work, and Laurent Espitalier for database interop with other applications.
I’m looking forward to working for a long time with the digiKam team. And hopefully I’ll be able to attend the next sprint too.
The entire team.
 | | 14:31 | | Riccardo Iaconelli (ruphy): very quick update for Akunambol
 | | 2 hits | A very quick update in case you’re struggling to try Akunambol out: it seems like the released libfunambol snapshot has some problems building on some platforms.
The error is the following:
./../../../src/include/common/spds/SyncSource.h: In member function ‘virtual void Funambol::SyncSource::setItemStatus(const char*, int, const char*)’: ./../../../src/include/common/spds/SyncSource.h:278:34: error: no matching function for call to ‘Funambol::SyncSource::setItemStatus(const char*&, int&)’ ./../../../src/include/common/spds/SyncSource.h:276:18: note: candidate is: virtual void Funambol::SyncSource::setItemStatus(const char*, int, const char*) ./../../../src/include/common/spds/SyncSource.h: In member function ‘virtual void Funambol::SyncSource::setItemStatus(const char*, int, const char*)’:./../../../src/include/common/spds/SyncSource.h:278:34: error: no matching function for call to ‘Funambol::SyncSource::setItemStatus(const char*&, int&)’./../../../src/include/common/spds/SyncSource.h:276:18: note: candidate is: virtual void Funambol::SyncSource::setItemStatus(const char*, int, const char*)
If you’re hit by this bug, stay tuned – I’m investigating and I will release a new source tarball as soon as possible. The fix should be trivial but I first want to check with Marco, who provided me with the current tarball.
| | 0:30 | | Thomas Thym (ungethym): KDE's 4.5 Release Party in St. Galle..
 | | 4 hits | One of the many KDE Release Parties [1] took place in St. Gallen (Switzerland). On Tuesday, 17. August we celebrated together with the Linux User Group [2]. The LUG is not very big but at that evening an amazing number of interested people turned up to see the new release of KDE's workspace and applications. My notebook was defect at that time so we used the KDE 4 live cd [3] on a system of one of the participants (thank you, Petra).
The atmosphere was very friendly and we had really good conversations with gnome fanbodys. So I could have a look at gnome shell.
All in all it was a great evening and I learned a lot.
1. There are many open minded and interested people out there. Just invite them and show them a solution to their problem. 2. Doing the main presentation with a live cd is not the best idea a) it's slow, b) there is no content and c) it was not rocking stable. 3. At least 'a view' were impressed and I could give away some live CDs. 4. The accessibility has room for improvement. 5. The important thing for (new) users is: Easy to use (incl. out-of-the-box abilities), stability and their favorite apps (or equivalent). (So nothing new here, but we still a few miles to go.) 6. Improve use-cases information.
[1] http://sg.linuxtreff.ch [2] http://community.kde.org/Promo/ReleaseParties/4.5 [3] http://home.kde.org/~kdelive/ | Thursday - September 2nd | | 22:30 | | Tom Albers: Launch identity.kde.org
 | | 2 hits | Yesterday evening we did the final import into identity.kde.org and decided it was stable enough for general usage. With this blog we announce the general availability of this site and I will give a small introduction.
We imported all existing developers into the system, and all developers from the past too. Your username is identical to your subversion username. Your password can be reset by using the obvious option on the welcome screen.
After the login you will be greeted with your profile. You can fill in all your details as you like. During the import we have set your Name and email address and the ssh public keys you use for svn access currently.
Important to know is what will become available to whom. We will not show all the profile data to everyone. We will use the grouping feature of the identity.kde.org-system. Basically we now the following groups: users, developers, former-developers, ev-members and sysadmins. users will never see anything. developers will probably see the usernames, names and email info of other developers, and ev-members will see what developers see, but also some more contact info about fellow ev-members. Or if someone decides otherwise, that’s fine too, we’re just executers trying to work with sane defaults for that matter.
This system will replace the famous accounts file in the future. We will of course provide something downloadable in the future for that. And hopefully it will replace the database we once used for ev-members, but this last bit is not sure yet, as the system is still being evaluated for this purpose.
This screen allowes your change your ssh-keys. This part is the primary use case for this system at this moment in time. While importing we have imported your keys already, and from now on you can manage your own ssh keys. You no longer need the system team to control which keys you will have access to svn. You can delete keys, and upload new additional keys, whatever you like, as often as you like and whenever it suits you.
Currently we are working on getting the scripts working which deal with all the key changes, so currently you can test this as much as you like without it having consequences. Just make sure that when you are ready with testing, you have the right set of keys uploaded. Starting from this weekend the scripts will be activated and the keys on identity.kde.org will be leading.
The future of the system is that we will soon open identity.kde.org for new users. After registration they will belong to the group ‘Users’. On this level, your username and password for identity.kde.org will also provide you immediate access to the new reviewboard and redmine system we will soon launch.
As a user you can request an upgrade to de developer status. This is done with a similar form as which we have used for the last couple of years. After the sysadmin has processed the request, the user is upgraded to developer, and from that moment on the user has push access to the repositories.
Both git.kde.org and svn.kde.org will allow commits / pushes from developers, both systems verify against the keys that are available in identity.kde.org. There is no difference between developers for git and developers for svn. If you can commit to svn you can also push to git.kde.org.
In the future we can use the data from identity.kde.org for a gazillion new purposes. Not only will your username and password from identity.kde.org give you access to a few new sites, but also you can think of more fun things. For example we can use it to power planetkde, instead of the config file, you can manage your rss feed from identity.kde.org. Or @kde.org email address holders can change the forward address behind the kde.org address. Or we can manage registrations for akademy this way. We’ve explcitely choosen identity.kde.org (which is powered by GOsa), because of the ability to create such features in a limited amount of time.
I’ve talked way to much for an introduction. You can now jump to the identity.kde.org
-site, read the interview
with Ben Cooksley, the sysadmin that deserves most of the credits for the setup of this system. You can also follow our progress in the launch of the git.kde.org infrastructure in our schedule
. As usual you can file bugs for identity.kde.org at our bug tracker
.
Feel free to Flattr this post at www.omat.nl
, if you like it.
| | 15:30 | | Henri Bergius (bergie): My interview at dot KDE
 | | 2 hits | Jos Poortvliet
did an interview with me for dot KDE
in this summer's aKademy and it has been online for a while now. In it we discuss things like Midgard as a storage engine
for desktop applications, and Maemo's open QA process
for Downloads
applications. Some excepts:
At maemo.org
we have an appstore for FOSS applications on the Maemo platform. This appstore is enabled by default on all Nokia N900s so we wanted to have some quality control. We had to create our own appstore approval process, compatible with the FOSS philosophy. Now any developer can submit an app, and anyone can test and vote. The whole process is completely transparent, auditable and visible. And it also provides a feedback channel from testers and users to the developers! ...
Midgard is a data storage service. Whether you write desktop or web applications, instead of coming up with your own file format, you just use Midgard. You can work more easily and object-based. Users have many different devices these days, so Midgard has strong replication features to synchronize between different systems. Midgard is built on top of GObject; we provide bindings to a bunch of different languages so developers can choose the tools they like - PHP, Python, Javascript. Currently (as in now, while we're talking) Qt bindings are being developed here at Akademy. Read the whole interview
.
| | 15:30 | | Daniel Molkentin [Qt Labs] (danimo): Qt SDK packages for Qt ..
 | | 2 hits | For those who prefer to test and use a complete package, we added Qt SDK packages that contain the Qt 4.7.0 Release Candidate
and Qt Creator 2.0.1
. You can download the SDK packages here
.
| | 11:30 | | Johan Thelin: Nordic Free Software Award
 | | 1 hit | The Nordic Free Software Award given to people, projects or organisations in the Nordic countries that have made a prominent contribution to the advancement of Free Software. The award will be announced during FSCONS 2010
in Gothenburg.
If you want to nominate someone or something, you can find more information here
.
|
The Mirror is powered by Tilaa
Hosting for The Mirror is being sponsored by Tilaa, a Dutch hosting provider specialized in high quality virtual private servers.
|