18 Oct 2014

feedPlanet Maemo

2014-10-14 Meeting Minutes

Meeting held 2014-10-14 on FreeNode, channel #maemo-meeting (logs)

Attending: Gido Griese (Win7Mac), Paul Healey (sixwheeledbeast),
Jussi Ohenoja (juiceme), Philippe Coval (RzR), Peter Leinchen (peterleinchen)

Partial: (xes), Ruediger Schiller (chem|st)

Absent: Niel Nielsen (nieldk), Joerg Reisenweber (DocScrutinizer05)

Summary of topics (ordered by discussion):


Topic (Swear filter on TMO (smartwatch)):

Topic (DocScrutinizer/joerg_rw stepped down from Council!):

Topic (Current Council members):

Topics (Referendum, Karma, Code of Conduct):


Action Items:
  • -- old items:
    • Check if karma calculation/evaluation is fixed. - Karma calculation should work, only wiki entries (according to Doc) not considered. To be cross-checked ...
    • NielDK to prepare a draft for letter to Jolla. - Obsolete
    • Sixwheeledbeast to clarify the CSS issue on wiki.maemo.org with techstaff. - Done
    • juiceme to create a wording draft for the referendum (to be counterchecked by council members). - See
    • Everybody to make up their own minds about referendum and give feedback.
  • -- new items:
    • Peterleinchen to announce resignation of DocScrutinizer*/joerg_rw from council.
    • Next weeks tasks: referendum, karma check, voting for Code of Conduct, sub pages on m.o for e.V.

1 Add to favourites0 Bury

18 Oct 2014 6:35pm GMT

11 Oct 2014

feedPlanet Maemo

2014-10-07 Meeting Minutes

Meeting held 2014-10-07 on FreeNode, channel #maemo-meeting (logs)

Attending: Jussi Ohenoja (juiceme), Philippe Coval (RzR)

Partial: Gido Griese (Win7Mac), Ruediger Schiller (chem|st), (Sicelo900v6)

Absent: Peter Leinchen (peterleinchen), Joerg Reisenweber (DocScrutinizer05), Niel Nielsen (nieldk)

Summary of topics (ordered by discussion):


(Topic Discussion about resigned councilors and their behaviour):


Action Items:
  • -- old items:
    • Check if karma calculation/evaluation is fixed. - Karma calculation should work, only wiki entries (according to Doc) not considered. To be cross-checked ...
    • NielDK to prepare a draft for letter to Jolla. - Obsolete
    • Sixwheeledbeast to clarify the CSS issue on wiki.maemo.org with techstaff. - Done
    • juiceme to create a wording draft for the referendum (to be counterchecked by council members). - See
    • Everybody to make up their own minds about referendum and give feedback.
    • Juiceme to send mail to DocScrutinizer/joerg_rw asking on behalf of council for a statement about his councilor status. - Done
    • Peterleinchen to check CSS bug and inform techstaff. - Solved.
  • -- new items:
    • N/A

1 Add to favourites0 Bury

11 Oct 2014 11:28am GMT

08 Oct 2014

feedPlanet Maemo

2014-09-30 Meeting Minutes

Meeting held 2014-09-30 on FreeNode, channel #maemo-meeting (logs)

Attending: Jussi Ohenoja (juiceme), Philippe Coval (rZr), Niel Nielsen (nieldk), Peter Leinchen (peterleinchen)

Partial: Gido Griese (Win7Mac), Paul Healey (sixwheeledbeast)

Absent: Joerg Reisenweber (DocScrutinizer05)

Summary of topics (ordered by discussion):


Topic (DocScrutinizer/joerg_rw stepped down from Council?):

Topic (Transition to Maemo e.V., referendum):

Topic (Open points, karma):


Action Items:
  • -- old items:
  • Check if karma calculation/evaluation is fixed. - Karma calculation should work, only wiki entries (according to Doc) not considered. To be cross-checked ...
  • NielDK to prepare a draft for letter to Jolla. - Obsolete
  • Sixwheeledbeast to clarify the CSS issue on wiki.maemo.org with techstaff. - Done
  • juiceme to create a wording draft for the referendum (to be counterchecked by council members). - See
  • Everybody to make up their own minds about referendum and give feedback.
  • -- new items:
  • Juiceme to send mail to DocScrutinizer/joerg_rw asking on behalf of council for a statement about his councilor status.
  • Peterleinchen to check CSS bug and inform techstaff.

1 Add to favourites0 Bury

08 Oct 2014 10:29pm GMT

30 Sep 2014

feedPlanet Maemo

nrl:maxCardinality one-to-many ontology changes

I added support for changing the nrl:maxCardinality property of an rdfs:Property from one to many. Earlier Martyn Russel reverted such an ontology change as this was a blocker for the Debian packaging by Michael Biebl.

We only support going from one to many. That's because going from many to one would obviously imply data-loss (a string-list could work with CSV, but an int-list can't be stored as CSV in a single-value int type - instead of trying to support nonsense I decided to just not do it at all).

More supported ontology changes can be found here.

Not sure if people care but this stuff was made while listening to Infected Mushroom.

1 Add to favourites0 Bury

30 Sep 2014 12:12am GMT

27 Sep 2014

feedPlanet Maemo

2014-09-23 Meeting Minutes

Meeting held 2014-09-23 on FreeNode, channel #maemo-meeting (logs)

Attending: Gido Griese (Win7Mac), Jussi Ohenoja (juiceme)

Absent: Joerg Reisenweber (DocScrutinizer05), Niel Nielsen (nieldk), Peter Leinchen (peterleinchen)

Summary of topics (ordered by discussion):


Topic (Transition to Maemo e.V., referendum and membership registration):


Action Items:
  • -- old items:
  • Check if karma calculation/evaluation is fixed.
  • NielDK to prepare a draft for letter to Jolla.
  • Sixwheeledbeast to clarify the CSS issue on wiki.maemo.org with techstaff.
  • juiceme to create a wording draft for the referendum (to be counterchecked by council members).
  • Everybody to make up their own minds about referendum and give feedback.
  • -- new items:
  • N/A

3 Add to favourites0 Bury

27 Sep 2014 11:30am GMT

24 Sep 2014

feedPlanet Maemo

2014-09-16 Meeting Minutes

Meeting held 2014-09-16 on FreeNode, channel #maemo-meeting (logs)

Attending: Gido Griese (Win7Mac), Jussi Ohenoja (juiceme), Peter Leinchen (peterleinchen)

Partial: (xes), Paul Healey (sixwheeledbeast), Philippe Coval (rZr)

Absent: Niel Nielsen (nieldk), Joerg Reisenweber (DocScrutinizer05)


Summary of topics (ordered by discussion):



Topic (Meeting minutes posted):


Topic (Spam attack on wiki.m.o):


Topic (Transition to Maemo e.V., referendum and membership registration):



Action Items:
  • -- old items:
  • Check if karma calculation/evaluation is fixed.
  • NielDK to prepare a draft for letter to Jolla.
  • Sixwheeledbeast to clarify the CSS issue on wiki.maemo.org with techstaff.
  • juiceme to create a wording draft for the referendum (to be counterchecked by council members).
  • -- new items:
  • Everybody to make up their own minds about referendum and give feedback.

2 Add to favourites0 Bury

24 Sep 2014 10:05pm GMT

18 Sep 2014

feedPlanet Maemo

Let's build a browser engine! Part 6: Block layout

Firefox for Mobile
Let's build a browser engine! Part 6: Block layout - http://limpet.net/mbrubec...

1 Add to favourites0 Bury

18 Sep 2014 4:30am GMT

15 Sep 2014

feedPlanet Maemo

2014-09-09 Meeting Minutes

Meeting held 2014-09-09 on FreeNode, channel #maemo-meeting (logs)

Attending: Gido Griese (Win7Mac), Paul Healey (sixwheeledbeast), Jussi Ohenoja (juiceme), Niel Nielsen (nieldk), Peter Leinchen (peterleinchen)

Absent: Joerg Reisenweber (DocScrutinizer05)

Summary of topics (ordered by discussion):


Topic (Certificate issue on wiki.m.o):

Topic (Security check on m.o):

Topic (Transition to Maemo e.V., referendum and membership registration):


Action Items:
  • Sixwheeledbeast to clarify the CSS issue on wiki.maemo.org with techstaff.
  • juiceme to create a wording draft for the referendum (to be counterchecked by council members).

2 Add to favourites0 Bury

15 Sep 2014 6:35pm GMT

2014-09-02 Meeting Minutes

Meeting held 2014-09-02 on FreeNode, channel #maemo-meeting (logs)

Attending: Craig Woodward (Woody14619), Gido Griese (Win7Mac), Ruediger Schiller (chem|st), Paul Healey (sixwheeledbeast), Jussi Ohenoja (juiceme), Philippe Coval (rZr), Niel Nielsen (nieldk), Peter Leinchen (peterleinchen)

Absent: Joerg Reisenweber (DocScrutinizer05)

Summary of topics (ordered by discussion):


Topic (NielDK's resignation):

Topic (Discussion on Maemo e.V. and Council rules):

Topic (Code of Conduct):


Action Items:
  • N/A

2 Add to favourites0 Bury

15 Sep 2014 6:34pm GMT

2014-08-26 Meeting Minutes

Meeting held 2014-08-26 on FreeNode, channel #maemo-meeting (logs)

Attending: Joerg Reisenweber (DocScrutinizer05), Jussi Ohenoja (juiceme), Philippe Coval (RzR), Peter Leinchen (peterleinchen)

Partial: (lbt), (xes), Gido Griese (Win7Mac)

Absent: Niel Nielsen (nieldk)

Summary of topics (ordered by discussion):


Topic (handling of MoMs):

Topic (community input):

Topic (x-fade contact about IRC):


Action Items:
  • N/A

2 Add to favourites0 Bury

15 Sep 2014 6:33pm GMT

2014-08-19 Meeting Minutes

Meeting held 2014-08-19 at 20:00 UTC on FreeNode, channel #maemo-meeting (logs)

Attending: Paul Haley (sixwheeledbeast) Joerg Reisenweber (DocScrutinizer05), Niel Nielsen (nieldk), Philippe Coval (RzR)

Partial: (xes)

Absent: Jussi Ohenoja (juiceme), Peter Leinchen (peterleinchen)

Summary of topics (ordered by discussion):


Topic (new MC e.V. structure, roles of HiFo/MC e.V. and Council):

Topic (karma calculation):

Topic (coop/friend with Jolla):


Action Items:
  • Check if karma calculation/evaluation is fixed.
  • NielDK to prepare a draft for letter to Jolla.

1 Add to favourites0 Bury

15 Sep 2014 6:32pm GMT

2014-08-12 Meeting Minutes

2014-08-12 Meeting Minutes

Meeting held 2014-08-12 on FreeNode, channel #maemo-meeting (logs)

Attending: Joerg Reisenweber (DocScrutinizer05), Jussi Ohenoja (juiceme), Philippe Coval (RzR), Peter Leinchen (peterleinchen)

Partial: (lbt), (xes), Gido Griese (Win7Mac)

Absent: Niel Nielsen (nieldk)

Summary of topics (ordered by discussion):


Topic (IRC channel operator priviliges):

Topic (Discussion on Council writing an introductory letter to Jolla):

Topic (Discussion on a place for Maemo e.V. related documents):

Topic (Discussion on the change to Maemo landing-page):


Action Items:
  • N/A

1 Add to favourites0 Bury

15 Sep 2014 6:31pm GMT

2014-08-05 Meeting Minutes

Meeting held 2014-08-05 at 20:00 UTC on FreeNode, channel #maemo-meeting (logs)

Attending: Gido Griese (Win7Mac), Falk Stern (warfare),
Philippe Coval (RzR), Niel Nielsen (nieldk), Peter Leinchen (peterleinchen)

Absent: Joerg Reisenweber (DocScrutinizer05), Jussi Ohenoja (juiceme)

Summary of topics (ordered by discussion):


Topic (status of MC e.V.):

Topic (new SSL certificates):

Topic (IRC configuration/administration rights):

Topic (future of Harmattan):


Action Items:
  • nieldk setting up an email until next weeks meeting to contact Jolla board about x-fade timeframe.

0 Add to favourites0 Bury

15 Sep 2014 6:24pm GMT

2014-07-29 Meeting Minutes

Meeting held 2014-07-29 at 20:00 UTC on FreeNode, channel #maemo-meeting (logs)

Attending:

Partial: Joerg Reisenweber (DocScrutinizer05), Peter Leinchen (peterleinchen)

Absent: Jussi Ohenoja (juiceme), Philippe Coval (RzR), Niel Nielsen (nieldk)

Summary of topics (ordered by discussion):


Nothing has been discussed.

Action Items:
  • N/A

1 Add to favourites0 Bury

15 Sep 2014 6:22pm GMT

2014-07-22 Meeting Minutes

Meeting held 2014-07-22 at 20:00 UTC on FreeNode, channel #maemo-meeting (logs)

Attending: Ruediger Schiller (chem|st), (xes),
Jussi Ohenoja (juiceme), Philippe Coval (RzR), Peter Leinchen (peterleinchen)

Partial: Joerg Reisenweber (DocScrutinizer05)

Absent: Niel Nielsen (nieldk)

Summary of topics (ordered by discussion):


Topic (IRC cloaks):

Topic (administration of IRC channels):

Topic (certificates problem):

Topic (HiFo / MC e.V. transfer):

Topic (future of Harmattan):

Topic (listing of resources):


Action Items:
  • RzR trying to contact x-fade.

1 Add to favourites0 Bury

15 Sep 2014 6:13pm GMT

12 Sep 2014

feedPlanet Maemo

profiling is not understanding

When software goes slow, generally, the first reaction is to profile. This might be done through system tools (like Instruments on OS X, perf/valgrind/etc on Linux, VTune, etc). This is fine and good, but just because you have the output of a tool does not necessarily correlate to understanding what is going on.

This might seem like an obvious distinction, but all too often, efforts at improving performance focus on the small picture ("this thing here is slow") and not the bigger picture ("why is this so slow"). At Jolla, I had the pleasure of running into one such instance of this, together with Gunnar Sletta, my esteemed colleague, and friend.

As those of you who are familiar with Jolla may know, we had been working on upgrading to a newer Qt release. This also involved quite a bit of work for us, both in properly upstreaming work we had done on the hurry to the late-2013 release, and in isolating problems and fixing them properly in newer code (the new scenegraph renderer, and the v4 javascript engine in particular have been an interesting ride to get both at once!).

As a part of this work, we noted that touch handling was quite slow (something which we had worked around for our initial release, but now wanted to solve properly). This was due to the touch driver on the Jolla introducing touchpoints faster than the display was updating, that is, while the display might be updating at 57 hz (yes, the Jolla is weird, it doesn't do 60 hz) - we might be getting input events a lot more frequently than that.

This was, in turn, causing QtQuick to run touch processing (involving costly item traversals, as well as the actual processing of touch handling) a lot more frequently than the display was updating. As these took so much time, this in turn slowed rendering down, meaning even more touch handling was going on per frame. A really ugly situation.

Figure 1: Event tracing inside the Sailfish OS Compositor

Figure 1 demonstrates this happening at the compositor level. The bottom slice (titled "QThread") is the event delivery thread, responsible for reading events from evdev The peaks there are - naturally - when events are being read in. The top thread is the GUI thread, and the high peaks there are touch events being processed and delivered to the right QtQuick item (in this case, a Wayland client, we'll get to that later). The middle slice is the compositor's scenegraph rendering (using QtQuick).

With the explanation out of the way, let's look at the details a bit more. It's obvious that the event thread is regularly delivering events at around-but-not-quite twice the display update. Our frame preparation on the GUI thread looks good, despite the too-frequent occurrence of event delivery, though, and the render thread is coping too.

But this isn't a major surprise - the compositor in this case is dead simple (just showing a fullscreen client). What about the client? Let's take a look at it over the same timeframe...

Figure 2: Event tracing for the client (Silica's component gallery, in this case)

Figure 2 focuses on two threads in the client: the render thread (top), and the GUI thread (bottom). Touch events are delivered on the GUI thread, QtQuick processes them there while preparing the next frame for the render thread.

Here, it's very clear that touch processing is happening way too often, and worse than that, it's taking a very long time (each touch event's processing is taking ~4ms), not leaving much time for rendering - and this was on a completely unloaded device. In a more complicated client still, this impact would be much, much worse, leading to frame skipping (which we saw, on some other applications).

Going back to my original introduction here, if we had used traditional profiling techniques, we'd have seen that touch handling/preparation to render was taking a really long time. And we might have focused on optimizing that. Instead, thanks to some out-of-the-box thinking, we looked at the overall structure of application flow, and were able to see the real problem: doing extra work that wasn't necessary.

As an aside to this, I'm happy to announce that we worked out a neat solution to this: QtQuick now doesn't immediately process touch events, instead, choosing to wait until it is about to prepare the next frame for display - as well as "compressing" them to only deal with the minimal number of sensible touch updates per frame. This should have no real impact on any hardware where touch delivery was occurring at a sensible rate, but for any hardware where touch was previously delivering too fast, this will no longer be a problem as of Qt 5.4.

(Thanks to Gunnar & myself for the fix, Carsten & Mikko for opening my eyes about performance tooling, and Jolla for sponsoring this work.

P.S. If you're looking for performance experts, Qt/QML/etc expertise or all round awesome, Gunnar and myself are currently interested in hearing from you.)0 Add to favourites0 Bury

12 Sep 2014 6:06pm GMT