My blog has been moved to

Thursday, January 26, 2006


The loudest zealots are usually the non-coders. To them, I am often tempted to ask: what was your contribution?

(Shane's comment in OSNews)

Tuesday, January 24, 2006

Translucency and Shadows Made Easy

When I show my desktop with real translucency and window shadows, I am often asked how to do that. It's been ages since KDE is able doing this effect, yet not so many people are aware of it. So here I rehash the instructions in few steps (but remember: YMMV). In short: use KDE 3.4 or higher with the composite manager.

Translucency for the desktop, click to enlarge

First step is to get accelerated driver for your X. This is not always necessary but often you get smoother performance. Beside, it's good to install it even if you don't need playing with eye candy anyway.

Next is to get the composite manager. Somehow I manage to make translucency and drop shadows only using the X Composite Manager from X.Org. The easiest way is to install the binary package. This step is distribution-specific. On SUSE, just launch yast to install additional software, search for xcompmgr and finish it with few mouse clicks.

Update (thanks to anonymous): you do not need this xcompmgr with KDE because KDE has its own composite manager already (kompmgr).

Now you have enable the composite in X. For X.Org version (like what is used in major Linux distributions), edit /etc/X11/xorg.conf. Please make a backup first, in case you screw your system. In this config file, make sure you have these lines:

Section "Extensions"
    Option "Composite" "true"

After this, check .xinitrc in your home directory, add this:

xcompmgr -c

Log out and then log in again, or just restart your X.

Open a window, right-click on the title bar and choose Configure Window Behavior (you can also use Control Center to reach the dialog but I always find this way faster). Click Translucency on the left pane and the rest is self-explained. You just need to enable the effect and customize the translucency and shadows as you like. For example, you can make the window translucent only when you move it. Or even make every single window translucent. Same goes for the shadow settings.

Compare Konqueror's window without (left) and with (right) shadows:

and you certainly don't want to look back.

Thursday, January 19, 2006

How to Avoid Number 13

Corel has shown it. The last WordPerfect version was 12, and now the new one is not 13, but rather X3. I think it's awkward to make it as full-Roman XIII, so it's shortened to X3. Perhaps, also not to be confused with X-Men 3 :-)

And BTW, the toolbar icons have been changed. After, now WordPerfect also has similar icon style to that of Office XP.

Although now WordPerfect can import PDF, just like KWord, from what I observe, this new X3 edition still unfortunately has no support for OpenDocument.

Tuesday, January 17, 2006

Magic Guide Lines

Casper Boemann and Thorsten Zachmann have worked together to implement a nice feature: automatic guide lines. This is available in KPresenter and Kivio. The idea is, when you e.g. drag an object to move it, then vertical and horizontal guide lines should appear magically when necessary, thereby making it easier to align the object with other objects:

In the above screenshot, the circle is being moved (by dragging) and at certain position, the dashed guide lines (in light green) show up. If the circle is moved away, the guide lines are placed in another position e.g. close to the object that the circle is approaching.

This is much better than using the manual guide lines. Very cool, isn't it?

Sunday, January 15, 2006

Last Minute Function Tip

Since everyone seems to have last minute feature for KOffice, I also want to have one. So, here it is:

When autocompletion pop-up appears, choosing one of the item will also shows the description of function. I'm still playing around regarding the tip position, though. Where is the best place to put it?

This is just the next logical step after that function autocomplete.


<ariya> python, ruby, bah. real man uses basic!
<CyrilleB> ariya: real man doesn't live ;p

Saturday, January 14, 2006

Music for Coding

during commits:
Coldplay - Speed of Sound
Audioslave - Be Yourself
U2 - City Of Blinding Lights
Green Day - Holiday
Thousand Foot Krutch - Move
Nickelback - Photograph

while bugfixing:
System of A down - Lonely Day
Nickelback - Animals
Oasis - Let There Be Love
Lifehouse - You And Me
Coldplay - Talk
Daniel Powter - Bad Day
Bon Jovi - Have a Nice Day

Friday, January 13, 2006

What is your Perfect Major?

Exactly subjects that I like!





























What is your Perfect Major? (PLEASE RATE ME!!<3)
created with

(via Jamin)

Thursday, January 12, 2006

Percent Featurelet

This is long overdue, but finally with the new formula engine (recently integrated and completed by Tomas Mecir as his SoC), the percent operator is supported in KSpread:

Wednesday, January 11, 2006

1600 Gb/s

The latest December edition of IEEE Photonics Technology Letters includes our publication entitled 1.6-Tb/s (40x40 Gb/s) Transmission Over 44..94 km of SSMF With Adaptive Chromatic Dispersion Compensation.

In short, it is summarized as follows. We transmitted 40 channels, each can carry 40 Gb/s data, in a distance up to 94 km. That's indeed not really new. But, in our experiment, at the receiver we needed ony one multichannel dispersion compensator that is able to compensate the different dispersion of all channels. The said compensator is even adjustable (thermally tunable), that's why the transmission distance could be easily varied (e.g. as short as 44 km). Interestingly, the compensator did have just enough bandwidth because it was initially designed for 10 Gb/s transmission. Both amplitude and phase modulation gave satisfactory performance.

To imagine the capacity, this is equivalent to transporting approximately 45 standard DVDs in just one second.

And actually this experiment is a bit outdated. In last year's European Conference on Optical Communication (whereby I had the chance to visit Glasgow), I have presented the follow-up experiment in which the rate is further pushed to reach approximately 6000 Gb/s.

Tuesday, January 10, 2006

Arthuring Gnash

Now that Gnash is actively developed, making a Qt 4 binding and let it render using Arthur will be a wonderful addition to KDE 4's Konqueror. Or, perhaps even Plasma. Of course, Konqueror can use the Netscape plug-in version, but accelerated rendering as well as making it available to other apps (yes, yes, I know Flash is proprietary and there is SVG) should be cooler, right?

Monday, January 09, 2006

One Word to Rule Them All

From OSNews: stated that Polaris, OpenSolaris kernel ported to the PowerPC has been built.

And then, Slashdot linked recent Hubble's telescope observation on Polaris - the North Star - system.

However, Windows Media Player 11 codenamed Polaris is still not available yet. It was slated for first months of 2006, though.

Compiler Talk (Again)

Talking to compiler is just like to human being, if you do not understand the dialect then you keep wondering what the other side is trying to say:

error C2663:  'QWidget::move': 1 overloads have no legal conversion for 
'this' pointer

That is from Microsoft VC++ compiler. If you are new, this message hardly tells you anything useful. So, open up MSDN help or fire Google.

But time is money:

error: passing `const Foo' as `this' argument of `void QWidget::move(int, int)' 
discards qualifiers

and the way how GCC spots the same mistakes easily sparks your brain cells and in matter of milliseconds, you know what you've done wrong.

Friday, January 06, 2006

Prototype in Office

Jensen Harris has revealed how the initial design of Microsoft Office 12 user interface has something to do with paper prototyping. Interesting to notice, because creating mock-up using paper prototype has been covered before by Ellen. Perhaps we should do it for the next generation of KOffice?

Tuesday, January 03, 2006

Be Yourself

even when you've paid enough
been pulled apart or been held up
'cause every single memory of
the good or bad faces of luck
don't lose any sleep tonight
I'm sure everything will end up alright
you may win or lose

Monday, January 02, 2006

speedcrunch: the madness continues

What was intended to be a proof-of-concept has become the calculator of choice in the latest Kubuntu Breezy Badger. The next logical step is to let users of other platforms also have a chance to enjoy it.

Many have asked why I do not offer (and encourage) Windows version, as it is written in the website. This is a not technical matter as the code itself is as portable as I can make (sans compiler quirkness) and it does not depend on anything. But for once, the situation has changed since Trolltech released Qt 4 because now official GPL-ed Win32 edition of Qt is available. Johan Thelin has taken the task of porting it to Qt 4 and thus makes SpeedCrunch runs in Win32.

The next 0.7 series will hopefully feature Linux, Windows and Mac OS X version, essentially all platform where Qt is supported. So Window and Mac OS X users soon can also enjoy the keyboard-friendly calculator with 50 digits precision, variables support, color syntax highlight, functions autocomplete and calc-as-you-type (or on-the-fly calculation) convenience. Thanks to Johan, it will also sport the long-awaited optional keypad:

Until KDE 4 ready, SpeedCrunch will be Qt only. If you can't wait, then I highly recommend Michael Pyne's abakus. It is well integrated with KDE. Some goodies - among others the high-precision feature - are also in abakus as we share plenty of code.

And with the new year comes also the new maintainer. From the very long development time of version 0.6 (I still need to upload the final version, but Berlios seems to be down all time), I realized that I was doing it harm if I keep it that way. So finally, I passed the torch of SpeedCrunch to Johan and surely he would steward the development better than what I did. For the users, translators and contributors, I sincerely thank you and appreciate all your patches and feedback.

There are still tons of interesting ideas for this calculator: RPN support, user-defined function, more built-in functions, external plug-in, higher precision, common scientific constants, just-in-time compile, etc. So do not expect the madness to stop ...