My blog has been moved to

Wednesday, February 27, 2008

Why are DOC/XLS/PPT so complicated?

Still related to the b2xtranslator and the direct availability of Microsoft Office binary (doc, xls, ppt) file formats, the question that is often raised is why are they so complicated? Of course, office suite developers know the likely reasons behind this. But in case you miss the interesting part, read Joel on Software's insight on this matter.

every night has its dawn

You learn that you can be friends with those who do not always share your thoughts, because differences are not obstacles to a mutual respect. But you get to know others who, for whatever reason it might be, always try to convince every soul in this planet that their opinions are the best. You learn the magical meaning behind loyalty, for you go along with those with whom you can trust your life. Yet you uncover the secret of betrayal and meet those who do not hesitate to stab you in the back when an opportunity present itself.

You know those who do many different things for the sake of the humanity. You also meet those who tend to keep everything, often not only their belongings, for themselves. You learn that sharing your knowledge is the best way to advance the human civilization. However, some prefer to keep the charms and spells in their own vault as if they are not aware that great minds think alike.

You learn that your good intentions are sometimes misunderstood - and that sometimes you wonder 'where did I go wrong'. But somehow, there are still some others who are always full of mercy, as giving a benefit of doubt is more challenging than simply blaming someone. You know few which genuinely pay attention to you and patiently listen to your tales. And there are some who have the knack to say something about anything and just keep bombarding you with their rants and ramblings, as if these do really matter.

You know people which have great passions and love for what they do (and that really inspires you). However, infrequently you are stuck with some others who do things as if their spirit is not completely in their body. You work with those who are exciting with all the challenges and on the other hand you also meet those who just drain your brain endlessly.

Everything is just like Hollywood stories. Someone finds salvation in everyone, another only pain. And life won't let you understand.

Five years. Time to move on.



P.S: This is my last official day at the university, though I still need to go back one more time for the final exam.

Saturday, February 16, 2008

Microsoft Office binary format to Open XML

As promised by Brian Jones, finally the project (under a liberal BSD-like license) to convert Microsoft Office binary format (doc, xls, ppt) to the Open XML format (used since Office 2007), named b2xtranslator, has been initiated on SourceForge. As I wrote before (on Google Code Project Hosting vs SourceForge), it'd be fantastic if Microsoft would have placed the project on Google Code instead of SourceForge (but it is Microsoft we are talking about). As of now, download is not yet available as the project is still in its very early stage.

Many office suite developers have an interest on Microsoft Office file format because it is widely used. The description of the format itself can be obtained from Microsoft since quite some time, however only with the b2xtranslator we will start to see an implementation which is "blessed" by Microsoft.

Technically, there are two slightly disappointing points with this b2xtranslator project. First, it is not an implementation used by Microsoft itself in its office suite but rather an independent one. Second, it requires .NET framework (exactly as I have predicted). For the former, again it means playing the same cat-and-mouse game since there is no guarantee that the translation is fully compatible with the code in the real Microsoft Office. For the latter, well I leave to you, the readers, to reach your own conclusion. Of course there is Mono (which, by the way, is used to integrate odf-converter in Novell edition of, but you know well where the discussion would lead.

As usual, let's wait and see.

Friday, February 15, 2008

Karbon and WPG

After Inkscape, (Novell edition, ooo-build), and Abiword, Karbon in the next KOffice 2.x joins the array of open-source software which is, by using libwpg, able to import clip-arts in WordPerfect Graphics (WPG) formats. Since any Karbon drawings can be embedded in a document, of course this means you can attach and insert WPG clip-arts in a text document, a spreadsheet, or a presentation.

(There is still a rendering problem in Karbon as seen in the comparison screenshot. Hopefully will be fixed as it is approaching the release).

Thursday, February 14, 2008

Wednesday, February 13, 2008

Sun VirtualBox

Seems that the trend still continues, Sun is to acquire Innotek, a German company known for its open-source virtualization software, VirtualBox. Recently VirtualBox becomes my favorite virtualizer because it is dead-easy to install on OpenSUSE. I hope Sun will continue to improve and enhance VirtualBox, it is a pity if such a great product disappears from the virtualization radar.

Tuesday, February 05, 2008

for you a thousand times over

The film The Kite Runner (German: Drachenläufer) is adapted from the book with the same title. I have read the book and it is very enjoyable. The film is, however, something different. It is obvious that it is not possible to include every single scene from the book, and thus the film can not touch the major characters in the same depth as the book. I would say, read first the book before going to watch it and then try to fill out the missing episodes in your own mind.

I also find it is pity to see that not so many are interested in this film. I can't claim I was the youngest in the cinema, but it was clear that most of people are at least thirty something. On the other hand, it is indeed a bit hard to catch some attention when it must compete head to head against blockbusters e.g. I Am Legend. I hope the DVD will be better received.

Sunday, February 03, 2008

Friday, February 01, 2008

2008 tech trend


Nokia Trolltech

Microsoft Yahoo

KDE and KOffice on N800

Thanks to the efforts of our hero Matthew Lewis (aka penguinbait), KDE 3.5.8 with KOffice can be enjoyed on both Nokia N800 and N810 (read also the step-by-step instructions). One of the screenshots from him:

Once I finally get OS2008 sorted out on my N800, I'll definitely give it a try.

why Google Code Project Hosting rocks

Let's compare. Google Code Project Hosting (GCPJ) vs (SF).

You can start using GCPJ in <1 minute. With SF, you have to provide all those tax-forms-like details and wait until your request for the project is approved.

The project front page in GCPJ is cleaner than that in SF. Don't even bother thinking about the old version of SF.

GCPJ's label-based issues tracker is much more usable than the complicated SF's one. Everyone hates a bug tracker anyway, somehow GCPJ is still humanly managaeble.

Often you want to put some information quickly and the GCPJ wiki is fantastic for that. No need to create some web pages, upload them, and so on. Yes there is also the wiki support for SF but how many of you use it or even are aware of it?

The download page in GCPJ is easier for eyes.

Optional goodies are not packed within GCPJ. If you want to display some screenshots, redirect to Picasa Web Album. Need some mailing-lists? Connect the project to Google Groups.

Tracking the statistics (visits, hits, referrers) is easy because it is integrated with Google Analytics, which btw provides more useful information compared to the limited SF's stat tool.

Administering your project in SF can make you scream (aloud!). It's however dead simple in GCPJ.

SF's subversion access is known to be flaky from time to time. GCPJ's might not be the fastest, but so far it works smoothly.

GCPJ's subversion viewer (the very latest feature of GCPJ) is a way way better than SF's traditional one. Try both and prove it yourself.

In short: GCPJ is designed with Pareto Principle in mind. Most of the core features which the open-source developers (who, BTW, do not have so much free time) really need are made very easy to handle. It's rather minimalist, it's not perfect, but it improves over the time. SF is so dull and not for mortals.

to blur or not to blur

Blur is an interesting effect, mainly because it lets us enjoy the main object yet the out-of-focus parts add something to the realism. Like in the default KDE 4.0's splash screen:

For PictureFlow, I decided to add the support for optional blur effect for the reflection, as shown in the following comparison:

It is even more enjoyable when you run the demo program and see those book covers sliding, as if they are ice skating. Shader guru can quickly point out the fakeness of the blur. Rather than blurring the "floor" after the reflection is painted there, I choose to blur the reflection for each image beforehand. Fake but fast and fun enough. As for the algorithm, it is the famous blazing-fast exponential blur from Jani Huhtanen, used among others in KDE 4's Plasma.

Another improvement is that the background color can be customized, not limited to black. In fact, black is particularly suitable to do fast reflection illusion cause blending a specific color with black can be approximated by multiplying its RGB components with a decreasing factor. But since I saw that Cover Flow for iPod nano is with white background, I thought I just let you use your favorite color for PictureFlow.

In addition, I refactored the code so that it is more maintainable. For simplicity, the horribly long look-up sine/cosine table has been reduced with the help of simple interpolation. Even better, PictureFlow now supports Qt 4 (Win32, Linux, Mac, Qtopia, Windows Mobile), Qt 3 (tested on Linux only), and Qt 2 (for Qt/Embedded platform) with a single code base. Maybe even Symbian in the future :-)