Gnome


It is really great to see this year’s GUADEC videos being released so soon after the event.  Thank you Flumotion and Fluendo!!!

My only gripe is that yet again my talk’s timeslot seems to have experienced technical difficulty and is not available (the file is only 27min long).  Hopefully that is just a temporary glitch.

It is still an amazing feat of engineering that such as new technology such as WebM codec was used not only to provide archives of the conference but to also stream live.  Not to mention the software and codec used are both Open Source.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

PyGI running in Python 3.1

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

Are you getting excited?  GNOME’s flagship conference, GUADEC, is taking off in a little over a week in Den Haag, The Netherlands.  I’ve got my bags packed and a draft of my talk written.

With one more concert tonight in New York City, I set off tomorrow evening for a much needed vacation in Macon, France where I will be learning classic French cooking at Robert Ash’s cooking school.  The first lesson happens on my birthday, when I will be turning a nice and ripe 33.  Fresh fare such as bar à la crème de fenouil avec ses pommes dauphinoises, confit de canard, and profiteroles au chocolat, among others are set to be learned.  I’ve been playing with the idea of having a fund raising dinner with all the proceeds going to the GNOME Foundation during this year’s Boston Summit.  Perhaps after the course I will feel confident enough to trade donations for my cooking.

Afterwards there are a couple of days of layover in Amsterdam between when the course ends and GUADEC begins.  At GUADEC I am going to be devoting most of my time to whipping PyGObject into glorious introspection shape.   Please join us at the BOFs to learn more, help us hack or get help porting your apps to utilize the power of introspection.  There will be a BOF on general GObject Introspection on Monday the 26th between 14:00-16:00 and on PyGObject(PyGI) on Thursday the 29th between 14:00-18:00.  Otherwise you can find myself or any of the other introspection and GNOME python hackers any time during GUADEC.  If you are a newbie developer looking for something to hack on to get your name out there while learning some core GNOME technologies,  there are some really easy bits to sort of take control of and run with.  There is a lot of detail work such as fixing annotations or doing simple overrides that would take little effort to get up to speed with but make a huge impact on the final quality of the introspected bindings.  Heck, find me over a glass of beer at one of the after parties and I will wax poetic on the thing needed to be done to finish the last mile of our Python plans.

After GUADEC, Colin Walters and I will be travelling to Berlin, both to save airfare by flying out on a weekday and to decompress after a week of non-stop hacking.   I’m looking forward to seeing many old friends and making new ones.  Let’s make GUADEC rock and continue to push GNOME to continue to excel at excellence.  With this year’s focus on GNOME 3 and the underlying technologies that support it there will be a lot of exciting things to see and hack on.

GNOME Foundation Sponsored

Im attending GUADEC!

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

I will be at Farmingdale College tonight giving a talk to LILUG.  It is a draft of my “The Future is JavaScript” talk I will be presenting at GUADEC in a little over two weeks.  I will also be talking about what it has been like working for an Open Source company for the last five years, along with how to get started working within the community.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]
Source: English Wikipedia, original upload 3 August 2004 by Finlay McWalter

Source: English Wikipedia, original upload 3 August 2004 by Finlay McWalter

I’m double checking now but as of this afternoon I was told we have two rooms in the Stata Center and one in Walker, November 6th-8th. I’ll post details and final confirmation as soon as I get them. Thanks goes to Walter Bender and Felice Gardner for all the leg work.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

I was hoping to have a confirmation by now on the dates of the summit but we are a bit delayed in securing the rooms. I apologize as I know people need to know the dates in order to plan other events. What I can tell you is we are trying to secure room at the newly built MIT Media Lab which is one of the reasons for the delay. The preference right now is for the November dates with the October dates being requested as a fall back. The decision for that was based on the few people who contacted me with strong reasons why November would be better. This included better timing to go over results for the GNOME 3 marketing campaign and more people being in the Boston area at that time due to the Linux Plumbers Conference. Hopefully I will have more information by next week. It isn’t always easy to get big institutions to move quickly, especially since the rooms are provided gratis, but we have good people on the ground helping us out with this. Thanks for your patience.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

Screenshot-lt-testphotoalbum

Thanks to Carlos Garnacho’s recent work with the evdev driver and Gtk+ along with Peter Hutterer’s work on getting  the multitouch situation sorted out inside of X, not to mention everybody else who has contributed to the effort, I was able to get Multitouch working on my Fedora 13 powered Lenovo T410s.

All the following instructions relate to those who have N-Trig multitouch devices. Mileage may vary with other devices. To start playing around with multitouch in Fedora today you will need

  • my evdev multitouch RPM packages built from Carlos’ branch
    • Warning: this package obsolete xorg-x11-drv-evdev so you will no longer get updates from the Fedora repo
    • Note: I’ll provide a yum repo for my packages once Koji is up and running again, for now if you don’t have an X86_64 machine you will need to rebuild the source rpm.
  • If you have a N-Trig device you will also need to get the kernel Kyle built which has a fixed N-Trig driver (hopefully this will show up in an update soon).
  • You will also need Carlos’ xorg.conf snippet. This is again for the
    N-Trig driver but should be easily modifiable for other devices
  • To play with multitouch you will need the latest Gtk+ from the xi2-playground branch

I recommend building Gtk in a jhbuild environment or at least don’t install it since it is the unstable 3.0 branch. Once the multitouch stuff has been backported to 2-20 branch I will start providing packages. I take no responsibility for the breakage of anyone’s machine due to replacing such a major system package. Thankfully, if you run inside of jhbuild you can play around all you want without fear of breaking your system. Another option might be to run inside an virtual machine but I am not sure if multitouch events will propagate correctly yet.

If you want to play with some demos you will find them inside the tests/multitouch directory of Gtk. Have fun and ping me with any issues you have. It might be nice if we got this working for Fedora 14. The pieces are certainly falling into place.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

I’ll be heading to GUADEC this year thanks to the generous support the GNOME Foundation Travel Committee but that won’t be my first stop in my mega marathon travelling month of July.

  • I will first be travelling to NY around the 8th for the God Street Wine reunion concerts and will be making a pit stop at the Long Island Linux Users Group to give a dry run of my GUADEC talk entitled “The Future is JavaScript” which will continue with my theme from last year of continuing to meld the GNOME Desktop with the web platform (this year focusing on what JavaScript brings to the table)
  • I fly out of JFK Airport on the 17th for Lyon France where I am taking the week long Robert Ash cooking course at Rue du Lac in Macon, Burgundy
  • The class ends on the 23rd and my Hotel is booked for the 25th in The Hague so I am not quite sure if I will stay in Lyon or start my way up.  I know I have some GNOME friends living between Lyon and The Hague so I am offering to cook dinner for anyone who will let me crash at their place for a couple of days before GUADEC.
  • And then there is the main event – GUADEC.  My talk is on Wednesday the 28th at noon.  It shouldn’t be missed.
  • To relax a bit more, save money on airfare and because I love Germany, I am heading to Berlin for a couple of days before flying back to the US

If anyone is going to be in any of the areas I will be in and wants to hang out.  Let me know and I’ll see if I can make time.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

After sweating a bit and then Colin Walter’s wonderful caller-allocates patch being committed to gobject-introspection, I give you PyGI’s gtk-demo clone:

A clone of gtk-demo

A clone of gtk-demo

It may not look like much but consider this, the demo uses a TreeView, TreeStore, ScrolledWindow, TextView, TextBuffer, TextTags and numerous types of Iters without asserting inside of GTK (provided you have the latest GTK from git). I can also now drop a python file in a directory and have it show up in the demo list which means many little snippets to methodically run through the gamut of the GTK API and fix any issues. Right now I need to write unit tests for the patches that enable gtk-demo.py to run but once I have those in I will commit gtk-demo.py to the PyGI repo.

Progress is sweet but hard work which is why I will be away this long Memorial Day weekend, sans any electronic devices, hiking the Glastonbury Wilderness. I’ll be back hacking on PyGI this Tuesday.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

Well it has been awhile since we had the awesomely productive GNOME Python hackfest and now we have a roadmap and people working on getting out releases of the various components. At first I came in as a concerned citizen who just was just a consumer of the Python stack. I thought I would just organize a hackfest, attend a couple of days and everything would work itself out. I find naiveté helpful when getting started in a project because if I walked in knowing the amount of work involved I would start whistling, make a sharp U turn and hope nobody noticed me running for the hills.

As it stands I am lucky enough to have a Manager who realizes the importance of the GNOME Python stack (given that a lot of Red Hat’s tools including the installer are based off of them). Fedora 13 already has a parallel installable Python 3.1 stack and since we are targeting Fedora 14 to get as many major modules ported as possible, I have been give permission to work full time on the GNOME bits.

So what exactly have I been up to?

I’ve been working on porting PyGTK apps to PyGI with an eye towards fixing up the PyGI API through the overrides, finding and fixing bugs and adding binding friendly API’s directly to GTK+ (as well as fixing up some of the introspection annotations).

Where am I at?

I am happy to say that yesterday I managed to squash what seems to be the last of the memory crasher bugs that have been frustrating my API fixing efforts. They still need to either be vetted or are waiting on other patches to be incorporated into git so for now you can apply the patches in bugs 617780, 618049, 619007 and 583909. Actually the last two patches are redundant, the latter being the correct patch and the former being the patch we will go with if pygobject take some time to approve. PyGObject is a lot more risk averse since the PyGTK static bindings also relies on its API being stable.

I am also pretty sure that most of the GtkBuilder/GtkUIManager stack is now usable with minimal porting efforts from PyGTK. I should be pushing most of my override work into git fairly soon (I need to write test cases). One issue is they rely on patches to GTK such as the one in bug 61857 which won’t be in GTK until the 3.0 release. This leads to another issue of finding all the needed API changes. Since GTK is on a 9-12 month release cycle, not to mention API freeze dates, it might be hard to find all the API that needs adding in order to be binding friendly. Bellow I will talk about some strategies to deal with this.

What needs to be done and where can others help?

The biggest hurdle to making PyGI usable is gaps in API coverage. Because PyGI’s API is mostly auto-generated on the fly it doesn’t always get things right or throws in a lot of C’isms which are confusing in a Python world. Some APIs just plain can’t be wrapped correctly and will lead to refcounting errors and ultimately crashes. PyGTK on the other hand has been developed for many years and each API has evolved to fit within the Python world. Some are APIs better wrapped than others but I digress. What needs to be done is port small PyGTK examples that utilized different parts of the GTK+ API. For things that don’t work we need to file bugs and write overrides for those pieces of API. We are not aiming for a 1 to 1 port of PyGTK. For instance PyGI’s handling of constants, enums and flags is much nicer and more complete than PyGTK. What we are aiming for is to make it easy enough to port applications and to be able to fully utilize the GTK API.

As for patches to GTK goes I think we should have a two pronged approach. We should create a compat library that adds the needed API fixes but prefer API inside of GTK itself. The compat library will be for internal override use only and anything going into the compat library must first have a bug and patch filed against GTK. As we get a larger coverage inside of GTK, all new GTK APIs are vetted for scritability issues and distributions start removing support for older versions of GTK we can drop the compat library.

We also need people to read and vet patches as well as usher them through the approval process. Getting patches through quickly to meet schedules is very important. Helping to write tests for patches will also speed up the approval process.

Do I see any roadblocks in the way?

My number one biggest concern is the Tree and List model/view API. It is packed with C’isms so requires a lot of hand holding to wrap correctly. Also PyGTK has a rich, completely custom, tree API because of this. That means for the most part we have to hand write and maintain a lot of code in order to get the API into a usable state. I already took a crack at it but got frustrated when trying to wrap parts that used iters. It is all doable but in the end even PyGTK had to make some hard decisions (using TreeIters will almost certainly cause a leak). Does anyone want to write a new script friendly Tree API? I find this issue to be the dragon standing in the way of getting PyGI to a usable state. Let’s just hope it doesn’t turn into a windmill.

Where can someone ask questions and offer to help?

Right now the best place is #pygi on GIMPNet/irc.gnome.org. We are in the process of creating a mailing list and will inform everyone once it is up.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

Next Page »