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

Saturday, November 28, 2009

putu, kelepon, terang bulan

While enjoying this vacation, I managed to steal few hours to do some fun coding. Nothing spectacular, but it yielded something I will surely share in the near future. However, since I am still in the mood of bombing the planet again, here is another post with food pictures.

Something else we were glad to taste during our extremely short visit to Bandung were Putu and Kelepon, typically sold at the price of 1 EUR for 25 pieces. They are basically rice cake filled with palm sugar and served with grated coconut. Putu is steamed, while kelepon is boiled. The latter is also colored using pandan leaves.

putu and kelepon

While sampling culinary specialties means that we do not cook quite often, when the opportunity presents itself, it is of course a good feeling to eat something home-made once a while. Here is one: Terang Bulan (literally: bright moon). It is some sort of pancake, very similar to Martabak except Terang Bulan is filled with sugar, sprinkles, condensed milk, cheese, and the likes. Hence, it is also known as Martabak Manis (literally: sweet Martabak), a term that is somehow I dislike (because language-wise it is unnecessary as there exists a good name for that and thus it extends and pollutes the meaning of Martabak with a very weak reason).

The recipe? Check what this lady has posted. Terang Bulan is sweet and healthy (reduce the amount of sugar if in doubt), it makes for a good snack in the afternoon.

Home-made Terang Bulan

Last but not least: Eid Mubarak to everyone!

Tuesday, November 24, 2009

parijs van java

Somehow the wind finally leads me to Bandung, the place where I spent years studying at ITB. While still trying to absorb all the deja-vu sensations (last time I was here, when I left the place, was 6 years ago!), nothing beats having breakfast (and potentially also lunch and dinner later on) in one of those food stalls. Since I promised to write about my culinary excitement, here is one to pollute the planets (the aggregated blogs, not our blue marble): Kupat Tahu. Essentially it is fried tofu, bean sprouts, and lontong (compressed rice) served with peanut sauce and some crackers. That makes it for a good breakfast.

kupat tahu bandung

I will be in Bandung today and tomorrow, mostly just around the university. If you are around and want to have a chat, feel free to drop me an email!

Wednesday, November 04, 2009

english vs indonesian

One thing which recently made it into my reverse-culture-shock impact list is the widespread use of incomprehensible (read: broken), mixed-language expressions, potentially due to many reasons (to name a few: innocent show-off, following the mainstream, or just trying to look more "educated"). It starts with an easy one, like denoting the printer cartridge types as "black" and "color", i.e. in English, although we have good Indonesian words for that ("hitam" and "warna", in case you can't recall). The worse part is yet to come, it kills me when someone starts to sprinkle English words in an otherwise perfect sentence, e.g. "tapi you mesti ngajak aku to follow your, ehm [can't find the English words], kegiatan, which is sebenarnya quite interesting". This wonderful fragment is ridiculously non-sense for both foreigners who never learned Indonesian and for my fellow countrymen who do not know English at all.

Of course it won't surprise you if I say that you can easily find flyers and other promotion materials exactly using the same pattern. Just today we found a state-sponsored, free Shopping & Travelling Guide booklet featuring dozens of pages with English headings. Again, the contents are written in Indonesian. This leads to a number of striking typos and mistakes, one of which is shown here:

the typical typo

I have nothing against foreign languages (I have my share by learning few of them), but I also still love my wonderful mother tongue, Bahasa Indonesia.

Thursday, October 22, 2009

even QPainter has QPainter::end()

I came to Trolltech (then became Qt Software, then Qt Development Framework) early last year, at the time when the Trolls were busy stabilizing Qt 4.4. I was assigned to work on QtWebKit, so right from Day 0, I did carry out my best patching skills and committed my burst fixes as fast as I could. Qt 4.4.0 was released shortly after, followed by 4.4.1, and the remaining 4.4.x series.

Summer was fun. I learned a lot about WebKit, git, development workflow, the art of backporting, and a lot of other stuff. Together with Samuel, we did resurrect Graphics Dojo. Ever since, I am sure you spotted a bunch of biweekly graphics and WebKit examples I posted: 27 examples this year and 12 examples last year. Autumn brought me to my first Qt Developer Days 2008, both in Munich and Redwood City. We also did a bit of tour to the east coast, back to around Mountain View, and most importantly I got to know the best juice in the world.

at work

I completely forgot to blog about this, probably because it was not worth mentioning, but during this time I rightfully obtained my Ph.D degree (or rather the official Dr. -Ing). My 70-page dissertation is available for download, still I suggest reading the summary in the 8-page paper. FWIW, I passed with magna cum laude.

After the winter break (I did two trips to my home country), spring brought us the long-waited Qt 4.5 along with other blessings (LGPL, open repository, contribution model, S60 port). Qt for S60 was getting hot, I wrote a bunch of smaller examples, OpenStreetMap, ray casting, and some others, all of them showed up as new examples in Qt 4.6. After all, I am always thrilled to offer our valued customers some blue sky approaches and streamlined, breakthrough paradigm shifts so that they can better monetize their mission-critical, enterprise graphical applications in this quality-driven, business-focused Web 2.0 world :-)

It also meant the traveling time (for doing talks) started again for me. For a lowly code monkey like me, I am proud (on Nokia's behalf) that this year alone, I had delivered 5 (mostly successful) graphics-related presentations in open-source/developer conferences: Pycon Italia in Florence, LinuxTag in Berlin, and of course Akademy in Gran Canaria, Maemo Summit in Amsterdam and Qt Developer Days in Munich.

At this point, you can probably guess how it would end. Our last short, memorable vacation around Europe was enough hint. Yes, today is my last day in the office. Our flight back to Indonesia is due within few days. The parting is amicable and amiable. The Last Supper, for my (soon ex-) team mates has been served, too.

Spare the tears, follows is the actual resignation e-mail I sent to our internal mailing-list (the "Foul Stench Officer" refers to the durian incident back then). Last note: my e-mails ariya.hidayat@trolltech.com and ariya.hidayat@nokia.com will soon RIP.


Subject: Even QPainter has a QPainter::end() function
From: Ariya Hidayat <ariya.hidayat@trolltech.com>

After being involved in the affair of "connecting people" <insert the jingle here> for some time, I decided that it is the time to move on. If everything goes smoothly, then starting from November 1st (which is a good day, since November is the 11th Gregorian month and 11 is the first double-digit prime number) I would not work for QtSW anymore. Going through a lengthy discussion, my other (better) half and I finally came to a conclusion that Oslo, as beautiful as it is, is not really the place where we want to settle down, at least for the near future.

I still hesitate to definitely mention where I would be stationed by the end of this year. This is because many things depend on e.g. the visa process (as uncertain as the Schrödinger's cat), and being a citizen of a country stamped in the "terrorism haven" list does not really help. In the worst case, I will take a short leave in my career and spend time with my family, in some sunny city (comparable, if not better, than Las Palmas) in our home country. In the best case (finger crossed!), it will be another sunny city, somewhere in California (to avoid speculation, I can safely say beforehand: no, right now I have zero interest to work for a search engine or a fruit company).

I have been using Qt since my C++ skill was still a joke. Rest assured, I will be still using Qt in the future, at least for my personal pet projects and/or my spare-time joyful endeavor with KDE. And although it has nothing to do with Qt, I can proudly say that my coming professional activities will be still around open-source projects (surprise!).

It is an honor to serve with all of you, my fellow Trolls!

Your Chief Foul Stench Officer

END OF TRANSMISSION


graphics dojo in 2009: wrap-up

That is, 2009 is coming to its end. Some parts in Central Europe already enjoy the snow although Oslo still has a touch of autumn feeling.

Here is a list of biweekly Graphics Dojo examples that I managed to pull off this year. Most of them are available for Qt/C++ and PyQt.

Note that although the examples are categorized (for your convenience), often it does not strictly belong to one category, e.g. night mode is both a graphics and WebKit example. Also, all S60 examples are designed with S60 mind but they still run well on the desktop, too.

S60

Graphics

WebKit

JavaScript

Need more goodies? See also last year (2008) graphics dojo wrap-up.

Until next time.

Wednesday, October 21, 2009

kinetic scrolling: the state machine

Some of the slides from last Maemo Summit in Amsterdam have been made online. Here is the one from the Cross Platform with Qt talk that I held. It does not give much, though, since mostly what counts is the real live demo. Let us hope that at some point in time, the recorded videos will be online as well. Of course, there are also other interesting slides such as Harmattan highlights and its architecture, Web Runtime, Quake3, and many others.

While I am there, if you check the slides from my talk above, page 9 shows the secret behind kinetic scrolling code, which I featured before as Flick Charm or Flickable interface. Or, in another version as follows (click to enlarge):

Of course, it is the simplified version and ignore some details, but that should be a good start to really digest the code. Since it was hacked in the old 4.4/4.5 time, I did not have the luxury of using the new state machine framework in Qt 4.6. As an exercise for you, the brave readers, convert the code to use the framework. In addition, it does not support yet bouncing-on-edge feature, something which can serve as another exercise, too.

Have fun with scrolling :)

Tuesday, October 20, 2009

Chromium on OpenSUSE

Though Google Chrome for Linux is not yet officially announced, people have been working to make Chromium, the open-source version thereof, available for different popular distributions. I wrote before about CrossOver Chromium, but not only this is just a hack, it is also not up-to-date at all. The easiest way for OpenSUSE 11.1 users is to use the package from Contrib.

Though for veteran OpenSUSE fans, the steps to install Chromium are obvious, here I write down the idiot-proof version. Go to http://software.opensuse.org/search, type Chromium and click the Search button, wait for a moment, find the entry from openSUSE:Factory:Contrib/openSUSE_11.1, then well, click on the 1-Click Install button there. Follow the usual installation guides (mostly just agreeing and confirming some stuff), then in few minutes you will get:

Who says installing software in Linux is difficult? :)

Sunday, October 18, 2009

from autumn to winter

The wave of cold weather is approaching us, the nature's way of saying Wind of Change. While some parts of Europe enjoy the snow already, Oslo is relative still calm and actually enjoyable, even in the afternoon, for a walk.

from autumn to winter

(Picture was taken and shared to Flickr using Nokia N900 :)

Friday, October 16, 2009

bye munich (and D2)

After kickstarted on Tuesday, Qt Developer Days 2009 Munich has ended. Some of us, the Trolls, are already back in Oslo, recovering from the intense adrenalin kicks within the last 72 hours (or more). The extra surprise was to experience the first snow in Munich (and this is still mid October!). Most must recharge pretty fast, considering the San Francisco version of the event is in about two weeks time.

There already a bunch of articles covering the event which show up in some sites, Aron has most of them in his wrap-up blog entry. More links are and will be available via qtbynokia twitter. Fancy some pictures instead? Search for qtdd09 tag on Flickr and enjoy them!

As for me, I am glad that this is finally over. It's all about people: it was exciting to meet old friends and make new ones. In addition, my Special FX with Graphics View talk was well received (the room was jam-packed), I got some very interesting feedback and questions to follow-up. The other talk, Copy Your Favourite Nokia App with Qt, was a bit quiet (the typical problem of all presentations in the afternoon of the last day) but still, it was as interactive as it could be.

This mini wrap-up is not complete without food photos. While we were in Munich, we ventured some different possibilities for dinner. Let me just show you two of them: Low-carb Seafood and Biryani:

Low-carb Meal (with Seafood)

Biryani

Tuesday, October 13, 2009

Qt Developer Days 2009 - Live

Like I mentioned before, now I am in Munich for Qt Developer Days 2009. The training sessions started yesterday already, the plenary was initiated this morning as we had the keynotes from Sebastian, Lars, Walter, and Matthias. We are now in the middle of lunch break, the technical track will start very soon.

Qt Everywhere

This is the biggest Qt Developer Days so far, we have over 650 participants (last year it was only around 400). Can you imagine now what happens during the lunch break? Hint: the queue. As a nice touch, we even show a coffee machine running Qt:

I will have two talks tomorrow (Day 2) for the Innovate track: Special FX with Graphics View and Copy Your Favourite Nokia App with Qt. See you there!

Sunday, October 11, 2009

bye amsterdam. next stop: munich

Today is the last day of Maemo Summit 2009. I am sure the news spreads quickly; everyone and his uncle know already that Nokia lends around 300 shiny N900 (preproduction devices), worth 500 EUR, to the summit participants, excluding Nokia employees and contractors. It's Christmas in Amsterdam!

I had done my Cross Platform with Qt talk, I was quite content with it (that hopelessly small room was jam-packed). There were (and still will be) many other interesting tracks as well. For the detailed coverage, check out All About Maemo site, they are doing great jobs keeping the rest of the world up-to-date with the latest excitements from WesterGasFabriek.

While waiting in Schiphol for my next flight to Munich (for Qt Developer Days 2009), I had a quick glance at some of photos taken in the last few days. Let me just post one:

Nasi Rames

One evening, we picked Restaurant Sari Citra for our dinner. It serves Indonesian cuisine, the proof is the picture above. You have the choice to mix your own rice dish, such Nasi Kuning (rice with coconut milk and turmeric) with Tempe Kering (slices of fried, crispy tempe mixed with peanuts), Perkedel Kentang (mashed potato fritters) along with a wide selection of vegetables. Authentic experience with a reasonable price. Everyone enjoyed the dinner; happy Trolls :)

And see you in Munich!

Friday, October 09, 2009

Maemo Summit 2009 - Live

Like mentioned before, with other few Trolls, we are now in Amsterdam for the Maemo Summit 2009. If you are there, don't forget to look for us and/or drop us a visit!

Maemo Summit 2009