Analytics

Friday, December 29, 2006

WebKit for OLPCs Sugar

During the last two at the 23rd congress Daniel Molkentin and me have hacked on WebKit and to integrate with the OLPC GUI called sugar.

Thanks to Qt's GMainContext integration and GtkSocket/GtkPluck and Qt's XEmbed implementation embedding Qt widgets in Gtk+ is pretty much straight forward. So what we did was to use the WebKit/Qt implementation done by fellow KDE hackers and wrap it into a GtkWidget.

We have created a GtkMozEmbed like pygtk wrapper of a a Qt WebKit widget. So off to the important questions. Why did we do this?

Well personally I think WebKit just makes more sense for the OLPC. It is used today on small resource systems like PDAs or the Nokia Series 60 phone. From our past struggles with minimo WebKit is so much more resource friendly. I'm pretty sure the children will love it.

So where is the code? It is in a git repository:

OLPC stuff contains a sugar.Browser implemtation using WebKit/Qt, and web-activity just kills the hard tied gtkmozembed dependency which is a violation of the sugar.Browser abstraction.

Oh and this is my first published Gtk+ work and I would like to thank mickeyl for helping me the way through inheritance, parent classes and GtkBin/GtkAlignment issues.

rock on!

Saturday, December 23, 2006

Day of the kernel bugs

I tried using libgmalloc of OSX to debug mallocs. This triggered a crash in KDE's network classes. The reason is quite simple. getsockname is broken on BSD! As of the manpage/POSIX the third argument len is input and output parameter. On input it contains the size of the struct and on output it contains the size of the kernel struct.

But XNU (OS X), FreeBSD, OpenBSD, NetBSD, DragonFlyBSD do not return the size of the internal struct. They return MIN(input, stucture length). Linux and OpenSolaris do the right thing though.

As a workaround on BSD one can take a look sa_len value. Bug reports are pending...

Friday, December 22, 2006

It is christmas

Wow what a week. A lot of companies might have helped to progress Free Software. Nice christmas gifts!


  • ACCESS released the first part of their Access Linux Platform. And I pretty much like the ACCESS FAQ as they answer questions Trolltech does not answer

  • Trolltech released a incomplete Qtopia4.2 OpenSource Edition

  • And the biggest gift is probably from SUN as they released MIDP as GPL! It even has a hack for directFB and a proper QtE backend included. Okay this made me to reschedule my agenda as I will hack on Gtk+ backend during 23c3!





Oh and once again I caught a cold...

Wednesday, December 20, 2006

Qtopia Open Source Edition released

Hey, Trolltech has dumped bits of Qtopia into the public. As it is not too nice to say bad things I will just say what is missing and what a personal roadmap could look like if there would be a possibility that these things can get upstream...

What is missing:

  • Safe Execution Environment (SXE). Probably they don't release because security through obscurity rocks?

  • DRM, another case of security by obscurity? licensing? One should look into SUNs (L)GPL DRM stuff if this is really needed

  • Qtopia Desktop seems missing, This is not even mentioned on the website so it looks like Trolltech doesn't want Free people to synchronize



What needs to be done:

  • Avoid the obvious GPL violations. e.g. use GNU TLS instead of OpenSSL. OpenSSL is GPL incompatible and GNU TLS a usable replacement.

  • Make use of tinymail in Qtopia Mail. If Qtopia Mail is done right we will just implement another mail model?!

  • Fix the tslib driver of Qtopia Core once again and make TT accept the fix

  • Force Trolltech to send the patches to third party applications upstream. Wow this Embedded Vendors don't send patches theme just sucks. Trolltech break the ciricle and send patches upstream!

  • Port my QtE Keyboard Driver to Qtopia Core and finally implement key composing

  • Start performance testing of Qtopia Core on real hardware and provide numbers. Integrate this into Tinderbox.

  • Define a set of core applications and make them kick ass and usable

  • Clean up the ugly big clumpy buildsystem and show them how to use qmake the right way.

  • Ensure portability, improve portability and fix a hell lot of bugs.



What will happen:
Probably nothing as it is unlikely Trolltech will accept anything we will create. I have tried to make them accept a fix against an out of bounds array access for years and then just stopped trying, I even offered a formal proof... So Trolltech must show/signalize that they have learned their lesson and will start to work with a community. Judging from their sourcecode release they have not learned their lesson yet. So Trolltech show your commitment to Qtopia Open Source Edition and you might win the community over (again). Good luck and creating a Qtopia Foundation would be a good start.

Friday, December 01, 2006

All Hail J(acob)!

Hack/Product of the week, worker of the month all hail Jacob. Patching RTP sequence numbers and session id's in RTP and RTCP to dynamically switch video streams on broadcast site without confusing players on the clients. Nice hack and see you at ITU Hong Kong.
I need to sniff the USB Communication of this dongle to get rid of Windows on the device... but there seems to be a good software tool to get this job done. Sadly the lab was closed and I can't use hardware supported sniffing ...hints?