<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>stick&#039;s corner &#187; python</title>
	<atom:link href="http://stick.gk2.sk/blog/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://stick.gk2.sk</link>
	<description>All composite phenomena are impermanent. All contaminated things and events are unsatisfactory.</description>
	<lastBuildDate>Wed, 01 Feb 2012 17:58:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>GNOME Python Hackfest, AppInstaller Meeting and Bretzn Hackfest</title>
		<link>http://stick.gk2.sk/blog/2011/01/gnome-python-hackfest-appinstaller-meeting-and-bretzn-hackfest/</link>
		<comments>http://stick.gk2.sk/blog/2011/01/gnome-python-hackfest-appinstaller-meeting-and-bretzn-hackfest/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 11:22:21 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[appstream]]></category>
		<category><![CDATA[brmlab]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[hackerspace]]></category>
		<category><![CDATA[installer]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=1734</guid>
		<description><![CDATA[What a cool and productive week! But let me start from the beginning &#8230; 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 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">What a cool and productive week! But let me start from the beginning &#8230;</p>
<p style="text-align: justify;">A couple of months ago we decided to start a <a href="http://en.wikipedia.org/wiki/Hackerspace">hackerspace</a> in Prague called <a href="http://brmlab.cz/">brmlab</a>. 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 <a href="http://blog.tomeuvizoso.net/">Tomeu</a> and he asked if they can organize <a href="http://live.gnome.org/Hackfests/Python2011">GNOME Python Hackfest</a> 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&#8217;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 <a href="http://en.wikipedia.org/wiki/OLPC_XO-1">OLPC XO-1</a>.</p>
<p><a href="http://stick.gk2.sk/blog/wp-content/uploads/2011/01/gnome-python-2.jpg"  rel="lightbox[1734]"><img src="http://stick.gk2.sk/blog/wp-content/uploads/2011/01/gnome-python-2-300x225.jpg" alt="" title="Gnome Python Hackfest" width="300" height="225" class="aligncenter size-medium wp-image-1768" /></a></p>
<p style="text-align: justify;">Blogposts from <a href="http://blog.tomeuvizoso.net/2011/01/wrap-up-python-gnome-hackfest-2011.html">Tomeu</a>, <a href="http://www.j5live.com/2011/01/19/pygi-in-prague/">J5</a> and <a href="http://www.piware.de/2011/01/na-zdravi-pygi/">Martin</a> about the event.</p>
<hr />
<p style="text-align: justify;">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 <a href="http://distributions.freedesktop.org/wiki/Meetings/AppInstaller2011">Cross-distribution meeting about application installer</a> organized by <a href="http://www.vuntz.net/journal/">Vincent</a>. 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 <a href="http://www.youtube.com/watch?v=BHeP2ZBwS_U">presentation</a> + we also created a <a href="http://distributions.freedesktop.org/wiki/AppStream">nice AppStream wikipage</a> as a starting point for any future work.</p>
<p><a href="http://stick.gk2.sk/blog/wp-content/uploads/2011/01/appstream_meeting.jpg"  rel="lightbox[1734]"><img class="aligncenter size-medium wp-image-1743" title="AppStream Meeting" src="http://stick.gk2.sk/blog/wp-content/uploads/2011/01/appstream_meeting-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p style="text-align: justify;">Vincent wrote a summary for <a href="http://news.opensuse.org/2011/01/26/app-installer-meeting-or-more-collaboration-accross-borders/">openSUSE News</a> and a <a href="http://www.vuntz.net/journal/post/2011/01/25/Results-of-the-App-Installer-meeting%2C-and-some-thoughts-on-cross-distro-collaboration">blogpost</a>.</p>
<hr />
<p style="text-align: justify;">This meeting was immediately followed by <a href="http://en.opensuse.org/openSUSE:2011_Bretzn_Meeting">Bretzn hackfest</a> organized by <a href="http://blog.karlitschek.de/">Frank</a>. 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 &#8211; 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. (<a href="http://gitorious.org/appstream">git repo</a>) Hope we can get it in createrepo and dpkg-scan* utilities soon.</p>
<p><a href="http://stick.gk2.sk/blog/wp-content/uploads/2011/01/DSC_1674.jpg"  rel="lightbox[1734]"><img class="aligncenter size-medium wp-image-1745" title="Bretzn Meeting" src="http://stick.gk2.sk/blog/wp-content/uploads/2011/01/DSC_1674-300x198.jpg" alt="" width="300" height="198" /></a></p>
<p style="text-align: justify;">Frank wrote a summary for <a href="http://news.opensuse.org/2011/01/27/first-bretzn-sprint-opensuse-app-store-on-the-horizon/">openSUSE News</a> and a <a href="http://blog.karlitschek.de/2011/01/2-amazing-meetings-to-change-world.html">blogpost</a>.</p>
<hr />
<p style="text-align: justify;">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&#8217;s really nice and encouraging to see folks from various companies working on one common goal.</p>
<p>And yeah,<br />
<a href="http://fosdem.org/2011/"><img class="size-full wp-image-1735" src="http://stick.gk2.sk/blog/wp-content/uploads/2011/01/going-to.png"  alt="I am going to FOSDEM 2011" width="150" height="89" / rel="lightbox[1734]"></a><br />
so see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2011/01/gnome-python-hackfest-appinstaller-meeting-and-bretzn-hackfest/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Popcorn &#8211; Popularity Contest (for RPM)</title>
		<link>http://stick.gk2.sk/blog/2009/03/popcorn-popularity-contest-for-rpm/</link>
		<comments>http://stick.gk2.sk/blog/2009/03/popcorn-popularity-contest-for-rpm/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 08:18:55 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[intro]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[popcon]]></category>
		<category><![CDATA[popcorn]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rpm]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/blog/?p=173</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-174" style="margin-right: 16px;" title="Popcorn" src="http://stick.gk2.sk/blog/wp-content/uploads/2009/03/popcorn-128x128.png" alt="Popcorn" width="128" height="128" /></p>
<p style="text-align: justify;">A few days ago I came across <a href="https://features.opensuse.org/305877">Feature #305877</a>. What is it about? Well, Debian has the <a href="http://popcon.debian.org/">Popularity Contest</a>, 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!</p>
<p style="text-align: justify;">At first, the task seemed pretty straightforward &#8211; 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&#8217;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. <img src='http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Moreover, rpmdb can tell you the exact time when the package was installed, so there was no need to check for <a href="http://en.wikipedia.org/wiki/Stat_(Unix)">ctime</a> for files inside the packages like Debian does. (We still have to check for files <a href="http://en.wikipedia.org/wiki/Stat_(Unix)">atime</a> to determine whether the package is used or not, though).</p>
<p style="text-align: justify;">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 <a href="http://www.sqlite.org/">SQLite</a>, but after some testing I decided to use much lighter disk-based hashtables <a href="http://tdb.samba.org/">TDB</a> from the <a href="http://samba.org/">Samba</a> team, because they perfectly fitted my humble needs.</p>
<p style="text-align: justify;">Has this caught your interest? You can dig through the code at <a href="http://gitorious.org/opensuse/popcorn">gitorious</a> 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. <img src='http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2009/03/popcorn-popularity-contest-for-rpm/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Scout: bash-completion, documentation, python indexes and Java demo</title>
		<link>http://stick.gk2.sk/blog/2008/06/scout-bash-completion-documentation-python-indexes-and-java-demo/</link>
		<comments>http://stick.gk2.sk/blog/2008/06/scout-bash-completion-documentation-python-indexes-and-java-demo/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 11:02:49 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[docbook]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[scout]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/blog/?p=25</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">A lot has happened since the <a href="http://stick.gk2.sk/blog/?p=15">public release of scout</a>. 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 <a href="http://en.opensuse.org/Scout">wikipage</a> like Thomas suggested and indexed Packman repositories for their binaries.</p>
<p style="text-align: justify;">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.</p>
<p>Watch mentioned java demonstration video here:</p>
<p><embed src="http://blip.tv/play/AcKYYI3nGQ" type="application/x-shockwave-flash" width="504" height="372" allowscriptaccess="always" allowfullscreen="true"></embed><br />
or <a href="http://blip.tv/file/get/Stickac-ScoutJavaWrapperDemonstration287.avi">download</a> it &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2008/06/scout-bash-completion-documentation-python-indexes-and-java-demo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://blip.tv/file/get/Stickac-ScoutJavaWrapperDemonstration287.avi" length="670376" type="video/x-msvideo" />
		</item>
	</channel>
</rss>

