My blog has been moved to ariya.ofilabs.com.

Thursday, January 31, 2008

qt embedded 2.3.x with gcc 4.x

In case you want to build Qt Embedded 2.3.x -- I know it's old but who knows -- with gcc 4.x which is what modern distributions (like the latest OpenSUSE) offer, you might get error messages like this:

In destructor ‘QSortedList::~QSortedList()’:
error: there are no arguments to ‘clear’ that depend on a template parameter, so a declaration of ‘clear’ must be available
error: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)

or something similar, because g++ 4.x (actually since 3.4) is stricter than the previous versions with respect to name lookup.

To solve the problem, get my patch: http://pastebin.com/f474708b6. It is tested only for Qt Embedded 2.3.8.

Friday, January 25, 2008

KDE cookies

It just came to mind. What if for the next KDE release events, parties, or any other get-together occasions, we should prepare cookies, something like the Warsaw Almond cookies (Warschauer Mandelgeb├Ąck)? It will be a challenge, though, to bake them for more than a dozen hungry mortals....

Warsaw almond cookies

EOS 450D

For those who were waiting for this Canon EOS 450D, finally it's out! There is a nice overview in dpreview.com, comparing 450D and 400D. Basically, it sports a 12 megapixel CMOS sensor, a SecureDigital card slot (instead of CompactFlash), larger viewfinder, large (3") display, 14-bit ADC, personalized menu, and many other interesting goodies.

Time to start hunting for the best bargains. So far, the EOS 450D body is available starting at EUR 649 and with 18-55mm lens kit starting at EUR 829.

(the image is a slightly modified version of flomar's DSLR camera)

spamming the planet

So, for the n-th time, I managed to spam PlanetKDE :(

Sorry for the annoyances!

Wednesday, January 23, 2008

HTC and Motorola

Just over these two weeks, over 5 thousands came to my humble blog from XDA-developer's forum. It turned out that Chad "thundershadow14", based on the HTC Touch port, set to create a PictureFlow-based image viewer and release it as Windows Mobile executables. And seems that people like it, there are already 290 posts in that thread as I write this. It was reported to work on a wide range of HTC smartphones, among others Touch, Trinity, Herald, Hermes, Kaiser, Atlas, Prophet, Himalaya, Wizard, as well as other Windows Mobile devices like Treo 750, LG KS20, Asus P535, Axim X51v, and a bunch others. So if you have an HTC gadget (preferably with WM6), give it a shot. Looks like it quickly becomes one of the first popular Qt/WinCE-based application, this is considering that (as of now) the final official Qt/WinCE is not even released yet!

On the other side of the world, my countryman Ketut "blackhawk" Kumajaya brought PictureFlow to Linux-based Motorola phones (BTW, he is also the one who ports Rockbox to EZX). It runs smoothly on some Motorola phones like A1200, A780, E680i, ROKR E2, and ROKR E6. He kindly sent me the following screenshot:

There is even a short clip showing it on A1200:

From these two exciting developments, and since the response is overwhelming (I can't still believe people *do* really bother to mess around with such a weekend project), I want to be a bit more serious and plan to create a specialized image viewer with that lovely CoverFlow effect, designed with mobile device in mind (and targeting Qt/WinCE and Qtopia). From what I read in the forum, people are not happy with the loading time and memory consumption. Of course, this is definitely the case since the example I include with PictureFlow source code is not optimized for speed or memory footprint. It is a typical example program, meant to show how to use PictureFlow only, not as a basis of a real-world application. Thus, a really usable viewer must be implemented differently.

So, folks, stay tuned. Of course you can send me a smartphone, something like HTC Kaiser, if you want. I'll be glad to take it :-)

Tuesday, January 22, 2008

proverb

He who begins many things finishes but few. -- Italian proverb

BTW can anyone quote the original Italian version (if it does really exist)?

Monday, January 21, 2008

Khaled Hosseini's The Kite Runner

What if your life is built upon stacks of lies? What if your past mistake haunts you until this very second? What if the handful people that know about your sin try to help you but they are facing death as time closes by? What if there is a dark side in each and every one of us, but somehow there is still also one last chance to make everything good again?

The Kite Runner is a heart-breaking story about friendship and loyalty, betrayal and treachery, happiness and misery, told in a beautiful, unforgettable way by the author, Khaled Hosseini. It is about what happens to two childhood friends, Amir and Hassan, and their families, all living in Kabul. They shared the same fate: never got the love of a mother. Amir's father, Baba, was a successful Pasthun businessman while Hassan's, Ali, was only Baba's servant. Ali and therefore also his son Hassan were Hazara, often depicted as an inferior race. Ali and Baba grew up together, Hassan was always treated as his own son by Baba and this fatherly affection became a mystery to Amir day by day. Hassan was extremely loyal to Amir, he never disappointed nor harmed Amir during his lifetime.

Kite flying was a popular thing at their time and it quickly became one of their hobbies. Amir always flew the kite, Hassan was the one who run to catch the defeated kites. They were perfect as a team, everything was full of joy and happiness. Or it seemed to. Baba was tough on Amir, often too tough, and this made Amir trying hard to impress his father. He set to win the upcoming major kite tournament and to get the last kite that he would beat. Of course with the help of Hassan. But for the sake of making his Baba proud of him, Amir made a terrible mistake due to his cowardice that he would regret in the next three decades. Even worse, Hassan never wanted to take any revenge, which put more shame to Amir.

Political turmoil (the invasion of Russia) forced Baba and Amir to move to California. They left behind their past, Baba took a simple job in a gas station, Amir continued his education. Soon he found the woman of his life and they got married. The happiness however did not last long. One tragedy came after another. At one time, he received a call from Pakistan, with the remark There is a way to be good again as it was made in passing but somehow this troubled Amir's mind. He flew back, not to realize that it became the start of another big chapter in his life: to face things he ran away from before.

Although one might think the central theme here is a classic, The Kite Runner is quite different. It is somehow remarkable because, not only it's beautifully written and easy to understand at the same time, it's also provocative, emotional and compulsive. Afghanistan political and social situations are wonderfully depicted, they make the story more believable and convincing. Amir is the sole narrator, you can feel his depth of feeling when he cries and when he smiles. And by the time you reach for you a thousand times over, don't expect you can put the book down.

P.S: The Kite Runner is the debut novel of Khaled Hosseini but it was on New York Times best-seller list for two years and sold four million copies. I can't wait to see his next one: One Thousand Splendid Sun. A movie based on The Kite Runner (with the same title), which is out already or will be out soon, is definitely also a must for me.

Monday, January 14, 2008

picking up where Apple has left off

In the third generation of iPod nano, Apple has included the famous Cover Flow feature. But what if your iPod belongs to the generation before this? Well, AFAIK Cover Flow is not available. Either Apple would like the owners to upgrade or the hardware is simply not powerful enough. Pick your battle.

The solution: use Rockbox. It is a firmware replacement not only for Apple iPods but for a wide range of other popular music players. Since some time ago, it sports the PictureFlow plugin (still in continous development) which has the same idea as Cover Flow. This plugin is based on my PictureFlow Qt widget, something that I have mentioned before. The obligatory screenshot (courtesy of Jonas):

The good thing is, it is not limited to those iPods. At least, in the wiki page, it is reported that this PictureFlow plugin works for (among others) Sandisk Sansa e200/c200, Toshiba Gigabeat, Cowon iAudio X5, and iriver H300. For proofs, you can check some YouTube clips related to PictureFlow, for example:

Sunday, January 13, 2008

KDE 4.0 on OpenSUSE 10.3

KDE 4.0 is doubtlessly the most discussed KDE release at the moment. Some praise it, some don't really favor it. But whether you're going to like it or not, it's worth to, at least, give it a try.

If you use OpenSUSE 10.3, installing KDE 4.0 is very easy, it's just one-click away! Simply click on the following icon:

Wait few minutes (or hours), then you'll get the desktop:

KDE 4.0 on OpenSUSE 10.2

Update: and add some plasmoids to get something like

Plasmoids on KDE 4.0