<?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' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8374435806135313875</id><updated>2012-01-17T00:13:52.716-08:00</updated><category term='Kontact'/><category term='SF'/><category term='Qt'/><category term='Nepomuk'/><category term='KDE'/><category term='KDEOnWindows'/><category term='KDAB'/><category term='Akonadi'/><category term='Blabla'/><title type='text'>Syntax Error</title><subtitle type='html'>...kesromainadullboyallworkandnoplaymakesromainadullboyallworkandnop...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-4887491177008628708</id><published>2011-08-22T08:09:00.000-07:00</published><updated>2011-08-22T08:09:42.557-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='KDAB'/><category scheme='http://www.blogger.com/atom/ns#' term='Qt'/><title type='text'>Developping for Qt 4.8 Embedded on Windows</title><content type='html'>&lt;em&gt;&lt;span style="font-size: large;"&gt;"Yes we can!"&lt;/span&gt;&lt;/em&gt; &lt;span style="font-size: x-small;"&gt;[Obama '08]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I started developing with Qt for Embedded Linux 5 years ago (it was Qt 3.3.1 at the time) and I immediately fell in love with the "hands in the dirt" aspect of embedded programming!&amp;nbsp;However, I have to confess that as much as I love embedded stuff, I'm still a Windows guy... (no judgements please). Actually, while in my case it's purely a matter of habits, many people are stuck with Windows as their mandatory development platform, e.g. due to company policies, Windows-only software/SCM...&lt;br /&gt;&lt;br /&gt;So, one day while downloading &lt;strong&gt;Sourcery-G++&lt;/strong&gt;, the popular gcc toolchain for ARM, I noticed that a Windows version was available as well. Out of curiosity I installed it, and just as I hoped what I got was a full-fledged ARM toolchain for Windows, with gcc, gdb, a sysroot, etc.&lt;br /&gt;&lt;br /&gt;The first thing that then came to my mind was:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Will it blend^W be possible to cross-compile Qt 4.8?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well, yes it certainly is possible, and it took surprisingly little effort to get there. This is mainly thanks to qmake which provides a lot of the support out-of-the-box.&lt;br /&gt;And it gets even better: Using the upcoming &lt;strong&gt;Qt Creator 2.3.0&lt;/strong&gt; you can also cross-compile your applications and even debug them remotely, all within the IDE!&lt;br /&gt;&lt;br /&gt;Want to give it a try too? Here's how:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;u&gt;1) What you'll need&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The target toolchain, such as &lt;a href="http://www.codesourcery.com/sgpp/lite/arm/portal/release1803"&gt;Sourcery-G++ Lite for Windows&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The host toolchain, it can be either &lt;a href="http://www.mingw.org/"&gt;Mingw&lt;/a&gt; or Visual Studio 2008/2010 (&lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express"&gt;Express versions&lt;/a&gt; are fine)&lt;/li&gt;&lt;li&gt;&lt;a href="ftp://ftp.qt.nokia.com/jom"&gt;Jom&lt;/a&gt;, if you're using Visual Studio for the host toolchain, or as a replacement for mingw32-make&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/msysgit/downloads/list"&gt;Git for Windows&lt;/a&gt;&lt;/li&gt;&lt;li&gt;A Qt  4.8 source git checkout from &lt;a href="http://qt.gitorious.org/qt/qt"&gt;gitorious&lt;/a&gt;&lt;/li&gt;&lt;li&gt;An ARM-based development board for testing, such as the &lt;a href="http://beagleboard.org/"&gt;BeagleBoard&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;u&gt;2) What you won't need&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Cygwin, MSYS, or any other linux shell/emulation layer. The standard command line can be used&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;u&gt;3) Installing the tools&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Follow the instructions to download and install both the host and target toolchains. The installers should make it only a couple of clicks. You may want to add the toolchains permanently in your PATH for convenience, but this is not necessary.&lt;br /&gt;&lt;br /&gt;Optionally, install Jom and add it to your PATH.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;u&gt;4) Downloading the Qt source&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the directory where you installed Git for Windows, double-click  on the file &lt;em&gt;git-cmd.bat&lt;/em&gt;. This opens a command line environment with the git tools set up. Navigate to the place where you want the Qt source downloaded, e.g. C:\Dev\, then clone the Qt source repository from gitorious:&lt;br /&gt;&lt;span style="background-color: #444444; color: #f3f3f3; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;C:\Dev&amp;gt;git clone git://qt.gitorious.org/qt.git qt-4.8-src&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once the download is done, let's switch to the 4.8 branch:&lt;br /&gt;&lt;span style="background-color: #444444; color: #f3f3f3; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;C:\Dev&amp;gt;cd qt-4.8-src&lt;br /&gt;C:\Dev\qt-4.8-src&amp;gt;git checkout -b 4.8 origin/4.8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;u&gt;5) Build preparations&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Before going ahead with the build itself, we need to patch qmake.exe and configure.exe to add a few missing things and fix a couple of bugs. The patches are pending upstream and may be merged in soon, so hopefully this step won't be necessary by the time Qt 4.8.0 is released:&lt;br /&gt;&lt;br /&gt;For qmake.exe: &lt;a href="http://qt.gitorious.org/qt/qt/merge_requests/1329"&gt;merge request&lt;/a&gt; or &lt;a href="https://pastee.org/6asaj"&gt;patch1&lt;/a&gt; and &lt;a href="https://pastee.org/78abb"&gt;patch2&lt;/a&gt;&lt;br /&gt;For configure.exe: &lt;a href="http://qt.gitorious.org/qt/qt/merge_requests/1321"&gt;merge request&lt;/a&gt; or &lt;a href="https://pastee.org/m978n"&gt;patch1&lt;/a&gt; and &lt;a href="https://pastee.org/k9y43"&gt;patch2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Typically, Qt source checkouts come with a prebuilt configure.exe, and qmake gets built during the configuration step. However, we do need qmake to build the patched configure.exe, so we're in a chicken-and-egg situation. Not a big problem though, we could run configure.exe once first to build the patched qmake.exe, then rebuild configure.exe, then re-run it for the actual build. But a simpler alternative is to use another qmake.exe to rebuild configure.exe if you already have a Qt installed on your machine (any version &amp;gt;= 4.6.0 is fine):&lt;br /&gt;&lt;br /&gt;Open a Qt Command Prompt from the Windows Start menu, and navigate to the Qt 4.8 checkout, then do:&lt;br /&gt;&lt;span style="background-color: #444444; color: #f3f3f3; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;C:\Dev\qt-4.8-src&amp;gt;cd tools\configure&lt;br /&gt;C:\Dev\qt-4.8-src\tools\configure&amp;gt;qmake &amp;amp;&amp;amp; nmake&lt;/span&gt;&lt;br /&gt;(replace nmake with mingw32-make if Qt was built for MinGW)&lt;br /&gt;&lt;br /&gt;This will rebuild configure.exe and automatically replace the one in the top-level directory. Note that you can even use Qt Creator to rebuild configure.exe: just open &lt;i&gt;C:\Dev\qt-4.8-src\tools\configure\configure.pro&lt;/i&gt;, then click the "Build" button and that's it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;u&gt;6) Setting up the target Makespec&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We're now almost ready to run the configure.exe script, but we have one more thing to do before that.&lt;br /&gt;&lt;br /&gt;An important aspect of configuring Qt is to select the proper &lt;strong&gt;Makespec&lt;/strong&gt; that qmake will use. A Makespec is a file that specifies what toolchain to use, the target platform, the compiler and linker flags, the standard libraries to link, and so on. In the case of cross-compiling, we have to specify two Makespecs: one for the &lt;strong&gt;host&lt;/strong&gt; platform (the platform we're building on, ie. Windows) and one for the &lt;strong&gt;target&lt;/strong&gt; (the platform we're building for, ie. ARM/Linux).&lt;br /&gt;&lt;br /&gt;Qt comes with many predefined Makespecs, found under the &lt;em&gt;mkspecs/&lt;/em&gt; directory. Now, Qt doesn't provide target Makespecs when cross-compiling on Windows, so we'll need to provide our own instead (note that we can't use the ones provided for cross-compiling on Linux, since those are made for compiling in a linux shell environment. They're still useful as a base to see what needs to be set though). So this is&amp;nbsp;the Makespec I've written (also available &lt;a href="https://pastee.org/k8h7q"&gt;here&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee; color: #666666; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;#&lt;br /&gt;# qmake configuration for building with arm-none-linux-gnueabi-g++&lt;br /&gt;#&lt;br /&gt;include(../common/unix.conf)&lt;br /&gt;include(../common/gcc-base-unix.conf)&lt;br /&gt;include(../common/g++-unix.conf)&lt;br /&gt;include(../common/qws.conf)&lt;br /&gt;&lt;br /&gt;MAKEFILE_GENERATOR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = MINGW&lt;br /&gt;CONFIG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; += no_import_libs no_generated_target_info&lt;br /&gt;# modifications to g++.conf&lt;br /&gt;QMAKE_CC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = arm-none-linux-gnueabi-gcc&lt;br /&gt;QMAKE_CXX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = arm-none-linux-gnueabi-g++&lt;br /&gt;QMAKE_LINK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = arm-none-linux-gnueabi-g++&lt;br /&gt;QMAKE_LINK_SHLIB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = arm-none-linux-gnueabi-g++&lt;br /&gt;QMAKE_LIB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = arm-none-linux-gnueabi-ar&lt;br /&gt;QMAKE_AR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = arm-none-linux-gnueabi-ar cqs&lt;br /&gt;QMAKE_OBJCOPY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = arm-none-linux-gnueabi-objcopy&lt;br /&gt;QMAKE_STRIP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = arm-none-linux-gnueabi-strip&lt;br /&gt;QMAKE_RUN_CC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src&lt;br /&gt;QMAKE_RUN_CC_IMP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $&amp;lt;&lt;br /&gt;QMAKE_RUN_CXX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src&lt;br /&gt;QMAKE_RUN_CXX_IMP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $&amp;lt;&lt;br /&gt;QMAKE_INCDIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&lt;br /&gt;QMAKE_INCDIR_QT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $$[QT_INSTALL_HEADERS]&lt;br /&gt;QMAKE_LIBDIR_QT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $$[QT_INSTALL_LIBS]&lt;br /&gt;QMAKE_MOC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $$[QT_INSTALL_BINS]\\moc.exe&lt;br /&gt;QMAKE_UIC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $$[QT_INSTALL_BINS]\\uic.exe&lt;br /&gt;QMAKE_IDC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $$[QT_INSTALL_BINS]\\idc.exe&lt;br /&gt;QMAKE_COPY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = copy /y&lt;br /&gt;QMAKE_COPY_DIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = xcopy /s /q /y /i&lt;br /&gt;QMAKE_MOVE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = move&lt;br /&gt;QMAKE_DEL_FILE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = del&lt;br /&gt;QMAKE_MKDIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = mkdir&lt;br /&gt;QMAKE_DEL_DIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = rmdir&lt;br /&gt;QMAKE_CHK_DIR_EXISTS&amp;nbsp;&amp;nbsp;&amp;nbsp; = if not exist&lt;br /&gt;QMAKE_IDL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = midl&lt;br /&gt;QMAKE_ZIP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = zip -r -9&lt;br /&gt;CODESOURCERY_ARM_CFLAGS = -march=armv7-a -mtune=cortex-a8 -mthumb -mfpu=neon -mfloat-abi=softfp -Wa,-mimplicit-it=thumb&lt;br /&gt;TARGET_SYSROOT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /CodeSourcery-sysroot&lt;br /&gt;TARGET_QTDIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /QtEmbedded-4.8.0-arm&lt;br /&gt;#modifications to gcc-base.conf&lt;br /&gt;QMAKE_CFLAGS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; += $$CODESOURCERY_ARM_CFLAGS&lt;br /&gt;QMAKE_CXXFLAGS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; += $$CODESOURCERY_ARM_CFLAGS&lt;br /&gt;QMAKE_LIBS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; += -lrt -lpthread -ldl&lt;br /&gt;QMAKE_LFLAGS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; += $${QMAKE_LFLAGS_RPATH}$$[QT_INSTALL_LIBS]&lt;br /&gt;!isEmpty(TARGET_QTDIR) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; QMAKE_LFLAGS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; += $${QMAKE_LFLAGS_RPATH}$${TARGET_QTDIR}/lib&lt;br /&gt;}&lt;br /&gt;!isEmpty(TARGET_SYSROOT) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; QMAKE_LFLAGS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; += $${QMAKE_LFLAGS_RPATH}$${TARGET_SYSROOT}/lib:$${TARGET_SYSROOT}/usr/lib&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; QMAKE_LFLAGS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; += -Wl,--dynamic-linker=$${TARGET_SYSROOT}/lib/ld-linux.so.3 &lt;br /&gt;}&lt;br /&gt;load(qt_config)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you can see, we use the &lt;b&gt;MINGW&lt;/b&gt; makefile generator since it supports gcc commands lines (which is what Sourcery-G++ is based on). Most of the work then consists in specifying the executables and compiler/linker options.&lt;br /&gt;&lt;br /&gt;For the compiler options I'm assuming we're building for an &lt;b&gt;ARM Cortex-A8 CPU&lt;/b&gt;, as found on the BeagleBoard. Depending on your CPU type and architecture, the compiler options might differ.&lt;br /&gt;&lt;br /&gt;Also, the &lt;b&gt;TARGET_SYSROOT&lt;/b&gt; and &lt;b&gt;TARGET_QTDIR&lt;/b&gt; variables only need to be set if your target OS wasn't build with Sourcery-G++, or if it uses a different version, and if the Qt libraries aren't going to be in a standard path. More details about that further down.&lt;br /&gt;&lt;br /&gt;Save this to a file called &lt;b&gt;qmake.conf&lt;/b&gt; in a subdirectory of mkspecs. This directory will be the name of your Makespec:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;b&gt;C:\Dev\qt-4.8-src\mkspecs\linux-arm-gnueabi-g++\qmake.conf&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You also need a file called &lt;b&gt;qplatformdefs.h&lt;/b&gt;, which we can copy directly from the Linux Makespec in &lt;b&gt;qws/linux-arm-gnueabi-g++&lt;/b&gt;:&lt;br /&gt;&lt;span style="background-color: #444444; color: #f3f3f3; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;C:\Dev\qt-4.8-src\mkspecs\linux-arm-gnueabi-g++&amp;gt;copy ..\qws\linux-arm-gnueabi-g++\qplatformdefs.h&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;u&gt;7) Configuring Qt&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We're now ready to run configure.exe, which will create qmake, set up the build-time variables and build configuration, then create the Makefiles for the Qt libraries and examples.&lt;br /&gt;&lt;br /&gt;Open a command prompt with the host toolchain set up (ie. MinGW or Visual Studio), then go to the Qt source directory. This is the minimal configure.exe command line we need to enter:&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: #444444; color: #f3f3f3; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;C:\Dev\qt-4.8-src&amp;gt;configure.exe -debug -embedded -arch arm -neon -platform win32-msvc2010 -xplatform linux-arm-gnueabi-g++&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The options are as following:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-debug&lt;/strong&gt;: we want a non-optimized build with debug symbols. You could use -release instead for a optimized build without debug symbols.&lt;br /&gt;&lt;strong&gt;-embedded&lt;/strong&gt;: means we want to build the embedded version of Qt, not the desktop version. This activates the use of QWS and other features specific to Qt Embedded.&lt;br /&gt;&lt;strong&gt;-arch arm&lt;/strong&gt;: we're building for an ARM CPU. This is used internally to select the proper implementations for low-level stuff.&lt;br /&gt;&lt;strong&gt;-neon&lt;/strong&gt;: We want to make use of the NEON co-processor SIMD instructions, which considerably improves painting performance. However note that NEON is only available for Cortex-A8 and later ARM CPUs.&lt;br /&gt;&lt;strong&gt;-platform win32-msvc2010&lt;/strong&gt;: this is the host Makespec, ie. the one we'll use to build qmake, moc, uic, and other tools running on the host. In this case we're using Visual Studio 2010, but you could replace it with win32-g++ if you want to use MinGW instead.&lt;br /&gt;&lt;strong&gt;-xplatform linux-arm-gnueabi-g++&lt;/strong&gt;: this is the target Makespec, ie. the one we'll use to build libraries, tools, and examples. This will use the CodeSourcery compiler and linker.&lt;br /&gt;&lt;br /&gt;You can of course add more options to it, for example to disable building some modules (like Qt3Support, Phonon, or Webkit) or to even skip building the additional tools like Assistant, Designer, etc., since those are useless on the target platform.  I usually also skip building the examples and demos, since those increase the build time considerably and I never use them.&lt;br /&gt;&lt;br /&gt;This is my typical command line:&lt;br /&gt;&lt;span style="background-color: #444444; color: #f3f3f3; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;C:\Dev\qt-4.8-src&amp;gt;configure.exe -debug -embedded -arch arm -neon -platform win32-msvc2010 -xplatform linux-arm-gnueabi-g++ -fast -no-phonon -no-webkit -no-qt3support -nomake tools -nomake translations -nomake examples -nomake demos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Normally the program should complete without errors. If you did get some, make sure your host toolchain is properly set up (tools in PATH, INCLUDE and LIB set if you're using Visual Studio), and that the proper makespec and architecture are selected (you can see it in the summary printed out by configure.exe before the makefiles are generated).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;u&gt;8) Cross-compiling Qt&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The final step is to build Qt, which is as simple as running your make tool in the top-level build folder (there should be a &lt;b&gt;Makefile&lt;/b&gt; in there now).&lt;br /&gt;&lt;br /&gt;Note however that if you used Visual Studio as the host toolchain, do &lt;b&gt;NOT&lt;/b&gt; use nmake to build Qt, as the target makefiles are generated for MinGW instead.&lt;br /&gt;&lt;br /&gt;I recommend just using &lt;b&gt;Jom&lt;/b&gt;, no matter which host toolchain you used. Jom handles both mingw and msvc makefiles, with -j support for parallel builds, and it's much faster than mingw32-make.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;u&gt;3) Profit&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So now is a good time to get a cofee and take a break! Depending on your machine and what modules you're building, this may take up to four hours for the build to complete. Also, Sourcery-G++ on Windows is substantially slower than the MSVC compiler or even MinGW, so don't be surprised if it seems slower than normal.&lt;br /&gt;&lt;br /&gt;Once the build is done, you'll find the Qt libraries as .so files in the &lt;i&gt;lib/&lt;/i&gt; directory, and the examples and demos in their respective directories if you built those.&lt;br /&gt;&lt;br /&gt;The libraries and executables can be copied directly onto your target board and run from there. If the toolchain matches the toolchain used for building your board image (release and machine versions), it will work out of the box. Otherwise you'll need to copy the sysroot from Sourcery-G++ as well on the board and make sure the app can find it. Note that you can use the sysroot from the linux installers instead of copying it from windows, which is a little easier to deploy. More details about sysroot handling with Sourcery-G++ &lt;a href="http://www.codesourcery.com/sgpp/lite/arm/portal/doc11473/getting-started.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;...and that's it!&lt;br /&gt;&lt;br /&gt;In the next post, I will show you how to cross-compile your own Qt applications as well, and how to use the new features in QtCreator 2.3 to cross-compile within the IDE, deploy the applications on the board, and even do remote debugging, all from your Windows desktop!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-4887491177008628708?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/4887491177008628708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2011/08/developping-for-qt-48-embedded-on.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/4887491177008628708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/4887491177008628708'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2011/08/developping-for-qt-48-embedded-on.html' title='Developping for Qt 4.8 Embedded on Windows'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-6372103114745640136</id><published>2011-08-09T14:37:00.000-07:00</published><updated>2011-08-09T14:37:15.740-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blabla'/><title type='text'>Oh boy, it's a boy!</title><content type='html'>The title says it all... I haven't made any "official" announcement on this blog yet, so here it is: &lt;strong&gt;we're having a baby&lt;/strong&gt;! My sweet wife Sahar is 5 months pregnant, and during today's ultrasound we could now clearly see a little "knack" between the baby's legs :)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-fw0zMoN7RaU/TkGnLQgvVWI/AAAAAAAAEgw/AW9hb7USpLg/s1600/US+08-09-11+-+it%2527s+a+boy.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="504" src="http://1.bp.blogspot.com/-fw0zMoN7RaU/TkGnLQgvVWI/AAAAAAAAEgw/AW9hb7USpLg/s640/US+08-09-11+-+it%2527s+a+boy.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So it seems that the Pokrzywka line will keep going for a little longer :)&lt;br /&gt;I love the position of the baby in that picture: the curve on the left is the baby's head, seen from the top, next to the "B" is the left arm, and on the top right is the butt and legs (which would be "coming out" of the picture).&lt;br /&gt;We&amp;nbsp;also&amp;nbsp;got a couple of pics from showing a leg and an arm, but they're kinda hard to see:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-veZzBHMNc0U/TkGn4RIghLI/AAAAAAAAEg0/3QvBbp2e-3w/s1600/US+08-09-11+-+foot%252Bhand.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/-veZzBHMNc0U/TkGn4RIghLI/AAAAAAAAEg0/3QvBbp2e-3w/s640/US+08-09-11+-+foot%252Bhand.jpg" width="365" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;We have another ultrasound on thursday, this time with more advanced machine and display, so check back for more picture of the little boy! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-6372103114745640136?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/6372103114745640136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2011/08/oh-boy-its-boy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/6372103114745640136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/6372103114745640136'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2011/08/oh-boy-its-boy.html' title='Oh boy, it&apos;s a boy!'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-fw0zMoN7RaU/TkGnLQgvVWI/AAAAAAAAEgw/AW9hb7USpLg/s72-c/US+08-09-11+-+it%2527s+a+boy.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-2062317829983140513</id><published>2011-04-14T21:12:00.000-07:00</published><updated>2011-04-14T21:12:59.640-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='KDAB'/><category scheme='http://www.blogger.com/atom/ns#' term='SF'/><category scheme='http://www.blogger.com/atom/ns#' term='Kontact'/><title type='text'>Short Story of a Long Struggle - Part 2: It's alive...</title><content type='html'>I'm freshly back from San Francisco, and among other things (like finding a place to live in Redwood Shores) I attended Camp KDE 2011 on Monday. It was great!&amp;nbsp;Thanks again to Celeste, Claudia, Justin, Jeff, and all the people who made this possible - you guys rock ! :)&lt;br /&gt;&lt;br /&gt;I was actually invited to give a talk about Kontact Touch&amp;nbsp;as part of the KDE on Mobile&amp;nbsp;track. For those who missed it and are interested, our awesome team of organizers have made it available online already :&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/rV_gZI44Yrg" title="YouTube video player" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;You can skip the setup downtime until 1:45, but the really interesting stuff starts at 15:00, when I'm performing a live demo of Kontact Touch on the Nokia N900. Will you manage to find the hidden crash in the demo ?? ;)&lt;br /&gt;&lt;br /&gt;At the end of my previous post&amp;nbsp;we left off at the point where we solved all the memory and platform issues on Windows CE. All issues ? Well, not exactly, there was still a small area of resistance...&lt;br /&gt;&lt;br /&gt;For an unknown reason, we would get random hangs during the initial account sync, or later on while trying to send mails, or browse folders. After some monitoring, we found out that those hangs were caused by socket notifications being lost on the way. We fixed a couple of bugs in Akonadi, solved a few dbus issues, but nope, the problem was still there. This was the beginning of a long hunt, involving multi-thread and multi-process debugging sessions, random reproducibility, and more fun.&lt;br /&gt;&lt;br /&gt;Anyway, this post is called Short Story of a Long Struggle, so long story short: the problem was coming from the Qt event dispatching and socket notifiers implementation for WinCE. The implementation was roughly based on the same logic that for desktop Windows, however on WinCE the underlying priorities for threads and event dispatching are quite different, so we basically ended in situation where we would starve some threads and processes, or would never get the socket handlers to be called. By now this was nothing that could frighten Marcus Brinkmann anymore, so he simply went forward and implemented a whole new Qt event dispatcher for WinCE ! With this new event dispatcher, the problems finally disappeared and we finally started having a stable Kontact Touch on WinCE, also fixing a few obscure bugs on the N900 at the same time. Victory !!!&lt;br /&gt;&lt;br /&gt;One we got that sorted, the last piece of the puzzle was to speed up a few parts and perform last-minute optimizations. As you can see on the video above, the result on N900 is really good. The apps are fast, responsive, and the animations are super smooth !&lt;br /&gt;&lt;br /&gt;Unfortunately, we can't really say the same about the TouchPro2... Despite our best efforts, Kontact Touch is still really slow and sluggish there. But I believe this is a limitation of the hardware itself, as Windows Mobile itself is painfully slow at times on the TP2, at the limit of unuseable. It's too bad really, as the app would rock there too if it only had a little beefier hardware.&lt;br /&gt;&lt;br /&gt;So this brings us to the end of this journey. This was a bumpy ride at time for sure, but we had an awesome team working together to make this happen against all odds. Thanks again to everybody involved at KDAB, Intevation and g10 code !&lt;br /&gt;&lt;br /&gt;Now it's time to look to the future, and I'm already having "Kontact Touch on Android" as the number one item on my list to Santa for Christmas :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-2062317829983140513?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/2062317829983140513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2011/04/short-story-of-long-struggle-part-2-its.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/2062317829983140513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/2062317829983140513'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2011/04/short-story-of-long-struggle-part-2-its.html' title='Short Story of a Long Struggle - Part 2: It&apos;s alive...'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/rV_gZI44Yrg/default.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-5168469493640662313</id><published>2011-03-25T21:38:00.000-07:00</published><updated>2011-03-25T21:38:29.384-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='KDEOnWindows'/><category scheme='http://www.blogger.com/atom/ns#' term='KDAB'/><category scheme='http://www.blogger.com/atom/ns#' term='Kontact'/><title type='text'>Short Story of a Long Struggle - Part 1: the announcement that never came...</title><content type='html'>Back in September I was writing about some HUGE announcement to come related to KDE on Windows. I got everybody holding their breath, even a bit of speculation going on, but then nothing happened. The announcement never came...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-iU3GDweye8U/TY1sVDdU6aI/AAAAAAAAEe0/40TweZdbxlI/s1600/mute.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" r6="true" src="https://lh6.googleusercontent.com/-iU3GDweye8U/TY1sVDdU6aI/AAAAAAAAEe0/40TweZdbxlI/s200/mute.jpg" width="186" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;So what happened ? What was that announcement about ? And why didn't it come&amp;nbsp;?&lt;br /&gt;&lt;br /&gt;Well, this is the short story of a long struggle...&lt;br /&gt;&lt;br /&gt;Our announcement was going to be about the porting of the KDE stack on Windows CE, including parts of kdelibs and kdepim, as well as all their dependencies: dbus, Akonadi, OpenSSL, SASL...&lt;br /&gt;&lt;br /&gt;However, just as we were getting the announcement ready after seeing the first kde-based apps running (the first ever was kde4-config.exe) we started hitting wall after wall...&lt;br /&gt;&lt;br /&gt;First, we got hit by the drastic process and memory limits of Windows CE5 (on top of which Windows Mobile is based), which&amp;nbsp;were so tight&amp;nbsp;that&amp;nbsp;&amp;nbsp;even starting the simplest apps would be problematic.&amp;nbsp;Just to name a few: maximum 32 processes can be running system-wide, and each process has a limit of 32MB of RAM, &lt;strong&gt;including &lt;/strong&gt;loaded DLLs. So first we had to go through a complete overhaul of the build process to try and work around those limitations, for example by switching&amp;nbsp;from DLLs&amp;nbsp;to static libraries. This was&amp;nbsp;so&amp;nbsp;that the unused parts of the libs&amp;nbsp;would be automatically discarded by the linker: bringing&amp;nbsp;20MB of DLL code for only a few used symbols is hardly a good idea when you're short on RAM. We also had&amp;nbsp;to get Qt to go through a severe diet, by removing every single unused feature we could find, and of course having to go through the KDE code to #ifdef out parts that were relying on these features.&lt;br /&gt;&lt;br /&gt;Once we were done, our next wall was the Visual Studio emulator, which is a great tool for testing when you don't have an actual Windows Mobile device, or even for faster debugging. But for some reason, the emulator couldn't handle more than 20 file handles being open or so. We looked for alternatives and it took us some time to work around it too, but as far as I know we never really found the cause for that one.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-wzNk0Mq3oyA/TY1sySp8oUI/AAAAAAAAEe4/nStX4trrUcU/s1600/viewerapp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" r6="true" src="https://lh3.googleusercontent.com/-wzNk0Mq3oyA/TY1sySp8oUI/AAAAAAAAEe4/nStX4trrUcU/s400/viewerapp.png" width="221" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;But then the memory issues hit us again: even with a slimmed Qt and static libraries, our executables were now quite large, and taking most of the allowed 32MB of process memory, which is heap+stack+program image+DLLs from all processes (yes, you read it right, but please don't even ask). This this left only very little heap space for the actual program, and that is not good news when you're running a QML app, with lots of images that have to be stored in heap memory. So we had to find a remedy. And it came from our fellow developer &lt;strong&gt;Marcus Brinkmann&lt;/strong&gt;, from g10code, which was our partner on the project. The idea was very simple, and at the same time completely crazy : write a custom program loader which loads the program in high-memory space instead of the process space. This is based on the fact that Windows CE has a huge portion of its virtual memory space that's unreserved, so it can be allocated e.g. for shared memory segments. By managing to get the program loaded in this area (called hi-mem), all the per-process limits are lifted. This seemed insane but it was our only option at that point, so we gave it a try. And guess what : in less than 3 weeks, Marcus got a a fully functional and working hi-mem program loader: &lt;strong&gt;himemce.exe&lt;/strong&gt;&amp;nbsp;! There are few things that really impress me in programming, but this was definitely one of them ! If you're interested, the code is available as part of gnupg's &lt;a href="git://cvs.gnupg.org/wincetools.git"&gt;wincetools&lt;/a&gt; repository and should be usable for any program on WindowsCE, not only KDE.&lt;br /&gt;&lt;br /&gt;But the dude didn't leave it here : since we could load the program in the hi-mem space, why not allocate our heap data there as well ? Well, no guts no glory ! So Marcus did it again, and faster than you can say "shallow grave" he brought us his infamous &lt;strong&gt;dlmalloc&lt;/strong&gt;, which is a malloc() replacement that allocates memory blocks in the hi-mem space. The last step was just to integrate that into our program as the underlying malloc() used by the operator new. And even better, by reimplementing qMalloc() we could even get all of Qt's heap allocations to be done into high memory ! Success at last !&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/--qJgPRP5MqQ/TY1tJ2bR7VI/AAAAAAAAEe8/r-qKjYGkj_c/s1600/knotes-mobile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="222" r6="true" src="https://lh6.googleusercontent.com/--qJgPRP5MqQ/TY1tJ2bR7VI/AAAAAAAAEe8/r-qKjYGkj_c/s400/knotes-mobile.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;So, with our applications now running without hitting the platform limits, you may think this is where the story ends... Happy ever after ? Well, yes, if you're in a Disney movie. But this is the real world, and ponies don't stay pink for long...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-5168469493640662313?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/5168469493640662313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2011/03/short-story-of-long-struggle-part-1.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/5168469493640662313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/5168469493640662313'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2011/03/short-story-of-long-struggle-part-1.html' title='Short Story of a Long Struggle - Part 1: the announcement that never came...'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-iU3GDweye8U/TY1sVDdU6aI/AAAAAAAAEe0/40TweZdbxlI/s72-c/mute.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-387512185829312155</id><published>2011-03-25T20:07:00.000-07:00</published><updated>2011-03-25T21:46:53.781-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='KDEOnWindows'/><category scheme='http://www.blogger.com/atom/ns#' term='KDAB'/><category scheme='http://www.blogger.com/atom/ns#' term='SF'/><category scheme='http://www.blogger.com/atom/ns#' term='Kontact'/><title type='text'>It's that time of the year!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://camp.kde.org/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" r6="true" src="http://camp.kde.org/gotocamp.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Finally ! After a long year of waiting, it's time again for Camp KDE, and this time we're going to rock&amp;nbsp;San Francisco&amp;nbsp;!&lt;br /&gt;&lt;br /&gt;I can't wait to meet with our KDE developers and enthusiasts on the other side of the Atlantic. Like last year, I have the honor of giving a talk around KDE on Windows. However, this time I won't be talking about &lt;em&gt;desktop&lt;/em&gt; Windows, but&lt;em&gt;&amp;nbsp; mobile&lt;/em&gt;&amp;nbsp;Windows...&lt;br /&gt;&lt;br /&gt;In fact, I will be presenting the &lt;strong&gt;&lt;a href="http://userbase.kde.org/Kontact_Touch"&gt;Kontact Touch&lt;/a&gt;&lt;/strong&gt; project: KDE's professional Personal Information Management client targeting touch-enabled form factors, including smartphones and tablets. Topics will include porting the whole KDEPIM stack to mobile platforms including Maemo and Windows Mobile, as well as rewriting the whole UI using the bleeding edge Qt Quick framework, and it will of course include demos, which will be on multiple devices, including an HTC TouchPro2 running Windows Mobile, a Nokia N900 running Maemo, and an IBM tablet running Meego.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Update: a few teasers below...&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-2GPSpxl2FTs/TY1ua9hMIyI/AAAAAAAAEfA/prC3kIEsCX4/s1600/31012011119.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" r6="true" src="https://lh5.googleusercontent.com/-2GPSpxl2FTs/TY1ua9hMIyI/AAAAAAAAEfA/prC3kIEsCX4/s400/31012011119.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-G6Hdr_26MBQ/TY1u20xUuzI/AAAAAAAAEfE/KezRSODimXQ/s1600/31012011120.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" r6="true" src="https://lh5.googleusercontent.com/-G6Hdr_26MBQ/TY1u20xUuzI/AAAAAAAAEfE/KezRSODimXQ/s400/31012011120.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;So if you're around the Bay Area on Monday April 4th and you want to see how cool the KDE technologies can be on the mobile side, don't miss Camp KDE !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-387512185829312155?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://camp.kde.org' title='It&apos;s that time of the year!'/><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/387512185829312155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2011/03/its-that-time-of-year.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/387512185829312155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/387512185829312155'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2011/03/its-that-time-of-year.html' title='It&apos;s that time of the year!'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-2GPSpxl2FTs/TY1ua9hMIyI/AAAAAAAAEfA/prC3kIEsCX4/s72-c/31012011119.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-8011981587918152353</id><published>2010-09-16T16:01:00.000-07:00</published><updated>2010-09-16T16:01:03.406-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='KDEOnWindows'/><title type='text'>Crash in style</title><content type='html'>Wow!&lt;br /&gt;&lt;br /&gt;I've just started by freshly built KDEPIM trunk on the desktop, and I got a crash in one of the Nepomuk service stubs... but that's not the reason for my amazement :)&lt;br /&gt;&lt;br /&gt;No, the reason is that instead of the way-too-common and ugly Windows crash dialog, I got this nice KDE Crash Handler that surely looks familiar to the Linux users :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_7fMtIy-pqiA/TJKfYVeLV1I/AAAAAAAAEUw/7-Fwdd3VxRE/s1600/kcrashhandler1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" qx="true" src="http://1.bp.blogspot.com/_7fMtIy-pqiA/TJKfYVeLV1I/AAAAAAAAEUw/7-Fwdd3VxRE/s400/kcrashhandler1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Even nicer, the "Developer Information" tab gives a complete stack trace at the time of the crash, giving us precious information to track&amp;nbsp;it down :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_7fMtIy-pqiA/TJKfaqGc3qI/AAAAAAAAEU4/xvuay1io26g/s1600/kcrashhandler2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" qx="true" src="http://3.bp.blogspot.com/_7fMtIy-pqiA/TJKfaqGc3qI/AAAAAAAAEU4/xvuay1io26g/s400/kcrashhandler2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This will not only help us during testing, but it will also make it easier for the casual users to report issues and provide the necessary information to fix those unfortunate mishaps.&lt;br /&gt;&lt;br /&gt;That's a nice little feature, and it was implemented by Ilie Halip, as part of a GSOC project. Nice work Ilie !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-8011981587918152353?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/8011981587918152353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2010/09/crash-in-style.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/8011981587918152353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/8011981587918152353'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2010/09/crash-in-style.html' title='Crash in style'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_7fMtIy-pqiA/TJKfYVeLV1I/AAAAAAAAEUw/7-Fwdd3VxRE/s72-c/kcrashhandler1.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-5930151049233306727</id><published>2010-09-08T16:17:00.000-07:00</published><updated>2010-09-08T16:17:10.068-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='KDEOnWindows'/><title type='text'>Facelift for windows.kde.org</title><content type='html'>The &lt;a href="http://windows.kde.org/"&gt;KDE-on-Windows website&lt;/a&gt; has gotten a facelift !&lt;br /&gt;It now has the same style as the other KDE websites, and a lot of content has been updated in the process, to reflect the latest status of the project and its team.&lt;br /&gt;&lt;br /&gt;Thanks to the webmasters and to Ralf Habacker for the updates.&lt;br /&gt;&lt;br /&gt;It's a good opportunity to go and download the latest kdewin installer&amp;nbsp;:)&lt;br /&gt;&lt;br /&gt;ps: stay tuned for some news from the KDE-Windows team, with a &lt;strong&gt;HUGE&lt;/strong&gt; announcement coming in the following days... ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-5930151049233306727?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/5930151049233306727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2010/09/facelift-for-windowskdeorg.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/5930151049233306727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/5930151049233306727'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2010/09/facelift-for-windowskdeorg.html' title='Facelift for windows.kde.org'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-4619261250410552429</id><published>2010-06-05T10:31:00.000-07:00</published><updated>2010-06-05T10:32:37.653-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='KDEOnWindows'/><category scheme='http://www.blogger.com/atom/ns#' term='KDAB'/><title type='text'>KDE on Windows meeting in Osnabrück</title><content type='html'>Sunny greetings from your beloved KDE-on-Windows team in Osnabrück, where Intevation GmbH kindly offered to host the event for the weekend !&lt;br /&gt;&lt;br /&gt;So here we are with Patrick (x2), Ralf, Andre, Andreas, Ilie, Bernhard&amp;nbsp;and myself. Lots of interesting&amp;nbsp;discussions about packaging, dbus, builds, as well as&amp;nbsp;past, present,&amp;nbsp;and near-future platforms (including win64 and... Windows Mobile !).&lt;br /&gt;&lt;br /&gt;We also talked about how to improve our communication with the users and our fellow KDE hackers, and how to handle our small community.&lt;br /&gt;&lt;br /&gt;Unfortunately I couldn't stay more than today, but I had a great time nevertheless and it was nice to meet those familiar irc nicks in person at last :)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_7fMtIy-pqiA/TAqItelGFNI/AAAAAAAAET0/3y-TTdMwFXI/s1600/SAM_0671.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" gu="true" src="http://4.bp.blogspot.com/_7fMtIy-pqiA/TAqItelGFNI/AAAAAAAAET0/3y-TTdMwFXI/s320/SAM_0671.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;em&gt;&lt;span style="font-size: xx-small;"&gt;The KDE-Windows family :&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;em&gt;&lt;span style="font-size: xx-small;"&gt;(top) Patrick Von Reth, Patrick Spendrin, Ralf Habacker, Ilie Halip, Romain Pokrzywka, Andre Heineke&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;em&gt;&lt;span style="font-size: xx-small;"&gt;(bottom) Bernhard Reiter, Andreas Holzammer&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-4619261250410552429?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/4619261250410552429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2010/06/kde-on-windows-meeting-in-osnabruck.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/4619261250410552429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/4619261250410552429'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2010/06/kde-on-windows-meeting-in-osnabruck.html' title='KDE on Windows meeting in Osnabrück'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_7fMtIy-pqiA/TAqItelGFNI/AAAAAAAAET0/3y-TTdMwFXI/s72-c/SAM_0671.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-2374443333203139569</id><published>2010-03-14T18:58:00.000-07:00</published><updated>2010-03-14T18:59:58.421-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blabla'/><category scheme='http://www.blogger.com/atom/ns#' term='SF'/><title type='text'>Un peu de soleil...</title><content type='html'>... pour ceux qui en manquent dans nos contrées européennes...&lt;br /&gt;&lt;br /&gt;quelques photos du weekend passé, avec un temps magnifique et un thermomètre qui a atteint les 18 degres le dimanche après-midi.&lt;br /&gt;&lt;br /&gt;Tout d'abord rien de tel qu'un tour au marché des producteurs locaux (et bio) le samedi matin à l'extérieur du Ferry Building sur les quais :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_7fMtIy-pqiA/S5xUUd3Jp3I/AAAAAAAAEN4/0Iwn0Vrc48k/s1600/IMG_8459.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="263" src="http://lh3.ggpht.com/_7fMtIy-pqiA/S5xUUd3Jp3I/AAAAAAAAEN4/0Iwn0Vrc48k/s400/IMG_8459.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_7fMtIy-pqiA/S5xUYgKMKKI/AAAAAAAAEOM/bYHDuuxG3Rs/s1600/IMG_8465.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://lh3.ggpht.com/_7fMtIy-pqiA/S5xUYgKMKKI/AAAAAAAAEOM/bYHDuuxG3Rs/s400/IMG_8465.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_7fMtIy-pqiA/S5xUX86IDGI/AAAAAAAAEOI/2h0qoZxF0D0/s1600/IMG_8464.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://lh4.ggpht.com/_7fMtIy-pqiA/S5xUX86IDGI/AAAAAAAAEOI/2h0qoZxF0D0/s400/IMG_8464.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh6.ggpht.com/_7fMtIy-pqiA/S5xUanK3UzI/AAAAAAAAEQ8/DqRDWBqlKv4/s1600/IMG_8469.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://lh6.ggpht.com/_7fMtIy-pqiA/S5xUanK3UzI/AAAAAAAAEQ8/DqRDWBqlKv4/s400/IMG_8469.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Puis profiter de l'après-midi pour aller se balader le long des avenues à palmiers et faire un tour en cable-car...&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_7fMtIy-pqiA/S5xUbYkRg8I/AAAAAAAAERE/6nQDYaVzMFw/s1600/IMG_8470.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="267" src="http://lh3.ggpht.com/_7fMtIy-pqiA/S5xUbYkRg8I/AAAAAAAAERE/6nQDYaVzMFw/s400/IMG_8470.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_7fMtIy-pqiA/S5xUdDsWpfI/AAAAAAAAERM/WjxrmrkRn-E/s1600/IMG_8472.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://lh3.ggpht.com/_7fMtIy-pqiA/S5xUdDsWpfI/AAAAAAAAERM/WjxrmrkRn-E/s400/IMG_8472.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_7fMtIy-pqiA/S5xUgytfKgI/AAAAAAAAEO4/1td329H_qlw/s1600/IMG_8479.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://lh3.ggpht.com/_7fMtIy-pqiA/S5xUgytfKgI/AAAAAAAAEO4/1td329H_qlw/s400/IMG_8479.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh6.ggpht.com/_7fMtIy-pqiA/S5xUhin3cFI/AAAAAAAAERU/166S4x-gV8I/s1600/IMG_8480.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://lh6.ggpht.com/_7fMtIy-pqiA/S5xUhin3cFI/AAAAAAAAERU/166S4x-gV8I/s640/IMG_8480.JPG" width="425" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh5.ggpht.com/_7fMtIy-pqiA/S5xUiSbLiSI/AAAAAAAAERc/94UpJRdL8tM/s1600/IMG_8481.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://lh5.ggpht.com/_7fMtIy-pqiA/S5xUiSbLiSI/AAAAAAAAERc/94UpJRdL8tM/s400/IMG_8481.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_7fMtIy-pqiA/S5xUlwn0o5I/AAAAAAAAERk/z35N1PAdsgs/s1600/IMG_8487.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://lh4.ggpht.com/_7fMtIy-pqiA/S5xUlwn0o5I/AAAAAAAAERk/z35N1PAdsgs/s400/IMG_8487.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Quant au dimanche, un repos bien mérité au bord de la piscine, et un petit barbecue pour finir le weekend en beauté :)&lt;br /&gt;&lt;br /&gt;Courage, le printemps arrive !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-2374443333203139569?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/2374443333203139569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2010/03/un-peu-de-soleil.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/2374443333203139569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/2374443333203139569'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2010/03/un-peu-de-soleil.html' title='Un peu de soleil...'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_7fMtIy-pqiA/S5xUUd3Jp3I/AAAAAAAAEN4/0Iwn0Vrc48k/s72-c/IMG_8459.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-6345151834414133287</id><published>2010-02-17T00:28:00.000-08:00</published><updated>2010-02-17T00:29:41.862-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDAB'/><category scheme='http://www.blogger.com/atom/ns#' term='SF'/><title type='text'>KDAB Bay Area office</title><content type='html'>Here are the first photos from the shiny new KDAB Bay Area office in San Bruno (just south of San Francisco). Isn't it awesome ?! :)&lt;br /&gt;&lt;br /&gt;&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="400" height="267" flashvars="host=picasaweb.google.com&amp;hl=en_US&amp;feat=flashalbum&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fromain.pokrzywka%2Falbumid%2F5439105742144934033%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-6345151834414133287?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/6345151834414133287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2010/02/kdab-bay-area-office.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/6345151834414133287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/6345151834414133287'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2010/02/kdab-bay-area-office.html' title='KDAB Bay Area office'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-889385531186761787</id><published>2010-02-17T00:22:00.000-08:00</published><updated>2010-02-17T00:22:42.100-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blabla'/><category scheme='http://www.blogger.com/atom/ns#' term='SF'/><title type='text'>Une pensée pour ceux qui ont froid</title><content type='html'>J'ai pensé à vous ce weekend, vous qui avez froid, qui avec les pieds mouillés par la neige, vous qui en avez marre de l'hiver... Oui, j'ai pensé à vous dimanche, depuis la terrasse ou je sirotais une bière bien fraiche sous un beau soleil et avec presque 20 degrés... Je pensais encore à vous ce matin, en marchant tranquillement au boulot en chemise et sans veste... Ok, j'arrête... :P&lt;br /&gt;&lt;br /&gt;Je vous rassure, j'ai aussi pensé à vous la semaine dernière quand j'étais à Milwaukee, quand la tempete est arrivée et qu'il est tombé 30cm de neige en une soirée...&lt;br /&gt;&lt;br /&gt;Allez, quelques images du weekend:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_7fMtIy-pqiA/S3uYbohpRhI/AAAAAAAAEJw/xLOjOrgzBXA/s1600/IMG_8311.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ct="true" src="http://lh3.ggpht.com/_7fMtIy-pqiA/S3uYbohpRhI/AAAAAAAAEJw/xLOjOrgzBXA/s320/IMG_8311.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;em&gt;vue sur la marina, le Golden Gate et la baie, depuis le haut de Fillmore Street&lt;/em&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;em&gt;&lt;/em&gt;&lt;a href="http://lh3.ggpht.com/_7fMtIy-pqiA/S3uYcq5FpfI/AAAAAAAAEJ0/IOrOD81KzO0/s1600/IMG_8314.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ct="true" src="http://lh3.ggpht.com/_7fMtIy-pqiA/S3uYcq5FpfI/AAAAAAAAEJ0/IOrOD81KzO0/s320/IMG_8314.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;em&gt;les "Painted Ladies" d'Alamo Square&lt;/em&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh6.ggpht.com/_7fMtIy-pqiA/S3uYdW3h36I/AAAAAAAAEJ4/pns2NxwEmnU/s1600/IMG_8380.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ct="true" src="http://lh6.ggpht.com/_7fMtIy-pqiA/S3uYdW3h36I/AAAAAAAAEJ4/pns2NxwEmnU/s320/IMG_8380.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;em&gt;la (douloureuse) montée vers la Coit tower&lt;/em&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh6.ggpht.com/_7fMtIy-pqiA/S3uYd3_vHdI/AAAAAAAAEJ8/k_h43MX_RZs/s1600/IMG_8390.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ct="true" src="http://lh6.ggpht.com/_7fMtIy-pqiA/S3uYd3_vHdI/AAAAAAAAEJ8/k_h43MX_RZs/s320/IMG_8390.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;em&gt;Coucher de soleil en haut de la Coit Tower, avec le Golden Gate en fond&lt;/em&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_7fMtIy-pqiA/S3uYe2-MZoI/AAAAAAAAEKA/P7_xMO0hk4A/s1600/IMG_8430.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ct="true" src="http://lh3.ggpht.com/_7fMtIy-pqiA/S3uYe2-MZoI/AAAAAAAAEKA/P7_xMO0hk4A/s320/IMG_8430.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;em&gt;Quartier financier et&amp;nbsp;le&amp;nbsp;Bay Bridge, qui relie San Francisco à Oakland&lt;/em&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" ct="true" src="http://lh6.ggpht.com/_7fMtIy-pqiA/S3uYgnc8xkI/AAAAAAAAEKI/k_jOs3x9b-8/s320/IMG_8438.JPG" /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;em&gt;Downtown et la tour "pyramide" Transamerica&lt;/em&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-889385531186761787?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/889385531186761787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2010/02/une-pensee-pour-ceux-qui-ont-froid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/889385531186761787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/889385531186761787'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2010/02/une-pensee-pour-ceux-qui-ont-froid.html' title='Une pensée pour ceux qui ont froid'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_7fMtIy-pqiA/S3uYbohpRhI/AAAAAAAAEJw/xLOjOrgzBXA/s72-c/IMG_8311.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-7044325313730011950</id><published>2010-02-16T23:50:00.000-08:00</published><updated>2010-02-16T23:50:57.669-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blabla'/><category scheme='http://www.blogger.com/atom/ns#' term='SF'/><title type='text'>Merci les voisins !</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Bonne nouvelle pour ceux qui trouvaient ma chambre un peu spartiate: elle est maintenant bien meublée, avec une chaise de bureau, un sofa 3 places et un vrai lit avec sommier:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh5.ggpht.com/_7fMtIy-pqiA/S3uUQ-Q-hiI/AAAAAAAAEG0/hjUgiB6BwDo/s1600/IMG_8450.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ct="true" src="http://lh5.ggpht.com/_7fMtIy-pqiA/S3uUQ-Q-hiI/AAAAAAAAEG0/hjUgiB6BwDo/s320/IMG_8450.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_7fMtIy-pqiA/S3uUQZIOuDI/AAAAAAAAEGw/Ev1a277tM_8/s1600/IMG_8447.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ct="true" src="http://lh3.ggpht.com/_7fMtIy-pqiA/S3uUQZIOuDI/AAAAAAAAEGw/Ev1a277tM_8/s320/IMG_8447.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Cerise sur le gateau : ça ne m'a pas couté un centime ! :D&lt;br /&gt;J'ai tout trouvé en bas de l'immeuble ou&amp;nbsp;dans le garage, prêt à être balancé, et en parfait état, juste un petit coup de nettoyage et roule Pédro... bref, merci les voisins !&lt;br /&gt;&lt;br /&gt;Note: ok, &lt;em&gt;tout&lt;/em&gt; ne vient pas de la récup...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_7fMtIy-pqiA/S3uPlrlyXYI/AAAAAAAAEGk/CqGpbP9jHJE/s1600/IMG_8369.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ct="true" src="http://lh4.ggpht.com/_7fMtIy-pqiA/S3uPlrlyXYI/AAAAAAAAEGk/CqGpbP9jHJE/s320/IMG_8369.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;voilà mon nouveau bébé à 5 cordes :)&lt;br /&gt;Certes déraisonnable, mais l'occasion était trop bonne...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-7044325313730011950?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/7044325313730011950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2010/02/merci-les-voisins.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/7044325313730011950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/7044325313730011950'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2010/02/merci-les-voisins.html' title='Merci les voisins !'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_7fMtIy-pqiA/S3uUQ-Q-hiI/AAAAAAAAEG0/hjUgiB6BwDo/s72-c/IMG_8450.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-3154691222844789567</id><published>2010-02-01T01:14:00.000-08:00</published><updated>2010-02-01T10:56:55.654-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blabla'/><category scheme='http://www.blogger.com/atom/ns#' term='SF'/><title type='text'>C'est parti...</title><content type='html'>Allez hop, une petite mise à jour pour dire que je suis toujours en vie, et les choses commencent à se mettre en place ici, ce qui est une bonne chose.&lt;br /&gt;&lt;br /&gt;J'étais donc à San Diego il y a deux semaines pour la conférence Camp KDE 2010, ou j'ai eu le plaisir de revoir des personnes que j'ai rencontré l'année dernière en Jamaique et au Canaries. Plusieurs de mes collègues étaient également présents, ce fut donc l'occasion de faire un peu de travail en équipe, et surtout de passer des bonnes soirées. Meme si le temps n'a pas été en notre faveur (pluies torrentielles toute la semaine...) notre collègue mexicain nous a quand meme emmené faire un tour à Tijuana pour déguster quelques tacos arrosés de Corona, et tenter d'échaper aux vendeurs de drogue, aux kidnappeurs, etc. (je rigole!).&lt;br /&gt;&lt;br /&gt;De retour à San Francisco, ça y est j'ai emménagé dans mon nouveau bureau ! J'en suis très content, malgré un trajet un chouia long, mais le plaisir de retrouver mon écran 24" compense largement tout inconvénient. Détail important: le café est meilleur que ce à quoi je m'attendais :) Comme quoi tout est possible.&lt;br /&gt;&lt;br /&gt;Ce weekend fut mon premier vrai weekend à San Francisco, et j'en ai profité pleinement :&lt;br /&gt;&lt;br /&gt;Vendredi soir je suis allé voir Avatar, en 3D et dans une salle IMAX. Wow. Tout est dit. Passé les 15 minutes d'adaptation pour les yeux, j'ai été positivement surpris de ce que la 3D ajoute, sans compter les superbes effets visuels du film. Le tout sur un écran de plus de 7m de haut, histoire de faire bien. Vivement la sortie d'Alice de Tim Burton...&lt;br /&gt;&lt;br /&gt;Samedi fut une excellente journée. Je pourrais parler du soleil, du temps printannier parfait pour profiter de la piscine de la résidence, mais je m'abstiendrai par solidarité avec ceux qui sont dans le froid et la neige... :P&lt;br /&gt;J'ai profité de l'après-midi pour aller me balader en ville, bien ri en traversant un quartier hippie comptant autant de smoke shops que de restaurants, et avec une odeur persistante de je-ne-sais-quoi, mais j'ai surtout succombé à une autre tentation (parfaitement légale celle là, bien que complètement déraisonnable) et fait une l'acquisition d'un nouveau joujou... Je n'en dis pas plus pour le moment, photos à venir...&lt;br /&gt;&lt;br /&gt;Le soir j'ai découvert le quartier latino de Mission, et vu mon premier concert dans cette ville. Quelques groupes de rock locaux, dont le dernier m'a littéralement laissé ébahi. Des petits jeunes mais qui envoyaient sévère...&lt;br /&gt;&lt;br /&gt;Dimanche, retour à Mission pour un "meetup" francophone dans un café tenu par un français. J'ai fait quelques rencontres sympas. Globalement je suis surpris par la facilité avec laquelle je me fais des contacts ici, que ce soit par l'intermédiaire de ma coloc ou à travers le boulot, j'ai déjà plusieurs vrais contacts. Et cette semaine va également s'annoncer riche en rencontres, avec une soirée business networking lundi soir, des soirées francophones mercredi et jeudi soir, et sorties prévues le weekend... J'ai d'ailleurs trouvé "mon" bar, à quelques blocs de chez moi. Il y a une super ambiance, des bonnes bières (non, je ne veux pas dire de la bud light) et plein de gens souvent très prompts à engager la conversation. Que demander de mieux :)&lt;br /&gt;&lt;br /&gt;SF 0wnz !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-3154691222844789567?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/3154691222844789567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2010/02/cest-parti.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/3154691222844789567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/3154691222844789567'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2010/02/cest-parti.html' title='C&apos;est parti...'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-6848836572273723444</id><published>2010-01-16T11:05:00.000-08:00</published><updated>2010-01-16T11:05:24.960-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='KDEOnWindows'/><category scheme='http://www.blogger.com/atom/ns#' term='Blabla'/><title type='text'>Camping in San Diego</title><content type='html'>So after a mere 50 minutes flight from San Francisco, here I am in sunny San Diego for Camp KDE 2010, meeting several of my colleagues from KDAB, some old friends, a couple of very old ones, and lots of new ones :)&lt;br /&gt;&lt;br /&gt;The schedule is packed with interesting talks, and I'll try my best to present the current state of things on the Windows side during my own talk tomorrow...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-6848836572273723444?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/6848836572273723444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2010/01/camping-in-san-diego.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/6848836572273723444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/6848836572273723444'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2010/01/camping-in-san-diego.html' title='Camping in San Diego'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-1182847852108779907</id><published>2010-01-13T00:18:00.000-08:00</published><updated>2010-01-13T00:28:27.362-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blabla'/><category scheme='http://www.blogger.com/atom/ns#' term='SF'/><title type='text'>un SF à SF</title><content type='html'>Pour tous ceux qui savent que j'ai déménagé depuis à SF depuis une semaine (ou pas), voici quelques nouvelles, ainsi que des photos de l'appart :&lt;br /&gt;&lt;br /&gt;&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="480" height="360" flashvars="host=picasaweb.google.com&amp;captions=1&amp;hl=en_US&amp;feat=flashalbum&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fromain.pokrzywka%2Falbumid%2F5426121907470753153%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;(cliquez sur le diaporama pour avoir les images en grand)&lt;br /&gt;&lt;br /&gt;So far so good... tout se passe bien, depuis mon voyage qui s'est déroulé sans problème ni meme une seule minute de retard. Pas de signe de psychose post-terroriste-nigérien à Francfort, échappé de justesse à la neige, et aucun souci à l'arrivée, bref un bon départ.&lt;br /&gt;&lt;br /&gt;Arrivée à l'appart, il était comme je m'en souvenais, avec&amp;nbsp;en prime quelques meubles et un lit (enfin, un matelas) dans la chambre, et surtout sur une tv 42" ! :) C'est un peu spartiate, mais suffisant pour le moment. &amp;nbsp;En outre, j'ai deux grandes penderies pour les affaires, une cuisine toute équipée, sdb tip-top. Quant à la résidence,&amp;nbsp;c'est du bonheur&amp;nbsp;: piscine extérieure chauffée, jacuzzi, sauna, salle de sport (avec tv perso sur les machines !), laverie, et j'en passe...&lt;br /&gt;&lt;br /&gt;J'ai un peu commencé à explorer le quartier, depuis le café Murano en bas de chez moi (dont le patron parle français) à la rue Fillmore pleine de cafés, restos, et meme un ciné. Sans oublier Japantown juste en face ! Outre le supermarché japonais (qui a de la sauce Goma :D), il y a une galerie pleine de&amp;nbsp;restaurants, on se croirait&amp;nbsp;là bas, jusqu'à la&amp;nbsp;présentation des plats en cire à&amp;nbsp; l'entrée. On y retrouve de tout, même des okonomi yaki :) Et bien sur les innombrables sushi bars aux alentours.&lt;br /&gt;&lt;br /&gt;Au niveau des surprises, premier jour... premier tremblement de terre. Puis un autre le deuxième jour, puis un autre... Espérons que ça n'annonce pas le "big one", ce qui ne serait franchement pas de pot !&lt;br /&gt;&lt;br /&gt;Et non, il ne fait pas 30 degrés, plutot 10-12 et nuageux. Certes, c'est mieux que 10cm de neige... (que j'aurais quand même&amp;nbsp;bien aimé voir au passage)&lt;br /&gt;&lt;br /&gt;Pas le temps de s'ennuyer, meme si j'ai de temps en temps un petit pincement en repensant à Strasbourg... A ce propos, point TRES important : j'ai trouvé où acheter du Munster, Comté, camembert, et autres fromages français ! Les prix sont indécents, mais en cas d'urgence... :) De meme pour le pain, j'en ai trouvé du très correct, donc tout n'est pas perdu ! J'ai aussi visité le superbe marché couvert de l'embarcadero, avec producteurs bio locaux. On y trouve de magnifiques fruits, légumes, et même fromages, mais il faut être prêt à y mettre le prix... &lt;br /&gt;&lt;br /&gt;Voilà, j'ai à peu près pris mes marques, le décalage horaire est presque parti, le boulot relancé, et je me prépare à aller à San Diego vendredi pour une conférence pour le boulot. Au retour de San Diego j'irai m'installer dans mon nouveau bureau à San Bruno (au sud de San Francisco).&lt;br /&gt;&lt;br /&gt;A bientôt pour d'autres nouvelles, et des photos du bureau !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-1182847852108779907?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/1182847852108779907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2010/01/un-sf-sf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/1182847852108779907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/1182847852108779907'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2010/01/un-sf-sf.html' title='un SF à SF'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-9216083080784108039</id><published>2009-12-31T08:13:00.000-08:00</published><updated>2010-01-16T11:07:43.581-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='KDEOnWindows'/><category scheme='http://www.blogger.com/atom/ns#' term='Nepomuk'/><category scheme='http://www.blogger.com/atom/ns#' term='Akonadi'/><title type='text'>News from the KDEWin front - Part 2</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;Following the &lt;a href="http://c2143.blogspot.com/2009/12/news-from-kdewin-front-part-1.html"&gt;previous article&lt;/a&gt;, there's more exciting news in Windows-land ! In addition to Akonadi, we have another core technology of the KDE Platform &lt;span style="font-size: xx-small;"&gt;(+10points) &lt;/span&gt;&lt;span style="font-size: small;"&gt;up and running: &lt;strong&gt;&lt;a href="http://trueg.wordpress.com/2009/07/16/what-nepomuk-can-do-and-how-you-should-use-it-as-a-developer/"&gt;Nepomuk&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The main task was to adjust to Virtuoso now being the official backend for Soprano, but only&amp;nbsp;a surprisingly small amount of work was needed in order to get the Virtuoso backend to run on Windows. And guess what, it works&amp;nbsp;like a charm, and it's &lt;em&gt;fast&lt;/em&gt;. A big thumbs up to the people at &lt;a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main"&gt;OpenLink&lt;/a&gt; for providing us with a great open source version of their database.&lt;br /&gt;&lt;br /&gt;With both these technologies at hand, there's a lot of potential for things we can achieve, on linux of course but also on Windows. To give you a little teaser, have a look at&amp;nbsp; the screenshot below :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_7fMtIy-pqiA/SzzEIofF7LI/AAAAAAAAD-0/8eKkNcWEJ8Q/s1600-h/akonadiconsole-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ps="true" src="http://2.bp.blogspot.com/_7fMtIy-pqiA/SzzEIofF7LI/AAAAAAAAD-0/8eKkNcWEJ8Q/s400/akonadiconsole-2.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This is the akonadi console on Windows showing a running agent based on Nepomuk: the contact feeder. This agent scans your resources and automatically extracts all contacts found (based on&amp;nbsp;email addresses, event organizers, address book entries, etc...) and adds them to the Nepomuk storage.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;You can then use the &lt;a href="http://trueg.wordpress.com/2009/12/07/convenient-querying-in-libnepomuk/"&gt;convenient querying API of Nepomuk&lt;/a&gt; to extract that information and put it back in context. For example, the following screenshot shows&amp;nbsp;the results of searching Akonadi contacts by email address, these contacts having been automatically&amp;nbsp;extracted by the Nepomuk contact feeder agent :&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_7fMtIy-pqiA/SzzGfoeH91I/AAAAAAAAD-8/m3-VpW2nE2A/s1600-h/akonadiconsole-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ps="true" src="http://4.bp.blogspot.com/_7fMtIy-pqiA/SzzGfoeH91I/AAAAAAAAD-8/m3-VpW2nE2A/s400/akonadiconsole-3.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;As you can see, the results are Akonadi items, not just strings. (note that for that example we use a &lt;a href="http://pvanhoof.be/blog/index.php/2009/07/14/introduction-to-rdf-and-sparql"&gt;SPARQL&lt;/a&gt; query, which is&amp;nbsp;the querying language used internally by Nepomuk and Soprano).&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Pretty cool huh ? :) This is just one simple example of what we can achieve by combining Akonadi and Nepomuk, and there many many more at hand...&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Thanks a lot to Sebastian Trueg, the man behind Nepomuk and Soprano, for his help and cooperation in getting the Virtuoso backend running on windows,&amp;nbsp;and to his&amp;nbsp;employer Mandriva for their support !&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;So...that's it !&amp;nbsp;2009 is out, and it was a good year for KDE in general and KDEWin in particular. Now it's time to go celebrate another great year to come !&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Happy New Year everybody, and see some of you in a few weeks at CampKDE in San Diego !&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;CHEERS !!!&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-9216083080784108039?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/9216083080784108039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2009/12/news-from-kdewin-front-part-2.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/9216083080784108039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/9216083080784108039'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2009/12/news-from-kdewin-front-part-2.html' title='News from the KDEWin front - Part 2'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_7fMtIy-pqiA/SzzEIofF7LI/AAAAAAAAD-0/8eKkNcWEJ8Q/s72-c/akonadiconsole-2.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-1024553228422384823</id><published>2009-12-18T05:23:00.000-08:00</published><updated>2010-01-16T11:07:43.581-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='KDEOnWindows'/><category scheme='http://www.blogger.com/atom/ns#' term='KDAB'/><category scheme='http://www.blogger.com/atom/ns#' term='Akonadi'/><category scheme='http://www.blogger.com/atom/ns#' term='Kontact'/><title type='text'>News from the KDEWin front - Part 1</title><content type='html'>If you've been wondering how KDE on Windows is doing lately, well we're actually doing pretty good, particularly on the PIM side where we have reached important milestones this week.&lt;br /&gt;&lt;br /&gt;First of all, Kontact on Windows got quite some TLC over the past months, with lots of stability improvements and bugfixes. Just to name a few : proper timezones support, ical calendars, GnuPG integration using &lt;a href="http://www.gpg4win.org/"&gt;gpg4win&lt;/a&gt; (in collaboration with our friends at &lt;a href="http://www.g10code.com/main.html"&gt;g10&lt;/a&gt;), and more...&lt;br /&gt;Of course&amp;nbsp;this&amp;nbsp;is&amp;nbsp;all in trunk, so feel free to give it a try using our cool emerge build tool or using the kdewin installer ! Alternatively, for a more conservative choice you can try the enterprise4 branch of kdepim, available under the enterprise4 category in emerge. This branch has its own&amp;nbsp;tag of kdelibs and frozen dependencies, so it's less likely to break or have regressions. I use it as my email and&amp;nbsp;groupware client&amp;nbsp;at work, and I haven't had a single crash in months ! ;)&lt;br /&gt;&lt;br /&gt;But the &lt;em&gt;real&lt;/em&gt; news come from the next version of Kontact, based on &lt;a href="http://pim.kde.org/akonadi/"&gt;Akonadi&lt;/a&gt;. Our team of fearless developers&amp;nbsp;at &lt;a href="http://www.kdab.com/"&gt;KDAB&lt;/a&gt; is working day and night to bring this to life, and making it work on Windows has been an objective from the start, with some help from yours truely. This past week we've had the first official demo of an Akonadi-based Kontact running on Windows, with the mail, address book, and calendar/todo plugins up and running, and already pretty functional.&lt;br /&gt;&lt;br /&gt;Enough words, here are some screenshots :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_7fMtIy-pqiA/Syt32i2m7YI/AAAAAAAADro/orepvNxrd3c/s1600-h/kmail-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ps="true" src="http://2.bp.blogspot.com/_7fMtIy-pqiA/Syt32i2m7YI/AAAAAAAADro/orepvNxrd3c/s400/kmail-1.png" /&gt;&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;em&gt;Akonadi-based kmail&lt;/em&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_7fMtIy-pqiA/SyufJN7ilmI/AAAAAAAADsA/OCz-b8LEJ7A/s1600-h/korganizer-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ps="true" src="http://4.bp.blogspot.com/_7fMtIy-pqiA/SyufJN7ilmI/AAAAAAAADsA/OCz-b8LEJ7A/s400/korganizer-1.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;em&gt;Akonadi-based korganizer&lt;/em&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;To prove that this is not a fake (nope, the shadows don't look all wrong), here's a screenshot from &lt;strong&gt;akonadiconsole&lt;/strong&gt;, our development aid for Akonadi, showing a mail in the browser tab, with the data coming straight&amp;nbsp;from the mysql&amp;nbsp;backend :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_7fMtIy-pqiA/Syt69AWHuCI/AAAAAAAADr4/EA4ho6CMApw/s1600-h/akonadiconsole-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ps="true" src="http://1.bp.blogspot.com/_7fMtIy-pqiA/Syt69AWHuCI/AAAAAAAADr4/EA4ho6CMApw/s400/akonadiconsole-1.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;As you can see, things are shaping up pretty nicely, and progress is fast. Akonadi is&amp;nbsp;running great on Windows now, with many resources and agents already available.&amp;nbsp;With the good progress of plasma in parallel, Akonadi-aware plasmoids&amp;nbsp;such as Sebas's &lt;a href="http://vizzzion.org/?blogentry=908"&gt;Lion Mail&lt;/a&gt; are now just a fingertip away on Windows.&amp;nbsp;Of course there are still some rough edges, for example we're still accessing an external mysql server, but starting and running our own internal server is next on my TODO list.&lt;br /&gt;&lt;br /&gt;Finally, I want to give&amp;nbsp;a big thumbs up to the following :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Patrick Spendrin and Ralph Habacker from the&amp;nbsp;KDEWin team, for their help and all the monster work&lt;/li&gt;&lt;li&gt;the Akonadi/Kolab folks who did an awesome job over the past weeks,&amp;nbsp;in particular&amp;nbsp;: Volker Krause, Allen Winter, Thomas McGuire,&amp;nbsp;Stephen Kelly, Laurent Montel, Kevin Ottens, Tobias König,&amp;nbsp;and of course Till Adam.&lt;/li&gt;&lt;/ul&gt;Cheers !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-1024553228422384823?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/1024553228422384823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2009/12/news-from-kdewin-front-part-1.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/1024553228422384823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/1024553228422384823'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2009/12/news-from-kdewin-front-part-1.html' title='News from the KDEWin front - Part 1'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_7fMtIy-pqiA/Syt32i2m7YI/AAAAAAAADro/orepvNxrd3c/s72-c/kmail-1.png' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8374435806135313875.post-5618591867677139225</id><published>2009-12-18T02:30:00.000-08:00</published><updated>2009-12-18T02:34:44.236-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDAB'/><category scheme='http://www.blogger.com/atom/ns#' term='Blabla'/><title type='text'>print("Hello World !");</title><content type='html'>Hello World !&lt;br /&gt;&lt;br /&gt;Ahem...&amp;nbsp;we're almost in 2010, so&amp;nbsp;it's&amp;nbsp;about time I got a piece of &lt;a href="http://www.youtube.com/watch?v=iDbyYGrswtg"&gt;The Internet&lt;/a&gt;&amp;nbsp;...&lt;br /&gt;&lt;br /&gt;So I'll try to keep it short and use this blog to share some of the cool Qt stuff I do for &lt;a href="http://www.kde.org/"&gt;KDE&lt;/a&gt; and &lt;a href="http://windows.kde.org/"&gt;KDEWin&lt;/a&gt;, for my employer &lt;a href="http://www.kdab.com/"&gt;KDAB&lt;/a&gt;, or occasionally on &lt;a href="http://aelys2.over-blog.com/"&gt;totally unrelated subjects&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Cheers !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8374435806135313875-5618591867677139225?l=c2143.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c2143.blogspot.com/feeds/5618591867677139225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://c2143.blogspot.com/2009/12/printhello-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/5618591867677139225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8374435806135313875/posts/default/5618591867677139225'/><link rel='alternate' type='text/html' href='http://c2143.blogspot.com/2009/12/printhello-world.html' title='print(&quot;Hello World !&quot;);'/><author><name>Romain Pokrzywka</name><uri>https://profiles.google.com/109887485393185022616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-117BnNOxmAw/AAAAAAAAAAI/AAAAAAAAAAA/cu_NzMMrx3Y/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
