J5’s Blog

July 30, 2012

GUADEC A Coruña Restaurant Suggestion

Filed under: GUADEC, Gnome, community, conference, friends, weekend, wine — J5 @ 11:32 am

Just a bit of a service announcement for those looking for a good bite to eat here in A Coruña. Last night Colin, Emily and I found ourselves sitting outside Tapa Negra looking for a bit of food and wine. We were not disappointed. The food was simple yet flavourful and the wine list quite extensive. Since most of the dishes are topped with some sort of meat or fish, the chef even made an amazing veggie dish for Colin off menu. I recommend trying one of the Tostas, thick cuts of toasted bread topped with fish or meat and some sauce. The prices were a bit higher than surrounding restaurants but the quality and service made it worth it.

Duck dish at Tapa Negra by John (J5) Palmieri
, a photo by John (J5) Palmieri on Flickr.

I had some duck in a cream sauce over toasted bread. I don’t have a picture of it but Emily had sliced cured beef similar to Iberico Ham over toasted bread with a high quality EVOO drizzled on top.

Veggie dish at Tapa Negra by John (J5) Palmieri
a photo by John (J5) Palmieri on Flickr.

This was the dish the chef made for Colin. It was a tower of sautéed vegetables topped with goat cheese and caramelized onions with EVOO and a balsamic reduction drizzled on top.

I was quite impressed and the small dish sizes left room for some desert with the mandarin orange sorbet being my favorite. The complete meal left us completely satisfied.

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

August 15, 2011

GObjects in Berlin: The search for more documentation

Filed under: GUADEC, Gnome, Python, community, conference — J5 @ 12:08 pm

One of the big topics of during the GObject Introspection Hackfest in Berlin has been generating documents directly from the .gir files.  While we are far from having complete documents for every supported language binding but thanks to Tomeu Vizoso,  Shaun McCance, Laszlo Pandy and Colin Walters with myself holding up rear after my work on the PyGObject 3.0 pre-release, we have a working framework.  Examples of the first output are available on my peoples page and you can get more information on the project page.

I would like to thank the Gnome Foundation for sponsoring travel and hotel as well as space during the Desktop Summit; Openisums for supplying us with space after the Summit was over; Nemein for the excellent Fondue dinner; Collabora for the Africana food that I had to miss due to the equally excellent cocktail party at Kat and Dave’s place; and KDE for the yummy Vietnamese lunch.

Much has been sewn and much has been grown, but now it is time to go.  Another successful hackfest is in the books and now the hard work of building on our achievements begins.  But first, some beer.

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

August 9, 2011

Ich bin ein Berliner

Filed under: GUADEC, Gnome, Python, community, conference, travel — J5 @ 11:53 am

And I am very tasty. Though I missed the main portion of the Desktop Summit I will be in Berlin early tomorrow (Wednesday) morning. I should be in time for the Introspection BOF provided I don’t get lost. I trust that taking the TXL bus to the Staatsoper stop will prove to be uneventful.

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

August 3, 2011

I will be missing the Desktop Summit this year but I will be in Berlin

Filed under: Gnome, conference — J5 @ 1:15 pm

Due to my cousin’s wedding this weekend I will be missing the talks section of the Desktop Summit but will be in Berlin during the BOFs to attend the GObject Introspection hackfest.

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

May 18, 2011

GObject Introspection Hackfest in Berlin

Filed under: community, conference — J5 @ 12:20 pm

Hey everyone, we are planning a GObject Introspection Hackfest to run with the BOF sessions at the Desktop Summit in August. Openismus has also kindly offered us use of their offices for the three days following the conference.

One of the big areas we want to address this time around is generating developer documentation directly from .gir files for each of the languages that support Introspection. This means making sure GObject libraries tag C identifiers for translation to the correct language syntax as well as providing a way to override the more complicated sections such as code samples and Interfaces that have been modified to closer fit a given language’s syntax.

Other items on the agenda include finishing up some of the features, such as default values, that have yet to be implemented but make introspected bindings much easier to use.

If you are interested in attending please add your name and contact info to the wiki page along with any agenda items you would like to see addressed. We should be submitting this to the board for approval and arranging accommodations fairly soon so the sooner we get a list of participants, the better.

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

January 26, 2011

Hackfest Thanks

Filed under: Gnome, conference, travel — J5 @ 5:52 pm

I would like to thank everyone who came and hacked at the PyGObject hackfest, thank the GNOME Foundation Board for supporting us, Collabora for sponsoring us and Brmlab for hosting us. I would also like to give a big thanks to Tomeu for showing us true Prague hospitality (besides being a super hacker). I was a bit distracted the last day of the hackfest because of a small scare that ended up with me cancelling the talk I was going to give and rushing off to two Prague hospitals. I hope I didn’t worry everyone too much as it turned out to be a minor issue that was taken care of with some antibiotics. Tomeu was key in getting me where I needed to go.

A hundred things were going through my head as I had never had medical issues while being abroad – should I wait for my flight back home in three days, should I get emergency tickets back home, how much would it cost to go to a local hospital? Luckily my doctors office has web apps set up so I could securely be in communication with them while I was deciding what to do. I found out my insurance company would cover me though as it ended up Prague hospital care was a little more than what my copay would be. it all worked out in the end.

I promised the board to write-up a how-to on setting up a successful hackfest. I believe I will add a section on handling issues that may come up. We should have a policy of listing emergency information on the wiki of events we hold, including the closest places to seek care and approximate costs for travellers abroad. It is important to keep out guests safe and make them feel comfortable when they take time to help make GNOME better.

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

Python 3 in PyGObject

Filed under: Gnome, Python, conference — J5 @ 5:24 pm

The hackfest is over and a lot of things got fixed but unfortunately Python3 support was broken.  I just committed a couple of patches to fix this.  Here are some things PyGObject developers should look out for. When I note to only use something in tests it means that there is a compat module that is only available to the tests. Actual code should either add the workaround to the top of their module or try not to have a distinction between things such as unicode and longs which no longer exist in Python 3.

  • use range instead of xrange – loss of performance in Python 2 but Python 3 treats range similarly to python 2’s xrange
  • use dict.items() instead of dict.iteritems() – same as the xrange issue
  • callable does not exist in 3.x, use hasattr(obj, ‘__call__’) or
              if sys.version_info > (3, 0):
                  def callable(obj):
                      return hasattr(obj, '__call__')
        
  • using unicode in tests is tricky, you can’t use u” even in a versioned conditional as python3’s parser chokes on it. Do this in tests (and only i
    in tests):

              from compathelper import _unicode
              unicode_string = _unicode('this is a unicode string')
        
  • exception caching changed in 2.7, instead of except Exception, e we now use except Exception as e. Do this to be compatible with older versions:
              except Exception:
                  etype, e = sys.exc_info()[:2]
        
  • Unbound methods with an im_func attribute no longer exits in 3.x. Unbound methods are now just functions so class.method in 3.x is equivalent to class.method.im_func in 2.x. If you have to go this low level do this:
              func = class.method
              if sys.version_info < (3,0):
                  func = func.im_func
        

    Update: It was pointed out to me that this can be expressed as a simple getattr triple:

              getattr(class.method, 'im_func', class.method)
        
  • all numbers are long in 3.x so 42L is invalid in 3.x. In tests (and only in tests) do this:
              from compathelper import _long
              l = _long(42)
        
    [read this post in: ar de es fr it ja ko pt ru zh-CN ]

January 19, 2011

PyGI in Prague

Filed under: Gnome, Python, community, conference — J5 @ 6:15 am

prague_scene

It is all one big blur

We’ve been busy at the brmlab hacker space for a couple of days now hacking away at PyGObject Introspection.  A lot of bugs have been fixed and some of the biggest GEdit plugins now works quite well thanks to Ignacio.  Martin Pit has been working on porting system-config-printer which touches a lot of the Gtk+ API which he fixes as he runs into issues.  Right now he is working on making GVariants easier to use.  Nud has been hard at work tracking down reference counting issues which no one else wants to touch due to having to deal with two ref systems and a garbage collector.  Simon Schampijer is working on Gdk issues and is readying a patch to fix places where we don’t quite get constructors correct. Sebastian is porting gnome-dvb and Tomeu is unbreaking Cairo in PyGI after the Gtk+ guys decided to wrap Cairo structs in full boxed types.   Lazlo is adding annotations to Gtk+ and reviewing some of the annotations in Pavel’s gobject-introspection branch. I’ve been working on the new PyGI invoke branch which has been going really well but most likely won’t be ready to swap over until after the hackfest.

One of the greatest things about the hackfest is getting the PyGI developers familiar with debugging some of the harder areas of the library.  After this is over in a few more days everyone will go home with a greater knowledge of the different bits that make up the PyGI infrastructure.  This means we can start to accelerate porting and bug fixing of a few apps up to the release of GNOME 3 and then be in a good place to move everything over in the next cycle.

Thanks goes to Collabora for funding our beers which puts us to sleep so we can wake up refreshed the next morning.  The Collabora thank you dinner will be happening tomorrow night.   Also, thanks to the Foundation for giving us the infrastructure for organising such events.  I plan on writing something less formal than the current guidelines so other people can use as another reference to organizing similar events.  BTW, any hackers near Prague should check out the hackspace.  We need one of these in every city there is FOSS developers.

GNOME Foundation Sponsored

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

January 11, 2011

Time keeps on ticking

Filed under: Gnome, Python, community, conference, performance — J5 @ 6:54 pm

I got to a bit of a milestone today on the new PyGObject Introspection invoke code I have been working on. I can now run a handful of tests that marshal in’s out’s and returns. It is mostly just basic types right now but it works. Of significant importance is that I got the first torture test to run. We call a simple interface with a couple of in and out parameters 10000 times in a loop. Here is the output from the old implementation:


test_torture_profile (test_everything.TestTortureProfile) ...
        torture test 1 (10000 iterations): 0.240000 secs

and now from my new implementation:


test_torture_profile (test_cache.TestTortureProfile) ...
	torture test 1 (10000 iterations): 0.070000 secs

That is more than a 3x speedup for a simple case. Of course there is still a lot of work to do to handle more complex types and all of the edge cases but again, progress. I’m probably losing some speed gains due to moving to function calls instead of a big switch statement but one of the benefits of splitting everything up is when issues occur I know exactly where it is happening instead of having to scroll up the code to see if I am decoding or encoding and what type is causing the issues.

The hackfest is next week in Prague. Note to those going, because of the small amounts involved in your travel costs, I will be handling reimbursement in Euros or CZK. We will figure it all out when I get there.

I’ve been so busy I also forgot to thank Collabora who is sponsoring the hotel, a thank you dinner, beer and a coffee machine for the hackspace which is donating rooms for us to hack in. I’m looking forward to having a great time and getting some work done. Hopefully this blizzard that is hitting us tonight won’t effect my travel.

GNOME Foundation Sponsored

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

November 30, 2010

Working up the budgets for the GNOME Python Introspection hackfest

Filed under: Gnome, Python, community, conference — J5 @ 1:40 pm

We are holding a hackfest in Prague the 17th-21st of January.  I am currently working up the budget to submit to the GNOME Board for approval.  If you think you should be at that hackfest but still haven’t filled out the wiki please do so now.   Add your name to the attendant request and to the cost section, letting us know how much it will cost to get you to Prague.  Since hackfests are small and have a limited budget, requests will be considered based on what you will bring to the conference as weighed against the cost of getting you there.  That being said, the right people need to be at a hackfest for it to be successful so if you should be there, we will get you there.

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

Powered by WordPress