Loud ramblings of a Software Artisan

Saturday 13 January 2007


pcolijn: it is possible to get your LJ friends page as a RSS feed. But it is not easy. LJ does not work with HTTP authentication (or I missed something), but with Firefox, for example, if you log in, you can get it. Maybe that is the trick. Log in, get the cookie and use it to request the feed.

James: there is a KDE control panel option for that. It is buried in "Keyboard and Mouse" -> "Mouse" and in the "General" tab there is an option to configure that. Confusing, huh? Yeah it took me two or 3 guesses to find it this time, and I have already been there, done that. This settings influence Konqueror, digiKam, etc. And my opinion is that this setting should be double click by default.

Monday 2 October 2006

aKademy 2006

Back from aKademy 2006. The return trip was almost fine. We got delayed 3 hours in Shannon due to 2 mechanical problems, but then everything was smooth. I still don't get the reason why we have to do DUB -> SHN -> YYZ, but so be it.

There was a truckload of KDE developers. Lot of beer has been consumed, lot of fun have been had, and lot of interesting topics discussed.

I was there, sponsored by OSDL, to attend the ODF Day on behalf of AbiWord. I also attended various sessions for KDE even if I missed the core of the conference by arriving late on the Sunday. Qt4 is very interresting and Trolltech seems to have addressed most of the issues I considered needed fixing: separation of the base library with the UI to be able to use Qt without depending on X11 if you don't need UI, and MVC programming.

Thanks to everybody !

Wednesday 27 September 2006

Free Imaging libraries

Boudewin, of Krita fame, Investigate Imaging Libraries for free software. Some interesting reading.

Monday 25 September 2006

aKademy - day 2

I started directly with day 2 as I arrived Sunday in Dublin.

London-Heathrow aiport is definitely an airport to be avoided: very long lines to get you connection, going through security, etc. I envisionned much worse than it was, like being required to check-in my backpack (that contains only camera and laptop).

Trinity College is still like it was back in 2003 when I was at Guadec.

I attended the presentation by Kitware about CMake and Dart. CMake is a replacement to Automake that KDE now use for KDE4. I must say that I'm somewhat impressed: from scratch it took me 30 minutes to make a CMake build system for libopenraw (don't look for it yet, it is in my local bzr branch). Dart is a system that provide a view of the state of your project: how it builds (tinderbox), how it runs its tests, etc. I think both would make sense for AbiWord: we need to have one cross-platform build system (we currently have 3: automake, plain make for win32, xcode-based for Mac[1]), and we need to have a better vision of the current state of the code (we used to have a tinderbox running at one point).


[1] and that is a big mistake

Thursday 21 September 2006

aKademy 2006

I'll be at aKademy 2006 in Dublin, Ireland, starting Sunday, until Thursday. Thanks to the generous conference sponsors to allow me to attend ODF Day.

If you want to meet me, let me know.

Monday 18 September 2006

KMail was promissing as a mail reader...

... until it deleted my INBOX.

Too bad, it had a real bunch of promissing features, including a working filtering system, but in 13 years, this is the first client the irrevocably delete all my email. I should have suspected that its IMAP implementation was broken by design.

Back to Thunderbird which still suck less than Outl^wEvolution.

Bug filed

Saturday 29 July 2006

Cairo and Qt3

I was wondering if I could use Cairo from Qt3. Given that Cairo allows creating surfaces from X11 visuals and that Qt allow accessing them, I thought it was simple. As a proof, here is the interesting bit (using Qt3 and Cairomm, the C++ "bindings" for Cairo):

QSize size = QWidget::size();
RefPtr<Surface> surface = Cairo::XlibSurface::create(

That code is from a member method of a QWidget subclass.

Get the code: main.cpp. To build, use the following command:

gcc main.cpp -o main -I/usr/include/qt3 -I/usr/include/cairo -I/usr/include/cairomm-1.0 \
 -lqt-mt -lcairo -lcairomm-1.0

Now lets think how to make that API clean, and how QPainter will conflict with it :-)

Update (July 30th): I got pointed to qcairo in the cairo-demo. I must admit I didn't really look for one as I liked the educational part of figuring things out (easy).

Wednesday 31 May 2006

"I believe in D-Bus!"

Ronald, as you say, KDE seems to be miles ahead. It is somewhat true if you think about the architecture. They have a mature toolkit, Qt, that is licensed under a Free Software license[1], and that runs on 3 major platforms, 1 free (X11), 2 non-free, allowing to capitalize on a truely Free Software experience will providing freedom of choice: develop for a Free Software operating system (Linux, BSD, or whatever else) and seemlessly port to non-free operating systems: MS-Windows and MacOS X. The other things KDE have are technologies like DCOP, KPart, a web browser component (KHTML) and even imaging (look at KImageEffect). And even if some of this have similar counterpart in Gnome, the developers find them easier in KDE[2]. But I have always had issues with KDE UI which unlike Gnome is much less polished and much more "provide everything you can"[3].

But let's go back to DCOP. DCOP has been around for over 6 years and provided a simple to use structured IPC mechanism for KDE, on top of X11. I would have had implemented a scripting architecture for KDE, I would have used DCOP as the IPC subsystem. But DCOP is now deprecated for KDE4 in favor of D-BUS. See thiago's post. Guys, you did the right thing. We need to share this infrastructure middleware amongst the free desktops. Why? Because it leverage the ability to provide other high level layer to integrate between Gnome and KDE. I'm thinking about my ideas on scripting. Maybe Gnome should just do like KDE: ditch Corba.


[1] yes, re-read the licence, it is all about protecting that Free Software nature while trying to streamline revenue for continued development and maintenance

[2] unless you hate C++ which seems to often be the justification for Gnome

[3] The list is actually very long