Origins of the moonwalk
•July 3, 2009 • 1 CommentGSoC status update for weeks 3-5
•June 30, 2009 • 8 CommentsOk, this one took a bit longer than expected. But better late than never..
In the last 3 weeks I’ve been concentrating on the SyncML server agent. Here is how it currently looks:

As you can see, I streamlined it quite a bit but there’s still a lot of options available. This is necessary to cover all kinds of weird devices (and what they think what is standard SyncML behavior). Who ever told you that SyncML was simple is wrong

One can already interact with the server, it should respond to simple queries but does no actual syncing with your Akonadi resources yet. More specific this involves to map Akonadi’s concept of resources and collections to libsyncml’s datastore concept. There’s usually one libsyncml datastore per content type available (one for notes, events, task, etc.) but Akonadi can have more than one resource for such things (For example my Akonadi instance has 3 calendar resources right now). This part turned out to be quite tricky, but I’m getting there.
A nice side-effect is that libsyncml now has one more project outside of the OpenSync project. We’re in good contact, I even got SVN access to speed up patching
The bigger news is probably that libsyncml now has a stable branch.
That’s it for now, I’ll try to provide more frequent updates …
The mainframe
•June 26, 2009 • Leave a CommentWhile my university semester’s end is not to far away now, I had a lot of fun with a course called “Mainframe Computing” held the first time at our university. According to this slashdot article it’s good to gain some knowledge in that old wizardry. Seems like the Mainframe is on the rise again.
Shuttleworth interview on golem.de
•June 22, 2009 • Leave a CommentAltough the folks at golem.de are known for anything but quality journalism, they have an interesting video interview with Marc Shuttleworth (ye olde Ubuntu founder). He talks about the future of the free desktop, current issues and the competition. Altough nothing new on the content side, it’s still nice to watch.
Stop motion
•June 13, 2009 • 1 CommentFound a nice stop-motion video on youtube entirely done with post-it’s:
And the corresponding making-of:
The Palm Pre
•June 10, 2009 • Leave a CommentHere’s some useful user info about the recently landed Palm Pre, which I currently tend to buy when it arrives in europe. Mathew Garret also has a lenghty post about details from the recently leaked root image. Ah, not to forget, this is how to get into developer mode. Actually I’m prefering this gadget over the available Android-based phones currently …

Update:
Be sure to read also engadets everything you ever wanted to know about palm pre article.
Home
•June 9, 2009 • 1 CommentYou should watch HOME, the film by Yann-Arthus Bertrand on YouTube, where it is freely available (until 14th of june, afterwards in cinema theaters), the cinematography is just great. Opinions vary on the narrative content though.
GSoC week 1-2 wrap up
•June 2, 2009 • 22 CommentsOk, time to write a bit about my progress in the first two GSoC coding weeks. So far, the foundations are laid out, I finally decided which SyncML implementation to use and how to realize what I plan. En plus, some code already hit playground

First of all I decided to go for libsyncml as my backend. The two other competitors (Funambol C++ client SDK and libsynthesis) either don’t have all the required features (SyncML server mode, OBEX transport) or are difficult to handle from my POV. I did a rather lengthy review for myself and decided that this is the right way to go, even if libsyncml does have some issues here and there.
Before I’d like to go into further details, I’d like to revise what I’d like to achieve:
- Being able to sync my mobile against Akonadi
- Being able to let Akonadi sync against others
- Configure all that in a comfortable way (don’t mess to much with SyncML)
- Have it automated (where possible)
Being able to allow a mobile device to sync with my desktop’s Akonadi instance effectively means running a SyncML server to which the device can connect to and which interfaces with Akonadi itself.
Therefore we need a “Akonadi SyncML server agent”:

And the corresponding configuration interface:

There you can set how you want to expose SyncML functionality and what resources you want to be sync-able. Some advanced SyncML stuff is also there to help with all the beasty devices out there (more than you might think). As you can see, right know only one server instance is allowed to run at the same time, but this might change in the near future. For example you might want to have one OBEX / TCP server which exposes all your contact resources for your mobile and another one via HTTP which exposes each and every resource available for another Akonadi instance (I’ll come to that in a moment). Even more so, you might want to set some proper SSL encryption your HTTP setup but not necessarily for the mobile device (we’re all lazy aren’t we?).
Depending on what you are up to you might want to let your Akonadi instance behave like a client, e.g. let it go knocking on some web services (myFunambol.com, ScheduleWorld, Google stuff, etc.) or another Akonadi instance. And you don’t want to do that by yourself all the time. So we need a “Akonadi SyncML client agent” to do exactly that. Here’s the config screen draft:


This is where you can set how to access the remote server and again, what Akonadi resources you want to have synced. You also have to set some SyncML-specifica to access calendars and contacts on the remote partner. As you can see here, SyncML clients should be able do their job in different ways. You might want to have one client which syncs weekly with your google calender and you might want to have one client on your laptop which syncs with your desktop’s Akonadi instance upon network discovery (help, please!!).
And to be able to configure all that stuff without getting lost, we’ll need a KCM module. A profile concept remains to be elaborated to hide away all the complexity (more in a follow-up post).
Some code can already be found under playground/pim/syncml but you need a pretty recent version of libsyncml and libwbxml to get this to work. You can also fetch those dependencies with some patches applied from my SUSE-BuildService repository for several RPM-based distros:
Twitterrific
•May 29, 2009 • 1 CommentFinally, North-Korea’s Kim Jong-il is using twitter! My bet, he uses that laptop behind the only ever reported active IP-address from North-Korea. He must have had it smuggled from somewhere else, since the country’s secret nuclear laptop program remains yet to be established…
Anyway, a great read!
QuantumStyle
•May 29, 2009 • Leave a CommentJust found a nice SVG-based theming engine for Qt4 on KDE-Look.org which I wanted to share:
Quite nice from a technical point of view, as the creator pointed out, it would benefit from some artists input. Toying around with it is fun and time consuming at the same time, maybe I’ll upload a RPM package later on …
