Archive

Posts Tagged ‘python’

GNOME Python Hackfest, AppInstaller Meeting and Bretzn Hackfest
1 star2 stars3 stars4 stars5 stars
(no votes yet)
Loading ... Loading ...

January 24th, 2011 No comments

What a cool and productive week! But let me start from the beginning …

A couple of months ago we decided to start a hackerspace in Prague called brmlab. Most of the members deal with hardware, but there are also couple of software guys like me. At the end of November we were contacted by Tomeu and he asked if they can organize GNOME Python Hackfest in our hackerspace. I was more than delighted about the idea, so we agreed and started to plan things. In the end we had 9 FOSS hackers working on GNOME and Python and I think they enjoyed their time in Prague. Hackerspace is a great concept, because these folks didn’t have to spend extra money on renting some place and our members had opportunity to meet foreign FOSS developers and try exotic hardware like OLPC XO-1.

Blogposts from Tomeu, J5 and Martin about the event.


I had to leave the guys on Tuesday evening, because I spent the rest of the week in SUSE office in Nuernberg. The first three days were dedicated to Cross-distribution meeting about application installer organized by Vincent. It went more than well, we discussed and agreed on many things, which is great and in the end we were able to give a presentation + we also created a nice AppStream wikipage as a starting point for any future work.

Vincent wrote a summary for openSUSE News and a blogpost.


This meeting was immediately followed by Bretzn hackfest organized by Frank. The main focus of it was implementing some of the things we agreed on previous meeting from the KDE/Qt perspective and porting MeeGo Garage to openSUSE. During it I was mainly dealing with appdata.xml format we described in the AppStream meeting – I created an XML schema so we can validate it and also developed a proof-of-concept generator of this piece of metadata in Python. (git repo) Hope we can get it in createrepo and dpkg-scan* utilities soon.

Frank wrote a summary for openSUSE News and a blogpost.


I would like to thank GNOME Foundation and Collabora for sponsoring the GNOME Python Hackfest, Novell for sponsoring the Bretzn Hackfest and Canonical, Debian, Mageia, Novell and Red Hat for sending their people to AppInstaller Meeting! It’s really nice and encouraging to see folks from various companies working on one common goal.

And yeah,
I am going to FOSDEM 2011
so see you there!

Popcorn – Popularity Contest (for RPM)
1 star2 stars3 stars4 stars5 stars
(votes: 2, avg: 3.00)
Loading ... Loading ...

March 13th, 2009 5 comments

Popcorn

A few days ago I came across Feature #305877. What is it about? Well, Debian has the Popularity Contest, which tracks installed packages, how often they are used and sends an anonymized report once a week to their server. This maps the usage of Debian packages and as a nice side effect Debian guys can estimate the size of their user base on various platforms and releases. This also gives information about the community structure (e.g. how many users use development tools or graphic applications). This would be a very neat thing to have in openSUSE too!

At first, the task seemed pretty straightforward – just to replace dpkg calls with corresponding calls to rpm. There was one catch, though. Because of the transactions, which RPM uses, scanning on my openSUSE 11.1 machine took 2 minutes instead of 2 seconds on Debian! That’s because RPM creates one transaction for each package and constant locking and unlocking of rpmdb makes this process really slow. I rewrote the script to python, just to see how long will it take using only one long transaction and was very pleasantly surprised that it got back to 2 seconds. :) Moreover, rpmdb can tell you the exact time when the package was installed, so there was no need to check for ctime for files inside the packages like Debian does. (We still have to check for files atime to determine whether the package is used or not, though).

For the server part I was pretty sure about writing it in C to have it very fast and responsive, because I want to process incoming requests on the fly. The problem was with the storage. At the beginning I thought about using SQLite, but after some testing I decided to use much lighter disk-based hashtables TDB from the Samba team, because they perfectly fitted my humble needs.

Has this caught your interest? You can dig through the code at gitorious and any help is deeply welcome!. Yes, and why popcorn? Because the original is called popcon, but everybody at work just kept calling it popcorn during the discussions. Later I found another reason: popcorn is intended for RPM packages, so we definitively need an extra R in the name. :D

Scout: bash-completion, documentation, python indexes and Java demo
1 star2 stars3 stars4 stars5 stars
(no votes yet)
Loading ... Loading ...

June 25th, 2008 1 comment

A lot has happened since the public release of scout. Blogpost registered more than 400 hits, Marek Stopka created bash-completion, Thomas Schraitle wrote docbook documentation and Michal Vyskocil prepared module for python and its indexes. Thank you all! I started a wikipage like Thomas suggested and indexed Packman repositories for their binaries.

Michal also prepared small demonstration video about using scout in java wrapper. The wrapper runs java application and greps stderr for exceptions. When NoClassDefFoundError/ClassNotFoundException is detected, the classname is taken to scout, which resolves it to package name, installs the package with zypper and tries to run application again! I like this idea pretty much. Michal is currently working on perl indexes and we will probably index also ruby and pkgconfig files.

Watch mentioned java demonstration video here:


or download it …