Tomboy 1.1.4 Brings Automatic Synchronization

Here are some facts about autosync:
- It assumes the server is always right when conflicts occur, so if you actually found Tomboy's conflict-handling UI useful, don't use autosync
- When a sync occurs, it desensitizes all note windows, because Tomboy sync is still a bit insistent on believing in transactions.
- But in theory this should never be a problem for you, because Tomboy will never sync while you are editing a note. It will wait until *at least* one minute has passed where you have not been editing.
- Besides this desensitization of note windows, there is no indication at all that a sync has occurred. Next cycle, I intend to use libnotify bubbles and/or status icon changes where they make sense to let the user know if new updates have been downloaded, or if the sync server appears to be down, etc. Right now this feature is totally silent, though you can get a few details if you run from a terminal with --debug.
It's unfortunate that I've been too busy to publicize this feature until so very late in the cycle. I'd appreciate any testing, feedback, bug reports, etc. At this point all I can say is that it Works For Me.
Other sync-related news:
- Rumor has it that Ubuntu One note sync can no longer mangle your notes, unless you use their web editor, in which case the mangling is much less severe than in the past. I keep getting emails from Launchpad saying that Rodrigo has fixed yet another of the old irritating bugs, to the point that I've lost track and think he may have gotten the last of them! :-) This is great news for U1 users, who previously suffered from a few serious sync bugs.
- I've started the ball rolling on deploying Snowy on GNOME servers (this would be known as Tomboy Online, if the marketing team approves...I still need to email them).
- We have another Snowy planning meeting this weekend.
- Many thanks to Leon Handreke and Sander Dijkhuis for their valuable contributions to Snowy in git.
- Tomdroid 0.3.1 is out, and although it doesn't yet include web sync, the merge is impending!
Another feature in Tomboy 1.1.4 makes me very happy, might upset Tomboy old-timers, and could possibly cause Alex Graveley to destroy my very soul:
By default, when you rename a note, Tomboy will no longer automatically update all of the text that used to link to that note. Instead, if other notes link to the renamed note, Tomboy will show you a dialog (lame, I know, I intend to bind GtkInfoBar for next cycle to eliminate all dialogs in Tomboy) that lets you choose what to do. Here's an example screenshot, with the Advanced section expanded:

Some have argued that automatic link renaming is part of Tomboy's magic, but many many users (including me) consider this dark magic to be a serious potential data loss bug. If you've ever had a note called "Linux", and renamed it to "openSUSE", and been dismayed to find that everywhere in your notes where it used to say "linux" it now says "openSUSE", you know what I'm talking about.
In the future, I'd like to allow folks to have more control over note linking behavior. Many users have expressed a desire to turn off automatic linking, or to be able to link arbitrary text to another note (not just text that matches the note's title). Enough people have asked for it that it'll probably happen, though of course patches would make it happen faster.
Next time you hear from me, Tomboy 1.2.0 should be out, and we should be making progress on getting Tomboy Online deployed!
Chemnitzer LinuxTage
Looking forward to making this a great event where we cultivate innovation and creativity to further the development of the Fedora Project and it's contributors. See you there ;-)
On benchmarks
KDE Project:
Do you know this one?
Phoronix tested md5sums of ISO images of distributions. The winner was openSUSE, scoring e29311f6f1bf1af907f9ef9f44b8328b, which gave it a noticeable lead before second Slackware (b026324c6904b2a9cb4b88d6d61c81d1), which is quite closely followed by Fedora (9ffbf43126e33be52cd2bf7e01d627f9) and Debian (9ae0ea9e3c9c6e1b9b6252c8395efdc1). The difference between these two distributions, as you can see, is only very small. Ubuntu completely flopped in this test, achieving only 1dcca23355272056f04fe8bf20edfce0, which is surprising, especially considering that its previous release scored a very nice c30f7472766d25af1dc80b3ffc9a58c7. (source).
Ok, that's just a joke, but the sad part is, as somebody pointed out, that it wouldn't be really that surprising if Phoronix actually did something like that. And, probably even more sad, there would be people who'd really take it as if it meant something and started adding comments about how last openSUSE is pretty good, last Ubuntu is so disappointing, and Fedora and Debian are not really that different.
So take this from somebody who has already done a lot of performance work: Benchmarks, on their own, mean almost nothing if you don't understand them. Especially if they are seriously flawed (I mean, testing filesystem performance by doing CPU-intensive tasks? Hallo? Probably even FAT16 could provide the same results in those tests on an SSD.), but even if the results are useful numbers, it is still necessary to understand what the numbers actually say. I think I wouldn't even have a big problem forging a "benchmark" where KDE would get better (and correct) numbers than LXDE by finding a scenario that'd be twisted enough.
And even then, it is still necessary to keep in mind what is compared. Comparing the default setup of Fedora and openSUSE means also comparing GNOME and KDE, which you may or may not want, but if you compare the distributions this way, it is affected by differences between the desktops, and if you compare the desktops, it is affected by the differences between the distributions. And in either case, it may or may not apply to another distribution or another desktop.
Yet one more thing to understand is what is measured and how it affects performance as a whole. Ages ago there was a Dot article that also mentioned performance improvements to be brought by Qt4 in some specific areas, yet even now there are numbers of people seriously disappointed by KDE4's performance only because they thought that since Qt4 improves in some areas, KDE4 will get exactly the same improvement, regardless of how much these improvements matter for the whole of KDE4 or how much of KDE4 was rewritten when porting from KDE3. When I fixed Exmap to work again and did a little benchmark as a part of it, there wasn't really much more to it than to show that Exmap works again and that it is very easy to lose a lot of advantage by a simple mistake, yet people had no problems drawing all kinds of strange conclusions from that. Since making right conclusions is unexpectedly difficult for most people when it gets to benchmarks, I really need to remember not to just post numbers again without also saying what it means.
And, finally, there is still the question of other costs and whether it is worth it. Various KDE components often have resource demands, but then they are also often worth it. I mean, we all could still use TWM, or, heck, Windows 95, but seriously, how many of us really would? This, ultimately, is always about what works the best for you.
Build your own Google Earth rpm
The last days I’ve spent some time to investigate how to package Google Earth into an rpm. There was already a script called make-google-package available on the internet, but this one creates a debian package only. However, it was a good start to get me going to create a Google Earth (GE) rpm. Although I met quite some obstacles, which is not to uncommon in package building, I was still able to come up with a procedure a get GE packaged. The biggest problem I encountered were incorrect library dependencies, for which I opened issue 702 in the Google Earth issue tracker. Anyway to make a long story short: the rpm installs Google Earth system wide, corrects file permissions, for openSUSE_11.2 it takes care that the font is rendered correctly, the rpm takes care that Google Earth integrates nicely with the rest of the openSUSE system.
The procedure to build the rpm can be found in the openSUSE wiki. One word of caution about the procedure, you need to be an experienced linux user and you need to have access to the openSUSE Build Service (OBS) to be able to build the rpm. This is due to library dependency problem, which prevents it to build without modification to the base system.
If you like and you have the knowledge how to build an rpm with the tool ‘build’, it would be great if you can extend the howto with steps how to do this (build a GE rpm with ‘build’) to the before mentioned page. The same is valid for a procedure that uses VirtualBox to build the rpm.
Last but not last; a procedure or even a script, that uses ”’rpmbuild -ba”’ to build the rpm, would be very welcom as well.
Panel Drawers in KDE
- Create a folder somewhere eg ~/Desktop/My Favourite Apps
- Drag and drop the folder onto a panel
- Choose "Folder View" from the popup that appears
- Drag apps from the menu, documents from Dolphin and other stuff onto the new panel icon
- Click it and enjoy your new menu!
Community Discussion - Part1
Improving in the MonoDevelop user interface
Additional packages that are needed to get skype working on openSUSE_11.2 x86_64
When you want to use skype on a 64bit openSUSE 11.x system, there are some additional rpms needed, to get skype going. The following packages are needed:
- xorg-x11-libXv-32bit
- libqt4-32bit
- libqt4-x11-32bit
Those packages will pull in others, but those 3 will take care that all packages are available to run skype. The package can be installed using zypper:
zypper install xorg-x11-libXv-32bit libqt4-32bit libqt4-x11-32bit
Have fun!
Package KDE applications easily for multiple distributions
KDE Project:
Those that were at either CampKDE or FOSDEM might already know, so for those this is a status update, for the rest: I've been working on a tool that makes it quite easy to create packages in the openSUSE build service, which despite the name can create binary packages also for other distributions than openSUSE. If you've ever gotten a mail asking for a binary package of your application or help with a compile problem, this could make your life easier.
For example, imagine Joe Developer, who has written his KFoo application, uploaded it to http://kde-apps.org and is now watching what happens. But, alas, instead of thanks and praise, what often happens is that the first comment is something like "I get this compile error, can you help?" or "Are there packages for Kubuntu?".
It may be quite easy for Joe to see that the compile error is caused by libbar-devel not being installed, but how is he to know what the package is called in other distributions? The same way, how is he to provide binary packages for distributions he does not use? And that's far from all things that can go wrong in such case - Joe may be running KDE workspace 4.4, but somebody may be still on 4.3, where the application would nicely compile and run, if only one #ifdef would be added to the right place. But will Joe really downgrade his installation just in order to fix that, and again each time he does a release of KFoo? And then maybe somebody else will try to compile it on openSUSE Factory, which already uses GCC 4.5, and will get compile errors because the latest compiler is more strict than previous versions and rejects invalid code that however compiles just fine on Joe's computer. And so on and on.
Joe, of course, is a smart guy (after all, he's written this great KFoo app that everybody wants to run if only they could compile it :) ). He can get the idea to use VirtualBox and install other distros he could care about, and test in all of them. The question is how long he'd be really willing to do that, since it certainly sounds like a lot of fun (and lot of disk space, and work). And that still means that all those potentional users would have to compile KFoo from source.
Maybe distributions would eventually include KFoo, but there's this tricky loop 'nobody uses it' -> 'why should a distro include it' -> 'no distro ships it' -> 'nobody uses it'. Maybe Joe gets lucky, maybe he does not.
Sometimes other people may provide binary packages for the distribution they use, so if somebody likes KFoo enough (and knows how to do it), Joe may find a comment on kde-apps.org pointing to this package and can add it to the list of packages to download. Except this may and also may not work, depending on how well those packagers keep up. Having a binary package of KFoo-0.3 when the latest source tarball is KFoo-1.5 is probably worse than no binary package at all.
So Joe can go back to the VirtualBox installations and try to package KFoo for all those distributions. But Joe is a developer, not a packager, so first of all he'd have to learn how to actually do that (e.g. creating a .deb is quite different from .rpm, and even .rpm packages for different distros are not created exactly the same way). Worse, he is a developer, and, honestly, developers just love packaging, especially for multiple distributions, riiiiiight?
Now here comes the openSUSE build service (OBS), which as already said is not only used for creating the openSUSE distribution, but also provides the ability to create repositories providing additional software, also for non-openSUSE distributions. That almost looks like the solution for all the above problems, doesn't it? No need to install the distributions and do the builds locally, the OBS itself will do the building. New packages would be available very soon after updating the sources in the OBS. And kde-apps.org has even direct OBS support, so packages can have direct download links there.
There's still the problem of actually having to know how to do the packaging, but that is exactly what kde-obs-generator should help with. KDE applications in general happen to be simple to build, and thus quite simple to package (in fact, compared to some other pieces of software, KDE apps happen to be remarkably simple to package :) ). So a lot of that could be automated. In the best case, creating a KDE package in the OBS can be now a couple of clicks in the web interface, few osc commands (osc is the CLI tool for OBS) and running kde-obs-generator in the directory with the source tarball. I've already tested the tool with some packagers and they even started using it for real, because even for experienced people it saves work.
I still consider the tool to be experimental and work in progress, but it's already pretty usable. Currently it can handle Plasma themes, KDM themes, KPlash themes, wallpapers and generic KDE/Qt CMake-based builds. It tries to automatically figure out all the needed build dependencies (which however means the list of mappings from cmake to package names for all supported distributions needs to be extended as necessary). Also kde-obs-generator itself is packaged using kde-obs-generator. The biggest thing I've built so far is the whole of kdeutils, that's of course not how something like kdeutils should be packaged, but that shows it can handle quite a lot.
So, in case you'd like your application to reach more of its posible users, you'd like to ease your testing, or you're just curious, the documentation is in the openSUSE wiki. I'd especially like to point out the tutorial, which is really step by step and includes also things like how to create an account for the OBS, so maybe even a monkey could now create a package (well, assuming it can read and write and is pretty bright for a monkey ;) - this still cannot be as simple as just hitting Enter repeatedly). If there are any questions or a problem, see the feedback section (mail the opensuse-kde mailing list, or just ping me (llunak) in #opensuse-kde on Freenode).
PS: I'd appreciate if people using other distributions could edit the wiki page on how to actually install the binary packages in some easier way than going to http://download.opensuse.org, navigating to the right .rpm/.deb file and clicking on it. It's pretty easy with openSUSE so I assume there must be something simpler on other distributions too, but I can't find it.
http://software.opensuse.org/stage
Part of our “umbrella” milestone, Pavol and Robert ported software.opensuse.org to the Bento theme. To get more feedback for it, I now deployed it as http://software.opensuse.org/stage.
Please note two things:
- it also includes a new feature from the Education project: a link to openSUSE derivates
- the language box is experimental and we kind of decided already to kill it again
On top of that of course: the Bento theme is not yet finished – it’s only a stage deployment to get feedback.
Have fun!






