<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-17722541</id><updated>2009-11-25T23:51:00.396+01:00</updated><title type='text'>D.C.T.W.Y.C.D.T</title><subtitle type='html'>don't code today what you can't debug tomorrow</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default?start-index=26&amp;max-results=25'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>435</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17722541.post-123952866131938330</id><published>2009-11-24T02:41:00.002+01:00</published><updated>2009-11-24T02:44:31.742+01:00</updated><title type='text'>parijs van java</title><content type='html'>&lt;p&gt;Somehow the wind finally leads me to &lt;a href="http://en.wikipedia.org/wiki/Bandung"&gt;Bandung&lt;/a&gt;, the place where I spent years
studying at &lt;a href="http://en.wikipedia.org/wiki/Institut_Teknologi_Bandung"&gt;ITB&lt;/a&gt;. 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): &lt;i&gt;Kupat
Tahu&lt;/i&gt;. Essentially it is fried tofu, bean sprouts, and &lt;a href="http://en.wikipedia.org/wiki/Lontong"&gt;lontong&lt;/a&gt; (compressed rice)
served with peanut sauce and some crackers. That makes it for a good breakfast.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/4129082463/" title="kupat
tahu bandung by Ariya Hidayat, on Flickr"&gt;&lt;img
src="http://farm3.static.flickr.com/2751/4129082463_3b4ae36860.jpg" width="500"
height="333" alt="kupat tahu bandung"  style="border: solid #cccccc 1px;
padding: 5px;"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-123952866131938330?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/123952866131938330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=123952866131938330' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/123952866131938330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/123952866131938330'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/11/parijs-van-java.html' title='parijs van java'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-592034346360572845</id><published>2009-11-04T23:04:00.002+01:00</published><updated>2009-11-04T23:07:35.921+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vacation'/><category scheme='http://www.blogger.com/atom/ns#' term='musing'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>english vs indonesian</title><content type='html'>&lt;p&gt;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 &amp;quot;educated&amp;quot;). It starts with
an easy one, like denoting the printer cartridge types as &amp;quot;black&amp;quot; and
&amp;quot;color&amp;quot;, i.e. in English, although we have good Indonesian words for
that (&amp;quot;hitam&amp;quot; and &amp;quot;warna&amp;quot;, 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. &amp;quot;tapi &lt;i&gt;you&lt;/i&gt; mesti ngajak
aku &lt;i&gt;to follow your&lt;/i&gt;, ehm [can't find the English words], kegiatan,
&lt;i&gt;which is&lt;/i&gt; sebenarnya &lt;i&gt;quite interesting&lt;/i&gt;&amp;quot;. 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.&lt;/p&gt;

&lt;p&gt;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 &lt;i&gt;Shopping &amp;amp; Travelling Guide&lt;/i&gt; 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:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/4075534791/" title="the
typical typo by Ariya Hidayat, on Flickr"&gt;&lt;img
src="http://farm4.static.flickr.com/3502/4075534791_e0394e1b66.jpg" width="500"
height="376" alt="the typical typo" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have nothing against foreign languages (I have my share by learning few of
them), but I also still love my wonderful mother tongue, &lt;a
href="http://en.wikipedia.org/wiki/Bahasa_Indonesia"&gt;Bahasa Indonesia&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-592034346360572845?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/592034346360572845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=592034346360572845' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/592034346360572845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/592034346360572845'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/11/english-vs-indonesian.html' title='english vs indonesian'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-1684525204155885490</id><published>2009-10-22T12:26:00.001+02:00</published><updated>2009-10-22T12:28:01.209+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='musing'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><title type='text'>even QPainter has QPainter::end()</title><content type='html'>&lt;p&gt;&lt;a href="http://ariya.blogspot.com/2008/04/i-think-im-moving-but-i-got-nowhere.html"&gt;I came to Trolltech&lt;/a&gt; (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 &lt;a href="http://qt.nokia.com/doc/qtwebkit.html"&gt;QtWebKit&lt;/a&gt;, so right from Day 0, I did carry out my best patching skills and committed my &lt;a href="http://trac.webkit.org/search?q=Ariya+Hidayat&amp;noquickjump=1&amp;changeset=on"&gt;burst fixes&lt;/a&gt; as fast as I could. &lt;a href="http://ariya.blogspot.com/2008/05/quattro-quattro-zero.html"&gt;Qt 4.4.0 was released&lt;/a&gt; shortly after, followed by &lt;a href="http://ariya.blogspot.com/2008/08/quattro-quattro-uno.html"&gt;4.4.1&lt;/a&gt;, and the remaining 4.4.x series.&lt;/p&gt;

&lt;p&gt;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 &lt;a href="http://ariya.blogspot.com/2008/06/return-of-graphics-dojo-opengl.html"&gt;did resurrect Graphics Dojo&lt;/a&gt;. Ever since, I am sure you spotted a bunch of biweekly &lt;a href="http://labs.qt.nokia.com/blogs/author/ariya"&gt;graphics and WebKit examples&lt;/a&gt; I posted: 27 examples &lt;a href="http://ariya.blogspot.com/2009/10/graphics-dojo-in-2009-wrap-up.html"&gt;this year&lt;/a&gt; and 12 examples &lt;a href="http://ariya.blogspot.com/2008/12/graphics-dojo-in-2008-wrap-up.html"&gt;last year&lt;/a&gt;. Autumn brought me to my first Qt Developer Days 2008, both in &lt;a href="http://ariya.blogspot.com/2008/10/bye-munich-see-you-in-us.html"&gt;Munich&lt;/a&gt; and &lt;a href="http://ariya.blogspot.com/2008/10/kde-qt.html"&gt;Redwood City&lt;/a&gt;. We also did a bit of tour to &lt;a href="http://ariya.blogspot.com/2008/10/breaking-new-ground.html"&gt;the east coast&lt;/a&gt;, back to &lt;a href="http://ariya.blogspot.com/2008/11/summer-of-code-2008-mentor-summit.html"&gt;around Mountain View&lt;/a&gt;, and most importantly I got to know the &lt;a href="http://ariya.blogspot.com/2008/11/i-chose-this-mortal-life.html"&gt;best juice&lt;/a&gt; in the world.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/3959014488/" title="at work by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2581/3959014488_ef2edfb6a9.jpg" width="500" height="376" alt="at work" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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 &lt;a href="http://en.wikipedia.org/wiki/Doctorate#Germany"&gt;Dr.&amp;nbsp;-Ing&lt;/a&gt;). My 70-page dissertation is &lt;a href="http://ubdok.uni-paderborn.de/servlets/DocumentServlet?id=10598"&gt;available for download&lt;/a&gt;, still I suggest reading the summary in &lt;a href="http://ariya.blogspot.com/2008/11/world-fastest-optical-polarization.html"&gt;the 8-page paper&lt;/a&gt;. FWIW, I passed with &lt;i&gt;magna cum laude&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;After the winter break (I did &lt;a href="http://ariya.blogspot.com/2008/12/knocked-out.html"&gt;two trips&lt;/a&gt; to my home country), spring brought us the long-waited &lt;a href="http://ariya.blogspot.com/2009/03/quattro-cinque-zero.html"&gt;Qt 4.5&lt;/a&gt; along with &lt;a href="http://ariya.blogspot.com/2009/06/all-blessings-in-may.html"&gt;other blessings&lt;/a&gt; (LGPL, open repository, contribution model, S60 port). Qt for S60 was getting hot, I wrote a bunch of &lt;a href="http://ariya.blogspot.com/2009/07/like-startling-sign-that-fate-had.html"&gt;smaller examples&lt;/a&gt;, &lt;a href="http://ariya.blogspot.com/2009/08/again-map-of-my-world-gets-smaller-as-i.html"&gt;OpenStreetMap&lt;/a&gt;, &lt;a href="http://ariya.blogspot.com/2009/09/frozen-in-headlights-have-i-made-final.html"&gt;ray casting&lt;/a&gt;, and some others, all of them showed up as &lt;a href="http://labs.qt.nokia.com/blogs/2009/10/14/qt-460-beta1-for-symbian-is-out/"&gt;new examples&lt;/a&gt; in Qt 4.6.  After all, I am always thrilled to offer our valued customers some &lt;i&gt;blue sky&lt;/i&gt; approaches and &lt;i&gt;streamlined, breakthrough paradigm shifts&lt;/i&gt; so that they can better &lt;i&gt;monetize&lt;/i&gt; their &lt;i&gt;mission-critical, enterprise&lt;/i&gt; graphical applications in this &lt;i&gt;quality-driven, business-focused Web 2.0&lt;/i&gt; world :-)&lt;/p&gt;

&lt;p&gt;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: &lt;a href="http://ariya.blogspot.com/2009/05/daylight-seems-to-want-you-just-as-much.html"&gt;Pycon Italia&lt;/a&gt; in Florence, &lt;a href="http://ariya.blogspot.com/2009/06/and-only-chance-we-have-of-moving-on.html"&gt;LinuxTag&lt;/a&gt; in Berlin, and of course &lt;a href="http://ariya.blogspot.com/2009/07/paella-de-marisco.html"&gt;Akademy&lt;/a&gt; in Gran Canaria, &lt;a href="http://ariya.blogspot.com/2009/10/bye-amsterdam-next-stop-munich.html"&gt;Maemo Summit&lt;/a&gt; in Amsterdam and &lt;a href="http://ariya.blogspot.com/2009/10/bye-munich-and-d2.html"&gt;Qt Developer Days&lt;/a&gt; in Munich.&lt;/p&gt;

&lt;p&gt;At this point, you can probably guess how it would end. Our &lt;a href="http://ariya.blogspot.com/2009/10/paris-lisbon-madrid.html"&gt;last short, memorable vacation&lt;/a&gt; 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. &lt;a href="http://ariya.blogspot.com/2009/10/webkit-dinner-gado-gado-nasi-uduk.html"&gt;The Last Supper&lt;/a&gt;, for my (soon ex-) team mates has been served, too.&lt;/p&gt;

&lt;p&gt;Spare the tears, follows is the actual resignation e-mail I sent to our internal mailing-list (the &amp;quot;Foul Stench Officer&amp;quot; refers to &lt;a href="http://ariya.blogspot.com/2009/03/for-glorious-nation.html"&gt;the durian incident&lt;/a&gt; back then). Last note: my e-mails ariya.hidayat@trolltech.com and ariya.hidayat@nokia.com will soon RIP.&lt;/p&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;i&gt;Subject: Even QPainter has a QPainter::end() function&lt;br&gt;
From: Ariya Hidayat &amp;lt;ariya.hidayat@trolltech.com&amp;gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;After being involved in the affair of &amp;quot;connecting people&amp;quot;  &amp;lt;insert the jingle
here&amp;gt; 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.&lt;/p&gt;

&lt;p&gt;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 &amp;quot;terrorism haven&amp;quot; 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).&lt;/p&gt;

&lt;p&gt;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!).&lt;/p&gt;

&lt;p&gt;It is an honor to serve with all of you, my fellow Trolls!&lt;/p&gt;

&lt;p&gt;Your Chief Foul Stench Officer&lt;/p&gt;

&lt;p&gt;END OF TRANSMISSION&lt;/p&gt;

&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-1684525204155885490?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/1684525204155885490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=1684525204155885490' title='22 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/1684525204155885490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/1684525204155885490'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/10/even-qpainter-has-qpainterend.html' title='even QPainter has QPainter::end()'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>22</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-2775458699172697686</id><published>2009-10-22T12:07:00.002+02:00</published><updated>2009-10-22T12:10:16.745+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webkit'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='musing'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>graphics dojo in 2009: wrap-up</title><content type='html'>&lt;p&gt;That is, 2009 is coming to its end. Some parts in Central Europe already enjoy the snow although Oslo still has a touch of &lt;a href="http://ariya.blogspot.com/2009/10/from-autumn-to-winter.html"&gt;autumn feeling&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here is a list of biweekly &lt;a href="http://labs.qt.nokia.com/blogs/author/ariya/"&gt;Graphics Dojo examples&lt;/a&gt; that I managed to pull off this year. Most of them are available for Qt/C++ and PyQt.&lt;/p&gt;

&lt;p&gt;Note that although the examples are categorized (for your convenience), often it does not strictly belong to one category, e.g. &lt;i&gt;night mode&lt;/i&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;S60&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;Wolfenstein-like &lt;a href="http://labs.qt.nokia.com/blogs/2009/08/09/ray-casting-on-qts60/"&gt;ray casting&lt;/a&gt; in your pocket.&lt;/li&gt;

&lt;li&gt;Maps solution &lt;a href="http://labs.qt.nokia.com/blogs/2009/08/04/openstreetmap-and-qt-and-s60/"&gt;using OpenStreetMap&lt;/a&gt;, of course running on the phone, too.&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/07/26/track-your-flight-with-qts60/"&gt;Flight tracking utility&lt;/a&gt;, useful to check the status and time.&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/07/22/weather-info-for-qts60/"&gt;Weather info on your pocket&lt;/a&gt;.&lt;/li&gt;

&lt;li&gt;Still about kinetic scrolling, now with &lt;a href="http://labs.qt.nokia.com/blogs/2009/07/19/kinetic-scrolling-on-any-widgets/"&gt;a Flickable interface&lt;/a&gt; that works smooth also on a phone.&lt;/li&gt;

&lt;li&gt;Suitable for your S60 phone: &lt;a href="http://labs.qt.nokia.com/blogs/2009/07/15/digital-clock-in-a-phone/"&gt;flipping digital clock&lt;/a&gt;.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Graphics&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;Reborn/recycled &lt;a href="http://labs.qt.nokia.com/blogs/2009/10/22/home-screen-with-parallax-effect/"&gt;parallax effect&lt;/a&gt; for the home screen.&lt;/li&gt;

&lt;li&gt;Simplified &lt;a href="http://labs.qt.nokia.com/blogs/2009/10/07/magnifying-glass/"&gt;magnifying glass&lt;/a&gt; trick.&lt;/li&gt;

&lt;li&gt;A simple trick to get &lt;a href="http://labs.qt.nokia.com/blogs/2009/06/09/night-mode-in-qwebview/"&gt;the night-mode vision&lt;/a&gt;, just like in some navigation system.&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/03/20/moving-top-level-window-by-dragging/"&gt;DragMove charm&lt;/a&gt; to allow widget moving by dragging&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/03/03/qtimeline-made-easy/"&gt;simple timeline demo&lt;/a&gt; along with a custom S-shape curve&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/01/26/creating-thumbnail-preview/"&gt;thumbnail preview&lt;/a&gt; via a fast cheat-scaling trick.&lt;/li&gt;

&lt;li&gt;cheap trick to &lt;a href="http://labs.qt.nokia.com/blogs/2009/01/20/50-scaling-of-argb32-image/"&gt;half-scale ARGB32 image&lt;/a&gt; very fast.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;WebKit&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;Doing a talk? Use &lt;a href="http://labs.qt.nokia.com/blogs/2009/08/25/presentation-with-s5/"&gt;a presentation tool&lt;/a&gt; purely based on web technologies.&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/07/29/maps-with-a-magnifying-glass/"&gt;Magnifying glass trick&lt;/a&gt; with Google Maps.&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/06/30/transparent-qwebview-or-qwebpage/"&gt;Make your QWebView transparent&lt;/a&gt; to achieve some interesting effect.&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/06/06/qwebview-snap-scrolling/"&gt;snap-scrolling in QWebView&lt;/a&gt;, useful for small-screen browser.&lt;/li&gt;

&lt;li&gt;Need to do a visual web scraping? This little &lt;a href="http://labs.qt.nokia.com/blogs/2009/06/02/weather-applet-again/"&gt;weather applet&lt;/a&gt;, which scraps the Google-provided page, might be a good start.&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/04/17/jquery-and-qwebelement/"&gt;Use jQuery, enjoy selector goodies&lt;/a&gt; with QtWebKit&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/03/20/google-suggest-made-easy/"&gt;simple example&lt;/a&gt; to integrate Google Suggest&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/03/12/wysiwyg-html-editor/"&gt;WYSIWYG HTML Editor&lt;/a&gt; using QtWebKit&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/03/08/creating-a-google-chat-client-in-15-minutes/"&gt;Google chat client&lt;/a&gt; made in 15 minutes&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/01/15/capturing-web-pages/"&gt;web capture&lt;/a&gt;, a tool to take a snapshot of web pages.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;JavaScript&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;Run &lt;a href="http://labs.qt.nokia.com/blogs/2009/04/15/monster-evolution-in-qt-episode-3-revenge-of-the-cylinders/"&gt;Monster Evolution demo&lt;/a&gt; with Qt and V8 (the JavaScript engine behind Google Chrome)&lt;/li&gt;

&lt;li&gt;Still about Monster, but &lt;a href="http://labs.qt.nokia.com/blogs/2009/04/07/monster-evolution-in-qt-episode-2-attack-of-the-squirrelfish/"&gt;now with JavaScriptCore of QtWebKit&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Or, just run this cool Monster Evolution &lt;a href="http://labs.qt.nokia.com/blogs/2009/04/03/monster-evolution-in-qt-part-1-using-qt-script/"&gt;demo with QtScript&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/blogs/2009/01/06/simple-qtscript-based-bar-chart/"&gt;simple bar chart&lt;/a&gt; using QtScript.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Need more goodies? See also &lt;a href="http://ariya.blogspot.com/2008/12/graphics-dojo-in-2008-wrap-up.html"&gt;last year (2008) graphics dojo wrap-up&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Until next time.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-2775458699172697686?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/2775458699172697686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=2775458699172697686' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/2775458699172697686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/2775458699172697686'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/10/graphics-dojo-in-2009-wrap-up.html' title='graphics dojo in 2009: wrap-up'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-1213154768676535639</id><published>2009-10-21T19:18:00.001+02:00</published><updated>2009-10-21T19:18:44.313+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='tip'/><category scheme='http://www.blogger.com/atom/ns#' term='amsterdam'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='kinetic'/><category scheme='http://www.blogger.com/atom/ns#' term='maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>kinetic scrolling: the state machine</title><content type='html'>&lt;p&gt;Some of the slides from &lt;a href="http://ariya.blogspot.com/2009/10/bye-amsterdam-next-stop-munich.html"&gt;last Maemo Summit in Amsterdam&lt;/a&gt; have been made online. Here is the one from the &lt;a href="http://wiki.maemo.org/Maemo_Summit_2009/Schedule/Day_1#Cross-platform_with_Qt_-_live"&gt;Cross Platform with Qt&lt;/a&gt; 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 &lt;a href="
http://www.slideshare.net/peterschneider/maemo-5-developer-offering"&gt;Harmattan highlights&lt;/a&gt; and its &lt;a href="http://www.slideshare.net/jtukkine/maemo-6-harmattan-architecture-overview"&gt;architecture&lt;/a&gt;, &lt;a href="http://www.slideshare.net/olevine/handson-development-with-nokia-web-runtime"&gt;Web Runtime&lt;/a&gt;, &lt;a href="http://www.slideshare.net/omcfadde/maemo-summit-quake3"&gt;Quake3&lt;/a&gt;, and many others.&lt;/p&gt;

&lt;div style="width:425px;text-align:left" id="__ss_2290669"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/qtbynokia/cross-platform-qt" title="Cross Platform Qt"&gt;Cross Platform Qt&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=crossplatformqt-091020061123-phpapp02&amp;stripped_title=cross-platform-qt" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=crossplatformqt-091020061123-phpapp02&amp;stripped_title=cross-platform-qt" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;documents&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/qtbynokia"&gt;Nokia, Qt Development Frameworks&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;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 &lt;a href="http://labs.qt.nokia.com/blogs/2008/11/15/flick-list-or-kinetic-scrolling/"&gt;Flick Charm&lt;/a&gt; or &lt;a href="http://labs.qt.nokia.com/blogs/2009/07/19/kinetic-scrolling-on-any-widgets/"&gt;Flickable interface&lt;/a&gt;. Or, in another version as follows (click to enlarge):&lt;/p&gt;

&lt;p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/6-C8GONsD7zEJDw0_LcZtQ?feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_Oijhf1ZPv-4/St3bSQsHyUI/AAAAAAAABZo/hiX14I8CZDQ/s400/kinetic_scrolling.png" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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 &lt;a href="http://qt.nokia.com/doc/4.6-snapshot/qt4-6-intro.html#state-machine-framework"&gt;state machine framework&lt;/a&gt; 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.&lt;/p&gt;

&lt;p&gt;Have fun with scrolling :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-1213154768676535639?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/1213154768676535639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=1213154768676535639' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/1213154768676535639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/1213154768676535639'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/10/kinetic-scrolling-state-machine.html' title='kinetic scrolling: the state machine'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_Oijhf1ZPv-4/St3bSQsHyUI/AAAAAAAABZo/hiX14I8CZDQ/s72-c/kinetic_scrolling.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-1123286046163554012</id><published>2009-10-20T09:36:00.001+02:00</published><updated>2009-10-20T09:38:20.936+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webkit'/><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='tip'/><category scheme='http://www.blogger.com/atom/ns#' term='chromium'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>Chromium on OpenSUSE</title><content type='html'>&lt;p&gt;Though Google Chrome &lt;a href="http://www.google.com/chrome/intl/en/linux.html"&gt;for Linux&lt;/a&gt; is not yet officially announced, people have been working to make Chromium, the open-source version thereof, available for different popular distributions. &lt;a href="http://ariya.blogspot.com/2008/09/on-crossover-chromium-way-for-chrome-on.html"&gt;I wrote before&lt;/a&gt; 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 &lt;a href="http://stick.gk2.sk/blog/2009/10/chromium-package-in-contrib/"&gt;the package from Contrib&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Though for veteran OpenSUSE fans, the steps to install Chromium are obvious, here I write down the idiot-proof version. Go to &lt;a href="http://software.opensuse.org/search"&gt;http://software.opensuse.org/search&lt;/a&gt;, 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 &lt;i&gt;1-Click Install&lt;/i&gt; button there. Follow the usual installation guides (mostly just agreeing and confirming some stuff), then in few minutes you will get:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/zNp3usH_PgJSzd-KVXg0qw?feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_Oijhf1ZPv-4/Stz50q-7FII/AAAAAAAABZc/i6wdY5hyVhQ/s400/chromium_opensuse.png" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Who says installing software in Linux is difficult? :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-1123286046163554012?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/1123286046163554012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=1123286046163554012' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/1123286046163554012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/1123286046163554012'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/10/chromium-on-opensuse.html' title='Chromium on OpenSUSE'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_Oijhf1ZPv-4/Stz50q-7FII/AAAAAAAABZc/i6wdY5hyVhQ/s72-c/chromium_opensuse.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-8602557259704822750</id><published>2009-10-18T20:05:00.000+02:00</published><updated>2009-10-18T20:06:16.436+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='musing'/><category scheme='http://www.blogger.com/atom/ns#' term='oslo'/><title type='text'>from autumn to winter</title><content type='html'>&lt;p&gt;The wave of cold weather is approaching us, the nature's way of saying &lt;i&gt;Wind of Change&lt;/i&gt;. While some parts of Europe enjoy the snow already, Oslo is relative still calm and actually enjoyable, even in the afternoon, for a walk.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/4022408597/" title="from autumn to winter by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3087/4022408597_037425e39f.jpg" width="500" height="376" alt="from autumn to winter" border="0" style="border: solid #cccccc 1px; padding: 5px;" /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;(Picture was taken and shared to Flickr using Nokia N900 :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-8602557259704822750?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/8602557259704822750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=8602557259704822750' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/8602557259704822750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/8602557259704822750'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/10/from-autumn-to-winter.html' title='from autumn to winter'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-1927703785520232226</id><published>2009-10-16T17:03:00.000+02:00</published><updated>2009-10-16T17:04:30.640+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='munich'/><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='devdays'/><category scheme='http://www.blogger.com/atom/ns#' term='food'/><title type='text'>bye munich (and D2)</title><content type='html'>&lt;p&gt;After &lt;a href="http://ariya.blogspot.com/2009/10/qt-developer-days-2009-live.html"&gt;kickstarted on Tuesday&lt;/a&gt;, 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 &lt;a href="http://qt.nokia.com/qtdevdays2009/hotel-and-travel#qt-developer-days-san"&gt;San Francisco version&lt;/a&gt; of the event is in about two weeks time.&lt;/p&gt;

&lt;p&gt;There already a bunch of articles &lt;a href="http://news.google.com/news/search?q=nokia+qt+developer+days"&gt;covering the event&lt;/a&gt; which show up in some sites, Aron has most of them in &lt;a href="http://blog.qt.nokia.com/2009/10/14/qt-developer-days-munich-and-thats-a-wrap/"&gt;his wrap-up blog entry&lt;/a&gt;. More links are and will be available via &lt;a href="http://twitter.com/qtbynokia"&gt;qtbynokia twitter&lt;/a&gt;. Fancy some pictures instead? Search for &lt;a href="http://www.flickr.com/photos/tags/qtdd09/"&gt;qtdd09 tag on Flickr&lt;/a&gt; and enjoy them!&lt;/p&gt;

&lt;p&gt;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 &lt;b&gt;Special FX with Graphics View&lt;/b&gt; talk was well received (the room was jam-packed), I got some very interesting feedback and questions to follow-up. The other talk, &lt;b&gt;Copy Your Favourite Nokia App with Qt&lt;/b&gt;, 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.&lt;/p&gt;

&lt;p&gt;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:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/4016467020/" title="Low-carb Meal (with Seafood) by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2610/4016467020_a2768d3556.jpg" width="500" height="334" alt="Low-carb Meal (with Seafood)"  border="0" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/4016467018/" title="Biryani by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3495/4016467018_1d17e5dec9.jpg" width="500" height="334" alt="Biryani" border="0" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-1927703785520232226?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/1927703785520232226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=1927703785520232226' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/1927703785520232226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/1927703785520232226'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/10/bye-munich-and-d2.html' title='bye munich (and D2)'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-5584330780890543480</id><published>2009-10-13T12:26:00.005+02:00</published><updated>2009-10-13T12:41:36.558+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='munich'/><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='devdays'/><category scheme='http://www.blogger.com/atom/ns#' term='effect'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>Qt Developer Days 2009 - Live</title><content type='html'>&lt;p&gt;Like &lt;a href="http://ariya.blogspot.com/2009/10/bye-amsterdam-next-stop-munich.html"&gt;I mentioned before&lt;/a&gt;, 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 &lt;a href="http://qt.nokia.com/qtdevdays2009/agenda#general-sessions-keynotes"&gt;the keynotes&lt;/a&gt; from Sebastian, Lars, Walter, and Matthias. We are now in the middle of lunch break, the technical track will start very soon.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/N1oZZpGcFUA2tX5V8XWf6Q?authkey=Gv1sRgCLqSjOHtuvSBMA&amp;feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_Oijhf1ZPv-4/StRV7HhOEEI/AAAAAAAABY0/vB5SdnMpfKY/s400/2009-10-13%2009.22.34.jpg" border="0" alt="Qt Everywhere"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the biggest Qt Developer Days so far, we have over 650 participants (&lt;a href="http://ariya.blogspot.com/2008/10/bye-munich-see-you-in-us.html"&gt;last year&lt;/a&gt; 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:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/8ooMswIyq-MagQ-jvSo_3g?authkey=Gv1sRgCLqSjOHtuvSBMA&amp;feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_Oijhf1ZPv-4/StRXtdD5AjI/AAAAAAAABY8/W-pxjpODyOY/s400/2009-10-13%2011.34.44.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will have two talks tomorrow (Day 2) for the &lt;a href="http://qt.nokia.com/qtdevdays2009/qt-technical-sessions#innovate"&gt;Innovate track&lt;/a&gt;: &lt;b&gt;Special FX with Graphics View&lt;/b&gt; and &lt;b&gt;Copy Your Favourite Nokia App with Qt&lt;/b&gt;. See you there!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-5584330780890543480?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/5584330780890543480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=5584330780890543480' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/5584330780890543480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/5584330780890543480'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/10/qt-developer-days-2009-live.html' title='Qt Developer Days 2009 - Live'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_Oijhf1ZPv-4/StRV7HhOEEI/AAAAAAAABY0/vB5SdnMpfKY/s72-c/2009-10-13%2009.22.34.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-8965128976765663206</id><published>2009-10-11T10:53:00.001+02:00</published><updated>2009-10-11T10:54:38.504+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='tip'/><category scheme='http://www.blogger.com/atom/ns#' term='amsterdam'/><category scheme='http://www.blogger.com/atom/ns#' term='maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='food'/><title type='text'>bye amsterdam. next stop: munich</title><content type='html'>&lt;p&gt;Today is the last day of &lt;a href="http://wiki.maemo.org/Maemo_Summit_2009"&gt;Maemo Summit 2009&lt;/a&gt;. I am sure the news spreads quickly; everyone and his uncle know already that Nokia lends around 300 shiny &lt;a href="http://maemo.nokia.com/n900/"&gt;N900&lt;/a&gt; (preproduction devices), worth 500 EUR, to the summit participants, excluding Nokia employees and contractors. It's Christmas in Amsterdam!&lt;/p&gt;

&lt;p&gt;I had done my &lt;a href="http://wiki.maemo.org/Maemo_Summit_2009/Schedule/Day_1#Cross-platform_with_Qt_-_live"&gt;Cross Platform with Qt&lt;/a&gt; talk, I was quite content with it (that hopelessly small room was jam-packed). There were (and still will be) many &lt;a href="http://wiki.maemo.org/Maemo_Summit_2009/Schedule"&gt;other interesting tracks&lt;/a&gt; as well. For the detailed coverage, check out &lt;a href="http://www.allaboutmaemo.com"&gt;All About Maemo&lt;/a&gt; site, they are doing great jobs keeping the rest of the world up-to-date with the latest excitements from WesterGasFabriek.&lt;/p&gt;

&lt;p&gt;While waiting in &lt;a href="http://en.wikipedia.org/wiki/Amsterdam_Airport_Schiphol"&gt;Schiphol&lt;/a&gt; for my next flight to Munich (for &lt;a href="http://ariya.blogspot.com/2009/07/2009-developer-days.html"&gt;Qt Developer Days 2009&lt;/a&gt;), I had a quick glance at some of photos taken in the last few days. Let me just post one:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/4000606252/" title="Nasi Rames by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2642/4000606252_56b58bb6b2.jpg" width="500" height="333" alt="Nasi Rames"  border="0" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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 &lt;a href="http://en.wikipedia.org/wiki/Nasi_Campur"&gt;mix your own rice dish&lt;/a&gt;, such &lt;a href="http://en.wikipedia.org/wiki/Nasi_kuning"&gt;Nasi Kuning&lt;/a&gt; (rice with coconut milk and turmeric) with &lt;a href="http://en.wikipedia.org/wiki/Tempeh"&gt;Tempe Kering&lt;/a&gt; (slices of fried, crispy tempe mixed with peanuts), &lt;a href="http://id.wikipedia.org/wiki/Perkedel"&gt;Perkedel Kentang&lt;/a&gt; (mashed potato fritters) along with a wide selection of vegetables. Authentic experience with a reasonable price. Everyone enjoyed the dinner; happy Trolls :)&lt;/p&gt;

&lt;p&gt;And see you in Munich!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-8965128976765663206?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/8965128976765663206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=8965128976765663206' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/8965128976765663206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/8965128976765663206'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/10/bye-amsterdam-next-stop-munich.html' title='bye amsterdam. next stop: munich'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-4407254402953406753</id><published>2009-10-09T10:44:00.000+02:00</published><updated>2009-10-09T10:45:34.489+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='amsterdam'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Maemo Summit 2009 - Live</title><content type='html'>&lt;p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/UUBxW5DBZ8ZErYAn213Ayw?authkey=Gv1sRgCLqSjOHtuvSBMA&amp;feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_Oijhf1ZPv-4/Ss72-SkR42I/AAAAAAAABYY/oiZpJnM5_bw/s400/2009-10-09%2010.39.40.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Like &lt;a href="http://ariya.blogspot.com/2009/09/maemo-summit-2009-amsterdam-9-11-oct.html"&gt;mentioned before&lt;/a&gt;, with other few Trolls, we are now in Amsterdam for the &lt;a href="http://wiki.maemo.org/Maemo_Summit_2009"&gt;Maemo Summit 2009&lt;/a&gt;. If you are there, don't forget to look for us and/or drop us a visit!&lt;/p&gt;

&lt;p&gt;&lt;img src="http://wiki.maemo.org/images/0/00/Ms09-logo_05b2.png" alt="Maemo Summit 2009"/&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-4407254402953406753?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/4407254402953406753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=4407254402953406753' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/4407254402953406753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/4407254402953406753'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/10/maemo-summit-2009-live.html' title='Maemo Summit 2009 - Live'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_Oijhf1ZPv-4/Ss72-SkR42I/AAAAAAAABYY/oiZpJnM5_bw/s72-c/2009-10-09%2010.39.40.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-4286576749235615403</id><published>2009-10-07T08:38:00.001+02:00</published><updated>2009-10-07T08:41:32.825+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webkit'/><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='food'/><title type='text'>webkit dinner: gado-gado + nasi uduk</title><content type='html'>&lt;a href="http://www.flickr.com/photos/ariyahidayat/3987547555/" title="Nasi Uduk by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2612/3987547555_2db9031d63.jpg" width="500" height="334" alt="Nasi Uduk" border="0" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Something I can always be proud of is to be part of the Nokia &lt;a href="http://qt.nokia.com/doc/qtwebkit.html"&gt;QtWebKit&lt;/a&gt; team. The fact that we are all the WebKit reviewers from Nokia (at the moment, surely the situation will improve in the future) is one thing, but most important is that the team is small and agile, and it comprises great hackers. You surely already hear a lot from &lt;a href="http://labs.qt.nokia.com/blogs/author/simon"&gt;Simon&lt;/a&gt;, &lt;a href="http://labs.qt.nokia.com/blogs/author/tavestbo"&gt;Tor Arne&lt;/a&gt;, and &lt;a href="http://labs.qt.nokia.com/blogs/author/kent"&gt;Kent&lt;/a&gt; these days, and you will hear from the new blood pretty soon, too.&lt;/p&gt;

&lt;p&gt;The least we can do for such great coworkers is to offer them a bit of culinary journey to our culture. Hence, the so-called &lt;i&gt;WebKit dinner&lt;/i&gt;. As much as I love Italian food, &lt;a href="http://ariya.blogspot.com/2008/10/lamb-pizza.html"&gt;such as pizza&lt;/a&gt;, it's also time for a change.&lt;/p&gt;

&lt;p&gt;The starter was &lt;a href="http://en.wikipedia.org/wiki/Gado-gado"&gt;Gado-gado&lt;/a&gt;, which is just vegetable salad served with peanut sauce as the dressing. The main dish consisted of fish curry (generously contributed by Kavindra) and &lt;a href="http://en.wikipedia.org/wiki/Uduk_(cuisine)"&gt;Nasi Uduk&lt;/a&gt;. The latter, which is shown in the photo above, is rice cooked with (among others) coconut milk served with sliced omelette, fried tofu, chicken, fish, and vegetables. A lot of other slight variations also exist. Original (from Sidoarjo) prawn crackers, aka &lt;a href="http://en.wikipedia.org/wiki/Krupuk"&gt;Krupuk&lt;/a&gt;, completed the experience.&lt;/p&gt;

&lt;p&gt;Dessert? Not forgotten. It was basically just fresh waffles (like &lt;a href="http://ariya.blogspot.com/2008/09/fresh-waffle.html"&gt;I blogged before&lt;/a&gt;) served with the sauce made from brown sugar and coconut milk. Let's say it's the European interpretation of &lt;a href="http://en.wikipedia.org/wiki/Serabi"&gt;Serabi&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Tasty. What else does a man want?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-4286576749235615403?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/4286576749235615403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=4286576749235615403' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/4286576749235615403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/4286576749235615403'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/10/webkit-dinner-gado-gado-nasi-uduk.html' title='webkit dinner: gado-gado + nasi uduk'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-5760760162731873738</id><published>2009-10-06T08:30:00.000+02:00</published><updated>2009-10-06T08:31:17.145+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='madrid'/><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='tip'/><category scheme='http://www.blogger.com/atom/ns#' term='vacation'/><category scheme='http://www.blogger.com/atom/ns#' term='lisbon'/><category scheme='http://www.blogger.com/atom/ns#' term='paris'/><category scheme='http://www.blogger.com/atom/ns#' term='food'/><title type='text'>paris lisbon madrid</title><content type='html'>&lt;p&gt;Finally I had a real vacation, albeit short. Like many typical holidaymakers, I decided to do a little tour passing three selected cities in Europe, at the same time also using the chance to practice light, one-bag travelling (with a great success, mind you!).&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/3984359631/" title="Église Saint-Eustache, Paris by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2516/3984359631_48b127bbc0.jpg" width="500" height="333" alt="Église Saint-Eustache, Paris" border="0" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wikitravel.org/en/Paris"&gt;Paris&lt;/a&gt; can always make a good start. The target at this second visit to Paris was to enjoy it at night. After all, it is supposed to be &lt;i&gt;la Ville Lumière&lt;/i&gt; (City of Light). However, a long walking tour during the day was still inevitable, as evidenced from the picture of &lt;a href="http://en.wikipedia.org/wiki/Église_Saint-Eustache,_Paris"&gt;Église Saint-Eustache&lt;/a&gt; above.&lt;/p&gt;

&lt;a href="http://www.flickr.com/photos/ariyahidayat/3984359609/" title="Nasi Goreng by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2496/3984359609_0eeccd089a.jpg" width="500" height="334" alt="Nasi Goreng"  border="0" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;

&lt;p&gt;As for the food, we decided to try non-local cuisine instead. We dined at the nicely-decorated &lt;a href="http://www.restaurant-indonesia.com"&gt;Restaurant Indonesia&lt;/a&gt;, one of two restaurants in Paris (the other one is &lt;a href="http://www.djakarta-bali.com/"&gt;Djakarta-Bali&lt;/a&gt;) serving authentic culinary experience from my home country. If you happen to be nearby, give it a try as the dishes were good and reasonably priced.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/3985375602/" title="on the way to Castle St George, Lisbon by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3490/3985375602_b53be6e361.jpg" width="500" height="333" alt="on the way to Castle St George, Lisbon" border="0" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wikitravel.org/en/Lisbon"&gt;Lisbon&lt;/a&gt; is fabulous and rich with history. We managed to explore the downtown area on foot, enjoying the busy &lt;a href="http://en.wikipedia.org/wiki/Marquis_of_Pombal_Square"&gt;Marquês de Pombal&lt;/a&gt;, even walking up to the &lt;a href="http://en.wikipedia.org/wiki/Castle_of_São_Jorge"&gt;Castelo de São Jorge&lt;/a&gt;. However I feel that exploring the surrounding would have been much better with a car. The view of Lisbon from the castle was majestic, also from the dozens of the short alleys on the way up there (the photo above). Of course, passing &lt;a href="http://en.wikipedia.org/wiki/25_de_Abril_Bridge"&gt;Ponte 25 de Abril&lt;/a&gt; - the sister bridge of San Francisco's Golden Gate - both on the motorway and using the train, was also a wonderful experience. Due to our limited time, we had to skip some other tourist attractions. We already compiled a list of must-visit places for the future, in case we fly to Lisbon again.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/3985463830/" title="the lucky takes them all by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2594/3985463830_1873e19791.jpg" width="500" height="334" alt="the lucky takes them all" border="0" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nevertheless we had the obligatory fantastic dinner with &lt;a href="http://en.wikipedia.org/wiki/Cod"&gt;cod&lt;/a&gt;. In another occasion, a simplistic but enjoyable dinner buffet in a &lt;a href="http://en.wikipedia.org/wiki/Churrascaria"&gt;Churrascaria&lt;/a&gt; was also memorable. A short detour to the beach at midnight completed the unforgettable journey.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/3984688769/" title="Plaza de Toros, Madrid by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2555/3984688769_102077b34b.jpg" width="500" height="333" alt="Plaza de Toros, Madrid" border="0" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wikitravel.org/en/Madrid"&gt;Madrid&lt;/a&gt; was very vibrant and dynamic. It is also quite  warm (as expected) with the heat at noon being close to unbearable. I like the fact that it was still possible, even convenient, to sit on a bench even somewhere in downtown as long as it is still in the shadow. Unfortunately Madrid was &lt;a href="http://en.wikipedia.org/wiki/Madrid_bid_for_the_2016_Summer_Olympics"&gt;defeated by Rio&lt;/a&gt; in the race for the &lt;a href="http://en.wikipedia.org/wiki/2016_Summer_Olympics"&gt;2016 Summer Olympics host&lt;/a&gt;. Otherwise it would have been extremely fantastic as we were there after the last round.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/3984688749/" title="Chocolate con Churros by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2572/3984688749_b6888b62ec.jpg" width="500" height="333" alt="Chocolate con Churros" border="0" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We did the usual sightseeing (on foot) - including the compulsory visit to &lt;a href="http://en.wikipedia.org/wiki/Palacio_Real"&gt;Palacio Real&lt;/a&gt; - and other usual rituals: having &lt;a href="http://en.wikipedia.org/wiki/Churro"&gt;chocolate con churros&lt;/a&gt; for breakfast, drinking &lt;a href="http://en.wikipedia.org/wiki/Horchata"&gt;horchata&lt;/a&gt; to ease from the heat at midday, as well as eating traditional &lt;a href="http://en.wikipedia.org/wiki/Paella"&gt;paella&lt;/a&gt; (and &lt;a href="http://en.wikipedia.org/wiki/Fideuà"&gt;fidueà&lt;/a&gt;) for the (very!) late dinner.&lt;/p&gt;

&lt;p&gt;Madrid at night on the other hand is a bit problematic for me. Since I am not a nightlife type, I don't drink, and I can't stand the cigarette smoke, touring the city after sunset is practically a mild torture.&lt;/p&gt;

&lt;p&gt;Next to visit (due in few days): Amsterdam and Munich.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-5760760162731873738?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/5760760162731873738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=5760760162731873738' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/5760760162731873738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/5760760162731873738'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/10/paris-lisbon-madrid.html' title='paris lisbon madrid'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-531950188006243160</id><published>2009-09-27T16:18:00.001+02:00</published><updated>2009-09-27T16:18:52.394+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='amsterdam'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Maemo Summit 2009, Amsterdam, 9-11 Oct</title><content type='html'>&lt;p&gt;&lt;img src="http://wiki.maemo.org/images/0/00/Ms09-logo_05b2.png" alt="Maemo Summit 2009"/&gt;&lt;/p&gt;

&lt;p&gt;Another exciting event coming up soon: &lt;a href="http://wiki.maemo.org/Maemo_Summit_2009"&gt;Maemo Summit 2009&lt;/a&gt;! This time it will be in &lt;a href="http://wikitravel.org/en/Amsterdam"&gt;Amsterdam&lt;/a&gt;. My flight ticket is secured already, I look forward to it. And of course, since this will be also my first visit to Amsterdam.&lt;/p&gt;

&lt;p&gt;My talk will be on Friday afternoon, see the &lt;a href="http://wiki.maemo.org/Maemo_Summit_2009/Schedule"&gt;schedule&lt;/a&gt; for details. Although the title &amp;quot;Cross-platform with Qt&amp;quot; is a bit boring, rest assured you will see showcases of many things (which I can pack in 25 minutes) Qt is capable of doing.&lt;/p&gt;

&lt;p&gt;A few other Trolls will be there as well so go there and find us. In all cases, if you are around and want to have a chat, drop me an email (ariya.hidayat AT gmail DOT com).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-531950188006243160?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/531950188006243160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=531950188006243160' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/531950188006243160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/531950188006243160'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/09/maemo-summit-2009-amsterdam-9-11-oct.html' title='Maemo Summit 2009, Amsterdam, 9-11 Oct'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-7004929244320930679</id><published>2009-09-27T09:28:00.000+02:00</published><updated>2009-09-27T09:29:40.231+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='food'/><title type='text'>a moment, a love, a dream, a laugh, a kiss, a cry</title><content type='html'>&lt;a href="http://www.flickr.com/photos/ariyahidayat/3958219876/" title="pizza (again) by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2477/3958219876_824a069925.jpg" width="500" height="333" alt="pizza (again)"   style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;

&lt;p&gt;Seems autumn always calls for my service, hence the usual pizza-baking obligation, as evidenced from the photo. Recipe? Check what &lt;a href="http://ariya.blogspot.com/2008/10/lamb-pizza.html"&gt;I have posted last year&lt;/a&gt;. A slight variation: slices of pineapples :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-7004929244320930679?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/7004929244320930679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=7004929244320930679' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/7004929244320930679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/7004929244320930679'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/09/moment-love-dream-laugh-kiss-cry.html' title='a moment, a love, a dream, a laugh, a kiss, a cry'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-4370025611297680136</id><published>2009-09-23T10:48:00.000+02:00</published><updated>2009-09-23T10:50:51.843+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='s60'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>frozen in the headlights (have I made the final sacrifice?)</title><content type='html'>&lt;p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/t-cu5RW6ZiJo_KZWIB3cfw?feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_Oijhf1ZPv-4/Srjh6qqR-2I/AAAAAAAABXA/kV4L2ClVxNU/s800/raycasting.png" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This slick stuff is mostly educational (for the lazy, see the &lt;a href="http://www.youtube.com/watch?v=FcIe9EPmqGs"&gt;30-second YouTube video&lt;/a&gt; courtesy of &lt;a href="http://labs.qt.nokia.com/blogs/author/aportale"&gt;Alessandro&lt;/a&gt;). With all the accelerated graphics (with those alphabet soups) these days, who on earth uses &lt;a href="http://en.wikipedia.org/wiki/Raycasting"&gt;ray casting&lt;/a&gt; for real-world apps? Nevertheless, since I still keep the piece of code (read: a function, literally) I wrote ages ago, why not giving it a try again?&lt;/p&gt;

&lt;p&gt;Testing it on &lt;a href="http://en.wikipedia.org/wiki/Nokia_E71"&gt;Nokia E71&lt;/a&gt; (powered by ARM 369 MHz processor), I am content to get a consistent 25 fps at QVGA resolution (and the code is still portable!). I reckon I need to resort to platform-specific, e.g. &lt;a href="http://wiki.forum.nokia.com/index.php/Anti-tearing_with_CDirectScreenBitmap"&gt;Anti Tearing API&lt;/a&gt; for S60, if I want to push the frame rate further.&lt;/p&gt;

&lt;p&gt;For the code and the explanation, head to the &lt;a href="http://labs.qt.nokia.com/blogs/2009/08/09/ray-casting-on-qts60/"&gt;S60 ray casting demo&lt;/a&gt;. You would need the &lt;a href="http://labs.qt.nokia.com/blogs/2009/06/25/the-new-pre-release-of-qt-for-s60-is-there/"&gt;Qt 4.5 Tower release&lt;/a&gt; to build it for your favorite phone. Also, you need a four-way controller as I haven't bothered to let it run on a touch device.&lt;/p&gt;

&lt;p&gt;Final (friendly) reminder: use &lt;a href="http://www.dwheeler.com/sloccount/"&gt;sloccount&lt;/a&gt; and check yourself how long this example is. Why? Because usually people think I try to trick them when I reveal the size of the source code :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-4370025611297680136?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/4370025611297680136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=4370025611297680136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/4370025611297680136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/4370025611297680136'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/09/frozen-in-headlights-have-i-made-final.html' title='frozen in the headlights (have I made the final sacrifice?)'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_Oijhf1ZPv-4/Srjh6qqR-2I/AAAAAAAABXA/kV4L2ClVxNU/s72-c/raycasting.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-2088708970963016295</id><published>2009-09-20T07:43:00.002+02:00</published><updated>2009-09-20T07:43:55.022+02:00</updated><title type='text'>Eid Mubarak</title><content type='html'>&lt;p&gt;Happy &lt;b&gt;Eid Al-Fitr&lt;/b&gt; to all !&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-2088708970963016295?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/2088708970963016295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=2088708970963016295' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/2088708970963016295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/2088708970963016295'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/09/eid-mubarak.html' title='Eid Mubarak'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-2317923021954493833</id><published>2009-09-11T12:17:00.002+02:00</published><updated>2009-09-11T21:05:34.150+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='svg'/><category scheme='http://www.blogger.com/atom/ns#' term='tip'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='optimization'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>SVG: parsing and content optimization</title><content type='html'>&lt;p&gt;A few weeks ago, just for a change (between the usual &lt;a href="http://qt.nokia.com/doc/qtwebkit.html"&gt;QtWebKit&lt;/a&gt; bug-fixing and patches juggling), I did take a look at our &lt;a href="http://qt.nokia.com/doc/qtsvg.html"&gt;QtSvg module&lt;/a&gt;. According to some internal reports, QtSvg is not fast enough when parsing a large and complicated SVG. Of course, slow is relative, slow &lt;i&gt;to what&lt;/i&gt;. And arguably, parsing time is not as important as rendering time. But if you stash your user-interface elements in some sort of SVG theme, loading time becomes a factor (caching the pixmaps whenever possible also helps). Of course, reduced size served in a web server can decrease the bandwidth as well (think of all the SVGs in Wikipedia).&lt;/p&gt;

&lt;p&gt;Still, I decided to have a look, just in case there are low-hanging fruits I can grab. And I was right, &lt;i&gt;far&lt;/i&gt; from being an SVG expert, with just two days of work I managed to squeeze its performance a bit, which you'd enjoy already in the &lt;a href="http://labs.qt.nokia.com/blogs/2009/09/09/qt-460-tech-preview-1/"&gt;recent 4.6 preview&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/cB6SPdhyThvfwYL3fMMrCA?feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_Oijhf1ZPv-4/Sqod3XTKV8I/AAAAAAAABVk/S1UTOyBZVMU/s800/benchmark-svg-46-theme.png" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The chart above - &lt;i&gt;shorter is better&lt;/i&gt; - represents the comparison of the time spent in &lt;a href="http://qt.nokia.com/doc/qsvgrenderer.html#load-2"&gt;QSvgRenderer::load()&lt;/a&gt;, measured using &lt;a href="http://qt.nokia.com/doc/qtestlib-manual.html#creating-a-benchmark"&gt;CPU tick counter&lt;/a&gt; (in millions of ticks), comparing Qt 4.5 and 4.6. I also tested some other files as well, see &lt;a href="http://picasaweb.google.com/ariya.hidayat/Screenshots#5379916025148275202"&gt;the bigger bar charts&lt;/a&gt;. In all measurements, the 95% &lt;a href="http://en.wikipedia.org/wiki/Confidence_interval"&gt;confidence intervals&lt;/a&gt; were well below 1%. &lt;i&gt;In-house Theme&lt;/i&gt; refers to an internal SVG that unfortunately I can't share. &lt;i&gt;Tiger&lt;/i&gt; is the SVG version of the famous head in PostScript (taken from GNU GhostScript), something &lt;a href="http://ariya.blogspot.com/2008/08/svg-to-png-using-qtwebkit.html"&gt;I have shown before&lt;/a&gt;. &lt;i&gt;Imperial Coat&lt;/i&gt; of Arms of France is another complex SVG, from &lt;a href="http://commons.wikimedia.org/wiki/File:Imperial_Coat_of_Arms_of_France_(1804-1815).svg"&gt;Wikipedia Commons&lt;/a&gt;. &lt;i&gt;World Map&lt;/i&gt; is the public domain blank grayscale &lt;a href="http://en.wikipedia.org/wiki/File:BlankMap-World6.svg"&gt;world map&lt;/a&gt; from Wikipedia. There are a bunch of other test files I used, they mostly show the same improvements.&lt;/p&gt;

&lt;p&gt;As you can see, Qt 4.6 would enjoy a bit of speed-up (in some cases up to 1.4x) when loading and parsing SVG.&lt;/p&gt;

&lt;p&gt;However, I did not stop there. For the fun of it, I quickly hacked a Qt-based, command line SVG minifier, dubbed &lt;a href="http://svgmin.googlecode.com"&gt;SVGMin&lt;/a&gt;. More about it can be read in the detailed &lt;a href="http://code.google.com/p/svgmin/wiki/QuickStart"&gt;Quick Start&lt;/a&gt;, but basically it tries to eliminate redundant garbages which have no effect whatsoever in the final rendering.&lt;/p&gt;

&lt;p&gt;What follows is the chart showing the same type of measurement but I added the result with the minified SVG (see also &lt;a href="http://picasaweb.google.com/ariya.hidayat/Screenshots#5379916026734960098"&gt;the full comparison chart&lt;/a&gt;). The result should speak for itself:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/0qrF-kdbY-j3MNJRDkK6yw?feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_Oijhf1ZPv-4/Sqoer9QWxXI/AAAAAAAABVs/pBBj7PGNPdg/s800/benchmark-svg-minified-theme.png" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I plan some more improvements to the SVG minifier, for example collapsing a single grouped element (&amp;lt;g&amp;gt;&amp;lt;path ...&amp;gt;&amp;lt;/g&amp;gt; makes no sense), group a bunch of nodes with similar attributes (no need to duplicate the same fill colors over 100 circles), remove useless attributes (why there is fill-* for fill:none?), and many others. Hold your breath.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-2317923021954493833?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/2317923021954493833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=2317923021954493833' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/2317923021954493833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/2317923021954493833'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/09/svg-parsing-and-content-optimization.html' title='SVG: parsing and content optimization'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_Oijhf1ZPv-4/Sqod3XTKV8I/AAAAAAAABVk/S1UTOyBZVMU/s72-c/benchmark-svg-46-theme.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-5973729610540828609</id><published>2009-09-08T21:46:00.001+02:00</published><updated>2009-09-08T22:33:17.482+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='musing'/><title type='text'>the game of escalation</title><content type='html'>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/yolla/3064358246/" title="img_0086 by Yolla Indria, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3023/3064358246_7f056caa69.jpg" alt="img_0086" style="border: 1px solid rgb(204, 204, 204); padding: 5px;" height="333" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Often I ask myself how long I would still want to stay in the software industry. Before I started my professional programming career, I never thought that this wonderful world of software craftsmanship is full of complaints, frustration, anger, and hostility. Perhaps that is just the reflection of people wanting to achieve the best things they can do. When you aim for a perfection, anything &lt;i&gt;good enough&lt;/i&gt; will not be satisfactory.&lt;/p&gt;

&lt;p&gt;I can't say for sure, but somehow I feel that I am still heavily influenced by the positive gratitude mentality, even in the case of calamity. When you have an accident and your right arm is amputated, someone reminds you, &amp;quot;You are lucky, you could have lost your legs!&amp;quot;. Losing an arm is considered lucky? This does not mean that we bury our head in the sand and forget the fact that one arm is gone already, it just means that we should not be blind to the fact that things could have been worse. By doing so hopefully we keep things in perspective and move forwards as positive and as best as we can.&lt;/p&gt;

&lt;p&gt;One of the lessons I learned so far is the amount of extrapolated verdicts you would get from the users, the developers, and/or the customers. Any bugs, any annoyances, no matter how small it is, are sometimes blown out of proportion. I call this the &lt;i&gt;Universal Rule of Blaming&lt;/i&gt;. A customer complains, the company desperately grabs a consultant to help, he finds the bug in the toolkit, the toolkit guy chains it further to the operating systems, and so on. Of course, for each stage, the amount of anger and loudness of the screams increase exponentially. Basically, nobody wants to be the escape goat.&lt;/p&gt;&lt;p&gt;

&lt;p&gt;Sadly, everyone in the business of doing software seems to forget that making a software is just like another engineering project. It has its constraints, the resources are limited, the time is the (common) enemy, priorities must be set, and practically it is impossible to achieve 100% perfectness. It is the classic optimization problems. Thus, the responsible people have to make some decisions and these decisions can't please everyone. There will be people alienated with such decisions. Anyone ever done any kind of sensible business knows exactly what it does mean. Every customer feels that he is important (I mean, who does not?), yet a typical company has a lot of customers and such a company is always ready to disappoints 10% of the customers, rather than 90%.  As you can guess, it is a matter of minimizing the loss. When a business guy asks his customers, &amp;quot;Hey, I need your feedback&amp;quot; and he really means it, he is not trying to be nice, he is trying to save his business.&lt;/p&gt;

&lt;p&gt;However, my concern is not on the technical matters, but rather the non-technical side. When you are angry, you may say some words that you may regret later. Unfortunately, getting mad because of software annoyances can trap you in the same, if not worse, situation. What I often witness is that people start guessing, accusing, throwing blames, up to the a point where it becomes counter-productive and getting personal. You all know what happens when a developer takes it personally: a cycle of violence is about to roll. Once a while I try to stand in the line of fire (a big mistake, I know) in order to bridge both parties. No luck, it is like being trapped in a DMZ and people will just release their steam and waste their bullets to me as if they are happy to find a new bandito to kill. Ever wonder why some developers take the holy vow of silence?&lt;/p&gt;

&lt;p&gt;The most common case is the why-my-bug-is-not-fixed drama. For example if I do not fix the problem X on the platform Y, people might start rambling on anything from &amp;quot;you secretly plan to drop support for Y&amp;quot; to &amp;quot;you rather focus only on feature Z instead of fixing X&amp;quot;. There are various reasons I still do not manage to provide you the fix, but because of the frustration, people tend to invent and believe in some kind of conspiracy theory. Feel free to write a long Pulitzer-quality editorial on why the lack of the fix destroys your million dollar business, but no need to cross the line and start imagining things.&lt;/p&gt;

&lt;p&gt;The drama can continue in a developer conference, where a guy might ask a simple, seemingly innocent question (even in a keynote speech) such as &amp;quot;Why don't you fix (my) bug 123? Why do you work on feature 456 instead?&amp;quot;. Believe me, I saw that happened many many time. Those questions will put both the speaker and the audience in a awkward situation. While I fully agree that every bugs must be fixed, throwing such a question which only has the intention of embarrassing the developer in front of everyone is way too dirty for my taste (not to mention that, like often the case, our poor little developer never took any &lt;i&gt;How to Deal with Angry Customers&lt;/i&gt; course). In fact, every time I encounter this kind of scene, I make a mental note to stay away from that guy. And I am sure I am not the only one who is doing that. Like I often expressed, &lt;i&gt;we are not in the kindergarten anymore, screaming does not make the solution comes faster&lt;/i&gt;. Time to make a ThinkGeek T-shirt for that?&lt;/p&gt;

&lt;p&gt;Thus, I reached a conclusion that there are two types of software guys: those who symphatize with the difficulties and problems of delivering a perfect product (because they are trying to do the same, &amp;quot;Welcome to the club!&amp;quot;) and those who just like to shift the blames to others (because they get customers banging their doors). Nobody likes to deal with angry customers so the choice is (not) hard: either you take the blame (after all, &lt;i&gt;you&lt;/i&gt; are the one who is doing the direct business to your customers) or you pass it along (every one of us is a customer of someone else's product). In the latter case, you just become yet another angry customer.&lt;/p&gt;

&lt;p&gt;Noblesse oblige.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-5973729610540828609?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/5973729610540828609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=5973729610540828609' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/5973729610540828609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/5973729610540828609'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/09/game-of-escalation.html' title='the game of escalation'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-2160219963797287132</id><published>2009-09-01T18:07:00.000+02:00</published><updated>2009-09-01T18:08:16.892+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webkit'/><category scheme='http://www.blogger.com/atom/ns#' term='tip'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><category scheme='http://www.blogger.com/atom/ns#' term='grancanaria'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>wanna curve away? it's such a perfect day</title><content type='html'>&lt;p&gt;If you were at my &lt;a href="http://www.grancanariadesktopsummit.org/node/123"&gt;Special F/X talk&lt;/a&gt;, &lt;a href="http://www.grancanariadesktopsummit.org/"&gt;Desktop Summit&lt;/a&gt; in Las Palmas, or if you watched &lt;a href="http://www.geeksoc.org/gcds/Ariya%20Hidayat,%20Special%20FX%20with%20Graphics%20View.ogv"&gt;the recorded video&lt;/a&gt; (135 MB Ogg), you might notice the tongue-in-cheek gratitudes to Lufthansa dan SpanAir I expressed at the beginning of the talk. The story goes as follows. As all of us, the Trolls, left Oslo &lt;a href="http://labs.trolltech.com/blogs/2009/07/05/trolls-at-the-desktop-summit/"&gt;to fly to Las Palmas&lt;/a&gt;, our flight got delayed twice, in Oslo (by Lufthansa) and Madrid (by SpanAir). Like every other dedicated (read: foolish) hackers, I took advantage of the delay to fulfill my dream (read: obsession): writing my own presentation tool. Hence, the special thanks.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/yolla/3708368052/" title="IMG_5451 by Yolla Indria, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2547/3708368052_7347b01eec.jpg" width="500" height="333" style="border: 1px solid rgb(204, 204, 204); padding: 5px;" alt="Presentation" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Of course, like every other dedicated hackers, I cheated (after all, great artists steal). Inspired from the previous discussion with Simon (and Holger), I just took &lt;a href="http://en.wikipedia.org/wiki/S5_(file_format)"&gt;S5&lt;/a&gt; and wrapped it with &lt;a href="http://qt.nokia.com/doc/qtwebkit.html"&gt;QtWebKit&lt;/a&gt;. The result is something I called &lt;a href="http://labs.trolltech.com/blogs/2009/08/25/presentation-with-s5/"&gt;s5runner&lt;/a&gt;. The 200-lines Qt/C++ code (and PyQt, thanks to David) is best demonstrated by watching the following &lt;a href="http://www.youtube.com/watch?v=5NAoB_isqOY"&gt;short screencast&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/5NAoB_isqOY&amp;hl=en&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/5NAoB_isqOY&amp;hl=en&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;/p&gt; 

&lt;p&gt;Few extra features added on top S5 are screen blanking (white or black), night mode (just for the fun of it), syntax highlighting (useful for code snippet), countdown timer (because my laptop has 100x computing power vs my wristwatch), and (my favorite) live editing.&lt;/p&gt;

&lt;p&gt;I will definitely reuse this for my upcoming talks.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-2160219963797287132?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/2160219963797287132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=2160219963797287132' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/2160219963797287132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/2160219963797287132'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/09/wanna-curve-away-its-such-perfect-day.html' title='wanna curve away? it&apos;s such a perfect day'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-2371044061683745153</id><published>2009-08-30T16:59:00.001+02:00</published><updated>2009-08-30T16:59:36.595+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='bremen'/><title type='text'>light beams</title><content type='html'>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/3870217513/" title="light attractions by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2508/3870217513_fca2c2d50e.jpg" width="500" height="333" alt="light attractions"  style="border: 1px solid rgb(204, 204, 204); padding: 5px;"/&gt;&lt;/a&gt;&lt;p&gt;

&lt;p&gt;Some kind of midnight light attractions a week ago in Bremen was a good opportunity, a better one than just in the physics class, to remember that &lt;a href="http://en.wikipedia.org/wiki/Light_beam"&gt;light beams&lt;/a&gt; are actually invisible, except when the beams get scattered by some particles or other objects. Hence the fog machines operating in the same space and time as the powerful headlights.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-2371044061683745153?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/2371044061683745153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=2371044061683745153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/2371044061683745153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/2371044061683745153'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/08/light-beams.html' title='light beams'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-7476789099946781517</id><published>2009-08-28T20:25:00.001+02:00</published><updated>2009-08-28T20:27:29.539+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='tip'/><category scheme='http://www.blogger.com/atom/ns#' term='musing'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>mails I wish I could skip</title><content type='html'>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ariyahidayat/3863028628/" title="posten by Ariya Hidayat, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2596/3863028628_23d7546a67.jpg" width="500" height="375" alt="posten" style="border: 1px solid rgb(204, 204, 204); padding: 5px;"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't get me wrong, I love to get emails. In fact, as long as the emails are not nuked by the spam filter, I read each and every one of them. I might not give a response immediately, but I seldom skip an email. However, there are few types of e-mails that I wish I could just skip, thereby saving my and the everyone else's time.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;that starts with &amp;quot;Dear Sir/Madam&amp;quot;.&lt;/b&gt; Nothing wrong with it of course. But if someone knows my email address, a little check with Google would reveal my gender and my full name. However, with that Sir/Madam thing, I cast a suspicion upon the content of the email (likely a spam anyway).&lt;/p&gt;

&lt;p&gt;&lt;b&gt;that asks &amp;quot;how to download FooBar&amp;quot;&lt;/b&gt;. Maybe s/he reads one of my articles or a post in my blog. But normally I always state the web site of that particularly interesting program so that people can try it. Usually I give her/him the benefit of doubt and send the first few links I find by googling (or lmgify-ing) on &amp;quot;download FooBar&amp;quot;.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;that only says &amp;quot;I tried to do X and it did not work&amp;quot;&lt;/b&gt;. Unless I have a crystal ball, how on earth could I possibly know the problems? Shall I forward this email to Uri Geller, or any of his successors, then?&lt;/p&gt;

&lt;p&gt;&lt;b&gt;that requests suggestions for a (final) project&lt;/b&gt;. If I do not know the sender (what s/he's studying, what the interests are, etc), well what would I say then? I can mention anything, e.g. create a rocket that flies us to Jupiter, but that wastes more of our time.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;that ends with &amp;quot;Please help, it's urgent&amp;quot; or something similar.&lt;/b&gt; As much as I would like to help, I also have a life, and I have my own sets of problems, too. And so does everyone else. True, urgency requires a delicate handling but I am not in business of waving a magic hand. Beside, we are not in the kindergarten anymore, screaming does not make the solution comes faster.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;that asks for some architectural diagram of my example code.&lt;/b&gt; It's soooo &amp;quot;corporate&amp;quot;. Seriously, do you expect me to fire up Rational Rose and draw colorful charts (flying arrows included) for a 300-lines example program? Some people fail to see that an example, just as the name implies, is meant to be taken as an example.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;that is closed with a very long signature.&lt;/b&gt; It's fine for the legalese purpose, but isn't it ironic when the mail signature is ridiculously long, sometimes up to 4x longer, than the content of the mail itself? And when the email is basically  a set of some of the points above, the signature is like adding an insult (a terrible one even) to the injury.&lt;/p&gt;

&lt;p&gt;Do you ever get other types of annoyances like that?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-7476789099946781517?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/7476789099946781517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=7476789099946781517' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/7476789099946781517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/7476789099946781517'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/08/mails-i-wish-i-could-skip.html' title='mails I wish I could skip'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-4959872531562891344</id><published>2009-08-27T17:51:00.000+02:00</published><updated>2009-08-27T17:53:47.201+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='tip'/><category scheme='http://www.blogger.com/atom/ns#' term='gadget'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><title type='text'>Nokia N900: Linux-based mobile phone</title><content type='html'>&lt;p&gt;Finally &lt;a href="http://maemo.nokia.com/n900/"&gt;it's out&lt;/a&gt;. N900 is the first Linux-based 3G/HSPA phone from Nokia, powered by &lt;a href="http://maemo.nokia.com/"&gt;Maemo&lt;/a&gt;. There are already some &lt;a href="http://conversations.nokia.com/2009/08/27/finding-maemo-the-new-nokia-n900/"&gt;high-quality awesome pictures&lt;/a&gt; of the phone, or just enjoy the following taken by &lt;a href="http://www.flickr.com/people/mdamt/"&gt;my countryman&lt;/a&gt; who is working for Maemo. Or watch &lt;a href="http://www.youtube.com/watch?v=GhTtsZATwBQ"&gt;its 75-second promo video clip&lt;/a&gt;. Price is not set yet, but seems to be in the EUR 500 range. The geek side of you might want to glance at &lt;a href="http://maemo.nokia.com/n900/specifications/"&gt;the specifications&lt;/a&gt; (and mark that OpenGL ES 2.0!).&lt;/p&gt;

&lt;p&gt;&lt;div style="margin-left: 10px; margin-bottom: 10px;"&gt;&lt;a href="http://www.flickr.com/photos/mdamt/3861126335/" title="photo sharing"&gt;&lt;img src="http://farm4.static.flickr.com/3287/3861126335_eb049813b3_m.jpg" alt="" style="border: solid 2px #000000;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: 0.9em; margin-top: 0px;"&gt;&lt;a href="http://www.flickr.com/photos/mdamt/3861126335/"&gt;Paling gress dan paling canggih: N900&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href="http://www.flickr.com/people/mdamt/"&gt;mdamt&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br clear="all" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-4959872531562891344?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/4959872531562891344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=4959872531562891344' title='20 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/4959872531562891344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/4959872531562891344'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/08/nokia-n900-linux-based-mobile-phone.html' title='Nokia N900: Linux-based mobile phone'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-3511836732113296795</id><published>2009-08-24T17:51:00.002+02:00</published><updated>2009-08-24T17:56:04.071+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='oslo'/><category scheme='http://www.blogger.com/atom/ns#' term='food'/><title type='text'>oslo mela</title><content type='html'>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/yolla/sets/72157622003575367/" title="Oslo Mela by Yolla Indria, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3584/3833562920_a4362a7129.jpg" width="333" height="500" style="border: 1px solid rgb(204, 204, 204); padding: 5px;" alt="Food" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just like &lt;a href="http://ariya.blogspot.com/2008/08/mela-festival-oslo.html"&gt;last year&lt;/a&gt;, &lt;a href="http://www.visitoslo.com/en/the-mela-festival.109230.181312r9d9.tlp.html"&gt;Oslo Mela Festival&lt;/a&gt; few days ago was something we did not miss, in particular because of the food.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-3511836732113296795?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/3511836732113296795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=3511836732113296795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/3511836732113296795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/3511836732113296795'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/08/oslo-mela.html' title='oslo mela'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17722541.post-5818260934357135081</id><published>2009-08-20T10:40:00.004+02:00</published><updated>2009-08-20T12:09:50.766+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quote'/><category scheme='http://www.blogger.com/atom/ns#' term='musing'/><title type='text'>q-o-t-w</title><content type='html'>&lt;p&gt;
&lt;blockquote&gt;
&lt;i&gt;People who succeed in life are rarely reflective. Their gaze is always on the future: that's why they succeed.&lt;/i&gt;
&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;-- &amp;quot;Ghost&amp;quot;, Robert Harris&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17722541-5818260934357135081?l=ariya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ariya.blogspot.com/feeds/5818260934357135081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17722541&amp;postID=5818260934357135081' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/5818260934357135081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17722541/posts/default/5818260934357135081'/><link rel='alternate' type='text/html' href='http://ariya.blogspot.com/2009/08/q-o-t-w.html' title='q-o-t-w'/><author><name>Ariya Hidayat</name><uri>http://www.blogger.com/profile/03121582140059106015</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06226570096877618650'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry></feed>