I safely returned from Taipei and was almost in time. As I don't have a hitchhiker guide to transatlantic traveling I had to learn it the hard way. Don't take the arrival time for granted and plan the evening. If anyone knows how to legally get a rental copy of I'm a Cyborg but that's ok. please tell me.
Taipei is great and I hope this was my first visit in many to come. It was a pleasure to see the Openmoko offices, catch up with the local engineers (too many to name them and I would forget one and would feel really bad about it). My short-term goal for tick and jeremy is to make them start a blog, take videos of their apps (assassin, diversity) and expose themselves to the public. It was a pleasure to meet the other foreign engineers and I'm specially honored to have met Werner Almesberger, received a talk on kboot, and rasterman and enjoyed the training on the graphic pipeline, state of XRender and general musings on object orientated programming.
I have finally a result of the automatic build of Qtopia/X11 that is not segfaulting (yeah!) and the experience feels like wasting time. I think I have spent almost of the last week on this thing as the turnaround times are so heavy. E.g. I managed to compile Qt for the target without fontconfig and the apps were only able to display numbers but not any glyphs. So I had to pass -fontconfig and the includepath for fontconfig to the configure script. This results in a five hour penalty as Qt for the desktop (totally unrelated), Qt for the target (not only the two classes knowing of fontconfig) and then the full Qtopia stack (I assume the Qt with and without fontconfig is binary compatible... so another waste of time). Anyway I have a GTA02/Freerunner (with GPS, WiFi, GSM, without a working bluetooth) that is powered by enlightenment, which is of importance for buddhists, and Qtopia/X11. We need to polish the packages and configuration, make sure that qpe is launched as part of the Xsession start and then let our "black team", allan, do the testing and secure my job by finding bugs. The modem gets powered on, Qtopia finds it, I see the PIN Dialog and once raster is finishing his keyboard we can enter stuff. Pal hurry up!
What is so cool about Openmoko? In contrast to many other companies, specially in the hardware industry, is that the relevant stuff is public, our failures with hardware, our stupidity, our brilliancy, our success, our progress, our vision. This allows you to track it and be part of it and contribute. We are open, and mean it, and this commitment to openness is important. This is showing with our platform strategy. We are not only a Gtk+ company, we are not only an EFL company, we are not only a Qt/Qtopia company. We have enough flash to make it possible for you to carry your favorite toolkit and language in your pocket, show it to your friends. So our platform strategy is different, it is toolkit and language neutral, in the current age this implies DBus and yes we are interested in reusing and creating DBus Interfaces around GSM/SIM, Networking, PIM, Journal, Location, Communication,... This effort is lead by former Opie colleague and close friend Dr. Michael 'mickeyl' Lauer who currently enjoys the sun in Recife and is attending the Bosa Conference with a bunch of other Openmoko people (raster, stefan, daniel).
So consider contributing, your open phone is waiting for you. And remember warranty is void when NOT opened.
Tuesday, March 18, 2008
Tuesday, March 11, 2008
QtWebKit, Illume and Diversity
I'm writing this on one of these roundtrips when waiting for the Qtopia buildsystem to finish. I changed the mediaengine from helix to gstreamer, this means in one library another implementation gets compiled and the library is linked, maybe the other part of Qtopia needs relinking after it and that would be fine. The truth is, I switch the engine now configure of Qt desktop, Qt target and Qtopia is ran and I'm compiling Qt for the desktop, Qt for the desktop and the Qtopia libraries and applications from scratch. If anyone knows how to stop these stupidity and get me acceptable roundtrips times for such minor changes please comment.
To everyone that say QWebKit, the Qt WebKit integration is called QtWebKit and please use that when referring to this module. As communication is done by blogs these days I have seen this workaround. If you experience a crash on exit with QWebView, please tell us, there is no need to add a workaround to your application, Qt4.4 is not final. So please write a small application that is crashing on exit and the Qt WebKit inside and outside of Trolltech will take a look and fix it. What did you make believe this is an bug in amarok and is needing fixing there? The cool thing with the Free Software world is you can fix the stuff where it has to be fixed and we should utilize this, so please show us the problem.
Urs, I'm glad you had a go at the QtWebKit KPart and yes QNetworkInterface is not present if you compile QtWebKit with Qt4.4. You want to look into the QNetworkManager and provide an implementation using KIO. If you need any help, I'm here to help and I'm sure Simon and thiago will help you too.
raster left taipei yesterday, he is probably packing and leaving to the bossa conference soon, he has been busy working on illume, our window manager module for the GTA02/Freerunner, tick has created a project for our EFL based installer application (using PackageKit) and last, but certainly not the least application we are going to develop in our GForge is diversity. This application is combining GPS, GeoClue, Jabber, your Journal with each other and providing a bling-bling interface using EFL. When walking around in a foreign city you can see where you friends are, were, where they haven taken their cool pictures that you have seen on flickr, get routing with OpenStreetmap to find your way, see people with the same interests as you, take a city tour people like you have enjoyed, let your Freerunner guide you through the city, go sight-seeing or just chat with your relatives back home (and certainly be able to control your privacy). I hope we will have some more videos up in the next couple of weeks.
I have been enjoying my time in Taipei, I'm definitely coming back soon and if we work hard Openmoko can have a bright future, we can start a Software Industry in Taiwan solely based around the concepts of Freedom and Free Software, this is really exciting!
To everyone that say QWebKit, the Qt WebKit integration is called QtWebKit and please use that when referring to this module. As communication is done by blogs these days I have seen this workaround. If you experience a crash on exit with QWebView, please tell us, there is no need to add a workaround to your application, Qt4.4 is not final. So please write a small application that is crashing on exit and the Qt WebKit inside and outside of Trolltech will take a look and fix it. What did you make believe this is an bug in amarok and is needing fixing there? The cool thing with the Free Software world is you can fix the stuff where it has to be fixed and we should utilize this, so please show us the problem.
Urs, I'm glad you had a go at the QtWebKit KPart and yes QNetworkInterface is not present if you compile QtWebKit with Qt4.4. You want to look into the QNetworkManager and provide an implementation using KIO. If you need any help, I'm here to help and I'm sure Simon and thiago will help you too.
raster left taipei yesterday, he is probably packing and leaving to the bossa conference soon, he has been busy working on illume, our window manager module for the GTA02/Freerunner, tick has created a project for our EFL based installer application (using PackageKit) and last, but certainly not the least application we are going to develop in our GForge is diversity. This application is combining GPS, GeoClue, Jabber, your Journal with each other and providing a bling-bling interface using EFL. When walking around in a foreign city you can see where you friends are, were, where they haven taken their cool pictures that you have seen on flickr, get routing with OpenStreetmap to find your way, see people with the same interests as you, take a city tour people like you have enjoyed, let your Freerunner guide you through the city, go sight-seeing or just chat with your relatives back home (and certainly be able to control your privacy). I hope we will have some more videos up in the next couple of weeks.
I have been enjoying my time in Taipei, I'm definitely coming back soon and if we work hard Openmoko can have a bright future, we can start a Software Industry in Taiwan solely based around the concepts of Freedom and Free Software, this is really exciting!
Monday, March 03, 2008
Taipei, Qtopia on X11, and tracing memory allocations
I moved into the OpenMoko apartment yesterday and right to the backside of the apartment we have some kind of hill and I could not resist and had to walk up to get this city view:

raster has been working on a new launcher, window decoration and application navigation for the OpenMoko device, some things are pretty hot about it. It is called illume and can be found here. This launcher is using EFL, actually it is a module for e and the cool thing is edje. With this little file you define objects, their look and their behavior, e.g. if it gets clicked a signal is emitted, you can write mini programs, so on click you can get a transition, like sliding out the menu. edje is pretty powerful.
WebKit related I'm spending my spare time tracking allocations, stale data and memory fragmentation. I use spiegel.de as my test site and monitor heap usage and address space growing (due fragmentation?) and somehow lacked a good application for profiling. raster kindly pointed me to memprof and now I can do this (well memprof has some performance issues with WebKit when getting the profile, but it is performing better than Instruments.app for this job):

I see most of the memory was allocated by QImageData::create, when clicking on the create method I can see the callers and navigate through the backtraces. It is working with C++ and you can easily add qMalloc,qCalloc,qRealloc,WTF::fastMalloc to the list of functions to 'ignore'.

raster has been working on a new launcher, window decoration and application navigation for the OpenMoko device, some things are pretty hot about it. It is called illume and can be found here. This launcher is using EFL, actually it is a module for e and the cool thing is edje. With this little file you define objects, their look and their behavior, e.g. if it gets clicked a signal is emitted, you can write mini programs, so on click you can get a transition, like sliding out the menu. edje is pretty powerful.
WebKit related I'm spending my spare time tracking allocations, stale data and memory fragmentation. I use spiegel.de as my test site and monitor heap usage and address space growing (due fragmentation?) and somehow lacked a good application for profiling. raster kindly pointed me to memprof and now I can do this (well memprof has some performance issues with WebKit when getting the profile, but it is performing better than Instruments.app for this job):

I see most of the memory was allocated by QImageData::create, when clicking on the create method I can see the callers and navigate through the backtraces. It is working with C++ and you can easily add qMalloc,qCalloc,qRealloc,WTF::fastMalloc to the list of functions to 'ignore'.
Subscribe to:
Posts (Atom)