All posts by doffm

Memories of GUADEC & Istanbul

I had the pleasure of attending my first GUADEC last week. I doubt I’ll have a more enjoyable, tiring, embarrassing, or geek-filled time for the rest of the year.

I started the week locked up in my hotel room. Rob Taylor, John Carr and I were desperately trying to finish a demo that did not make it. Our trips out until Tuesday were mostly visiting restaurants, which would have been enough for me. Lamb Kebab and rice is just about my perfect meal, and during my entire stay in Istanbul I ate like a very happy king.

Once I got myself set up at the conference things got even better, there were some great talks. ‘UXD? WTF!‘ by Leisa Reichelt, ‘Introduction to the desktop data model‘ by Owen Taylor and ‘Syncronization and the GNOME deskop‘ by John Stowers all had me thinking.  It was a real shame that more people didn’t turn up to ‘Accessibility happenings in Novell‘, although it was the very last talk of the conference. Rob and I did a talk, ‘Wizbit a distributed revisioning file system‘, on Thursday morning. It was well attended, and I had a good time speaking.

The whole thing was smaller, and far friendlier, than I had expected. I was fortunate enough to meet Stormy just before, and soon after she had been announced as the GNOME executive director. She was just as lovely to me both times, so I assume power didn’t corrupt too much. :) Thanks to everyone I met for creating a thousand interesting conversations.

I can’t properly express my thanks to the people in Istanbul. They were incredibly helpful, patient and friendly. Even the ‘flexible prices’ that everyone seemed to experience only got bad when it came to taxis and drinks.  Thanks to Ali Sukru Goksu for his organization, and for showing us a great night out on Thursday. The conduit team and I went to an electronica festival on Friday night, which we never would have made it to without being looked after. Thanks Tuçe, Thanks Elvin.

The party prize and the most ‘flexible’ price prize go to John Stowers, for his 5-in-a-row 6am parties and for a certain vodka red bull.

I’ve come back really enthused about GNOME, about the people and the technology. Hopefully I’ll be able to put that enthusiasm to good use over the next year. See you all in Gran Canaria.

Python tidbits

During work on client bindings for AT-SPI this week python managed to surprise me in a couple of ways.

  1. Lambda doesn’t work as I think it should.

    lambda x: del(x) results in a syntax error. This is clearly stated in the python language reference: lambda_form ::= "lambda" [parameter_list]: expression The del statement is not an expression; unsurprisingly its a statement. Its still pretty non-intuitive.

  2. You cant weak reference a weak reference.

    This must be an implementation issue. I’m sure a weak reference of a weak reference makes sense. It did to me at the time!

  3. __slots__ is the most useful thing in the world.

    Just take a look at this graph. Its the results of a totally scientific, completely well researched, test into the size of different structures in python. They are all holding roughly the same amount of information.

    Python memory use

    Structure Type Memory use (kB)
    Slot Object 18988
    Tuple 19252
    List 19476
    Dict 42768
    Object 44320

D-Bus AT-SPI is well underway

Work is starting on the port of the AT-SPI framework to D-Bus. Codethink are, graciously, being funded by Nokia to undertake the work. Mike Gorse is working on the project full time, as part of his work for Novell.

Mike has got alot done and there are some initial D-Bus specifications, as well as alot of code on the ATK to AT-SPI adapter side. For the moment we’ll both be working in a git repository on Codethink. Hopefully we will be able to move the code into a repository on freedesktop one day.

The AT-SPI D-Bus work is important as it is attempting to eliminate the last vestiges of CORBA from Gnome and at the same time help with cross desktop accessibility. I’m hopeful that despite the transition we will be able to create a flexible and performant D-Bus protocol for AT-SPI.

I’ve written before about our results on D-Bus vs CORBA performance, done in preparation for this project. The results were a bit shocking for the D-Bus team so there need to be some significant changes to the IPC for things to remain snappy.

A week of head scratching and ranting

I’ve taken part in a couple of phone calls this week, a quick conversation with Michael Meeks and a conference call with the open a11y group. Both about AT-SPI D-bus. There was a week of silence after my initial e-mail to lots of accessibility lists, and after that something of a storm. It was good to actually hear everyones opinion, I think people care, and AT-SPI D-Bus will probably happen sooner rather than later.

Thats pretty good news as Rob and I have spent LOTS of time discussing this one, with some of it being rather heated. Its all about “standardising” the AT-SPI interface, what constitutes a “component” system, and whether accessibility really needs object lifecycle management. :) Could anyone really have raised voices in a conversation about that?

I’m going to put together our thoughts / proposals for everyone to go through. (With heavy input / modification from Rob Taylor) Hopefully it will be up to scratch.

Unexpected results

I really enjoy profiling and optimization, mainly for those WTF moments when results pop out the other end. Systems rarely behave the way anyone expects, and I doubt anyone would have expected this:

Wierd D-Bus performance

The graph is showing time taken to pass many many messages of different size fixed arrays over D-Bus and ORBit. At about 120k message size, Libdbus hits a performance brick wall. Its really hard for me to imagine whats going on here, but as soon as I have the time I’ll go back and do my best to find out.

D-Bus performance and AT-SPI

As part of work we (Codethink) are doing for the Mozilla foundation I have been looking, at the performance of D-Bus vs ORBit. Its a well traveled road with Ross Burton, Havoc Pennington and Frank Dunigan all having posted results before. As far as AT-SPI is concerned though its Frank’s results that are quoted on the Open A11y wiki. “An alpha version of the D-Bus bindings for glib has been tested to be 18x slower than ORBit2″. Well this is no longer true, the tests were repeated and the results show a big improvement over time. D-Bus is now roughly 6 times slower. Its a wonder these haven’t been repeated before over the years. I guess the main thing is performance of the IPC for most apps just isn’t important. It might be for AT-SPI though, from the initial tests done on Orca, its a pretty heavy user.

All of the results can be found at:
http://live.gnome.org/GAP/AtSpiDbusInvestigation.