Serbian Dvorak

Yesterday I found the web site describing Serbian Dvorak keyboard mapping.

I liked the mapping, so I decided to make a GNU/Linux version (the above works only on Mac OS X). So, here it is:


The mapping looks like this:


CEWQO08 application

I have just built my first KDE 4.1/Qt 4.4.0 application. I was asked to make some modifications to the Excel spreadsheet and it was too complicated to do that by hand. I had to swap first and last names and unpack one column into 6 columns. That wouldn’t be a problem if there weren’t about 170 entries which was too much for my copy+paste knowledge :). So I decided to transform the .xls file into an appropriate .csv file (with % as a separator since other characters were already used in the entries) and do the regexp magick using Qt. Since I am using KDE 4.1 (trunk), and it isn’t needed for this program to be delivered to anyone, I also decided to use KDElibs for GUI. So, here it is - the CEWQO08 program (the name sounds strange, but that’s the name of the conference this .xls file is all about). So I swapped the names (trivially, split the QString into QStringList, push_front(last) + pop_last) and QRegExp-ed the column that was to be unpacked.

You can watch the source at repo.or.cz (or just check it out with ‘git clone git://repo.or.cz/cewqo08.git’).


Dolphin browses archives

Today I took some time and added new functionality to a great new KDE's file manager - Dolphin. In KDE4 Dolphin will be the main file manager and in KDE3 it is the main file manager only if you setup KDE like I did (change "inode/directory" in KControl->Components->FileAssignments to point to Dolphin as a preferred application).

Well, I have lots of files packed up in the archives and I'd like it to stay that way. Konqueror always could browse through those archives, but dolphin doesn't have that functionality. That is - it didn't have until today. Today I made a patch for both new KDE4 dolphin and backport for the "old" KDE 3.5.6. You can find the KDE4 dolphin's patch in KDE Bugzilla or in KDE Subversion since it has already been integrated into the new Dolphin.

Unfortunately, Dolphin's version 0.8.2 is the last version for KDE 3 and it is going to stay that way. So, if you want to use new functionality, you will have to take my patch from Gentoo's bugzilla. While there, you can also download the ebuild and merge it into your system (if you are using Gentoo). If you are not using Gentoo, then just apply the patch to the source and after the usual configure, make, make install, you will be able to use that patch.

Well, that's all for today. I'm off to watch the brand new South Park episode 01 form serial 11.

Here are some screenshots of Dolphin in action:

Dolphin svn on KDE 4 with new feature and wrong icons (transition to Oxygen)

Free Image Hosting at www.ImageShack.us

Dolphin 0.8.2 on kde 3.5.6 with new feature


External dockwidgets

Today I found this interesting post. Barış Metin managed to make a external dockwidget using Qt4 and KDE4. He even used Qt4's QTimeLine to animate the hide event. I liked what he did a lot and made the show event animated as well.

Here's the new source.

Click to play video
Click to play video


OOMTK Kernel

A while ago I started to make a new microkernel. It's name is OOMTK which stands for "Object-oriented multi-tasking kernel", an old name I used for some small userspace kernel back in 1994. It is being hosted in Taiwan (OpenSVN repository) and you can take a look at is't trac website at the following address: https://opensvn.csie.org/traccgi/oomtk/.

My idea is to make a very small and basic microkernel that will handle context switching, memory allocation and message passing. Everything else should be in separate servers. To make things worse, no application will be able to access the hardware directly. Instead, it will have to go through HAL (hardware abstraction layer) interface to get to hardware. The HAL will implement some basic methods, such as port i/o. The HAL will have to be ring0, but it will be a separate process from the kernel itself, so that it cannot generate an error that would block the kernel. There will also exist a process that will be responsible of reloading the servers if they crash (and if they registered to be reloadable).

Currently, it is very far from usable. Here's the current screenshot (just a bootable kernel with paging and descriptors set up):