Akademy karaoke night

For whomever it may concern, there is an ongoing karaoke night at Karaoeken Koti Killinki.

going to akademy!

since everyone else is doing it:

I`m going to akademy 2010
I am going to akademy 2010!

I have somehow managed to volunteer my laptop for installation during the talk Laszlo Papp is holding about Chakra, so I guess I should make sure my backup is working. :-)

I love blurring

Since I wasn’t able to sleep yet, I thought I’d blog. :-)

Inspired by this after installing the latest beta on my workstation (which has a cool enough graphics card for the KWin blurring), I added ~4 lines of code (3 calls to Qt to set a transparent background on the widgets, and 1 to turn on blurring) to Filelight to get this:

I won’t commit this now, because it is more of a quick hack to see how simple it was and probably not very usable, but I’ll see if I can make something a bit more usable with transparency and blurring later on in Filelight.


GSoC, CloudSync, moving from Firefox, Phonon release

So, I’m participating in GSoC this year as a student, working on ownCloud, or more precisely using ownCloud in desktop applications.
Firstly we need to expand the OCS (OpenCollaborationServices) API to handle private key/value-storage for individual users, and then implement support for using this API in libattica. OCS and libattica already has support for notifications from the server to the clients, to easily synchronise all clients when some setting or data is updated.
The only non-trivial problem to solve is of how to handle deletions, especially when some client was disconnected when the deletion was pushed to the server, but I timestamping all items should solve this (if an item doesn’t exist on the server, and hasn’t been updated locally since last synchronization, discard the local one).

Then, when this is working and tested, I intend to write an Akonadi bookmarks resource using libattica for storage, so that we can easily synchronize several sources of bookmarks (there is a del.icio.us resource in playground already, for example). I also want to integrate (optional) support for this in KWalletManager, or maybe in a separate application. Lastly I think synchronization support in the note-taking application Basket would be neat. If someone has good ideas for other applications that could enjoy some cloudifying, please comment, and I’ll look into it, and see if it is easy/feasible in the time I have.

Another thing I started on after a couple of glasses of wine, in a hotel room in Tokyo, was something tentatively called CloudSync, which I intended as a Dropbox/Ubuntu One “killer”, only that it didn’t rely on a proprietary webservice, it only needed something that had a kio-slave (like webdav/owncloud, smb, nfs, sftp, etc.). It’s not usable yet (and relies on some KIO behaviour from KDE 4.5), and the code is close to what I would call a proof-of-concept and generally a mess (I blame the wine). But some students got in contact because they wanted to work on something similar as a SoK-project, so maybe something will pop up there (or I will get bored one evening and finish my app and clean it up).

Also, I’ve been using Firefox for a while now (mostly because of Mozilla Weave, since I’ve been using a lot of different machines, and I suck at remembering stuff). And since I like eating my own dogfood (yum-yum), I thought I’d switch back to Konqueror for a while (or maybe try rekonq since everyone keep raving on about it). But I still suck at remembering stuff, so I wrote a small utility to automagically export all my credentials from Firefox’ password storage. The only problems is that there are ~4% of my passwords that it is unable to decrypt (and I can’t say I enjoy working with NSS, to be honest, and therefore I’m tired of debugging that part of the code), and that Firefox doesn’t store the name of the form the username/password fields belong to, which KHTML/kdewebkit uses as a key to store the credentials under. So I enganged Mr. KHTML (Maksim), and hopefully KHTML in the future will fall back to using the credentials imported from Firefox (and probably kdewebkit too, if someone fixes it).

And finally we just released a new version of Phonon (4.4.2), not much to be excited about, it’s a bug-fix release.
And it seems like the GSoC students working on Phonon are well under way, very exciting stuff. :-D

So, to apologize for the unreasonably long entry, here’s a funny and cute kitten:
I'm not addicted to caffeine, I just need it to function

API documentation

Since api.kde.org has been down a lot lately, I generated some Qt Assistant-compatible documentation from kdelibs, and put it up on my server, and also linked to it from the topic in the #kde-devel IRC channel.
But since not everyone visits IRC, I thought I’d mention it here too.
So, fetch kde45.qch and save it somewhere save, launch Qt Assistant, go to Edit→Preferences→Documentation→Add… and navigate to where you saved the file and add it. You should now have a fully indexed, searchable and browsable API documentation for kdelibs.

In other news, I’ll be working on desktop synchronization with ownCloud as a GSoC project this summer. The plan is to first extend libattica and ownCloud to be able to store and retrieve random values by keys (so a key/value-store), and then utilize that in for example kwalletmanager (for synchronizing passwords), rekonq (to synchronize bookmarks) and Basket (to synchronize notes).

There will also be two students working on Phonon this summer (on AV-capture and low-level audio APIs, much like QtMultimedia, only in Phonon). I’ll try to get them both on planet so they can introduce themselves properly. :-)

Also, I unfortunately couldn’t make it to Randa to the multimedia sprint due to some really lousy exam dates. I wish I was there. :-(

R. I. P. Jan Mette

Saturday afternoon I got a private message on IRC from a childhood friend of Jan Mette; primus motor of the old KDEmod package repository for Arch Linux, and initiator and primus motor of the Chakra Linux distrolet, that he had died friday morning.

Although I never met him in person, we spent a lot of time together on IRC and packaging kdemod before I started maintaining Phonon, and I’m having a hard time putting down what I’m feeling. He had quite a profound impact on my life, and I’m certain I wouldn’t be the same today if we hadn’t crossed paths.

I also grieve for the friends and family he left behind, I can’t really start to imagine what they must be going through now.

More information here.

Droidbattles, Phonon bugs, Dragon Player

Sup peeps.

I noticed I hadn’t blogged since the Phonon bugday; meh. The bugday was a raging success, with many nice people showing up and helping. Also especially thanks to Mamarok, she was doing an absolutely fantastic job, and is still continuing doing a fantastic job in the bugzilla now sorting and triaging. Many thanks to her and the rest of the people who showed up. I hope to spend some quality time in the bugzilla during this christmas.

The reason I haven’t blogged is that I’ve been pretty busy with the final exams, but they are now behind me. But while reading for exams I did, as is usual here in Trondheim, have several projects to distract me. I started a port of DroidBattles to Qt4 (a game where you program robots in assembly, used to play this quite a bit), continued on my port of Kredentials (a Kerberos ticket handler for KDE), made a patch for Qt 4.6.0 to include a newer Phonon version, and finally continued the work on moving Phonon to Git (I got as far as to get svn2git to crash with my ruleset, the history of some Phonon elements isn’t entirely trivial to keep track of…).

I also fixed the two most annoying bugs for me in Dragon Player, the one where the toolbar isn’t hidden in fullscreen mode, and the one where the mouse isn’t hidden. I also tried to fix the screensaver handling, now only DPMS is left to disable (which shouldn’t be too hard, a couple of lines copied from the `xset` source code should do it). I hope this makes Dragon Player usable for other people again, too.

Lastly, I’m also building KDE 4.3.82 for Chakra now, for all of you impatient Arch Linux users wanting an unstable desktop. They should be finished and uploaded by tomorrow morning, in the kdemod-testing repo. :-)