<?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</title>
	<atom:link href="http://stick.gk2.sk/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>Sat, 05 May 2012 11:26:47 +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>See you soon!</title>
		<link>http://stick.gk2.sk/blog/2012/03/see-you-soon/</link>
		<comments>http://stick.gk2.sk/blog/2012/03/see-you-soon/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 11:04:02 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[opensuse]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=2083</guid>
		<description><![CDATA[Hello everyone! Today is my last working day at SUSE. I spent wonderful five and a half years at this company. First starting as a package maintainer, learning more and more about the free software movement and its ecosystem. Later I moved to the newly created openSUSE Boosters Team, where I could apply everything I [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Hello everyone!</p>
<p style="text-align: justify;">Today is my last working day at SUSE. I spent wonderful five and a half years at this company. First starting as a package maintainer, learning more and more about the free software movement and its ecosystem. Later I moved to the newly created openSUSE Boosters Team, where I could apply everything I learned about FOSS communities in practice and help to create the best Linux distribution.</p>
<p style="text-align: justify;">Recently I discovered my dormant passion for open hardware, be it analog or digital. I feel that&#8217;s where my heart is at the moment and that probably I could do a bigger change in this area.</p>
<p style="text-align: justify;">The good thing is nothing changes from the community side of things. I&#8217;ll still be participating in openSUSE development and discussions on the mailinglists or IRC. So, please, put the champaigne back to the fridge, it&#8217;s not over yet. <img src='http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  If you want to keep in touch and didn&#8217;t notice I started using prusnak@opensuse.org email address instead of the corporate ones some years ago, please change your address entries now.</p>
<p style="text-align: justify;">I&#8217;m sure we&#8217;ll see each other very soon at some FOSS related event (most probably <a href="http://conference.opensuse.org/">openSUSE Conference</a> in which organisation I&#8217;m actively participating in). That&#8217;s why this blogpost is titled &#8220;See you soon!&#8221; rather than &#8220;Goodbye&#8221;. And of course, remember to have a lot of fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2012/03/see-you-soon/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Stabyourself games in openSUSE games repository</title>
		<link>http://stick.gk2.sk/blog/2012/03/stabyourself-games-in-opensuse-games-repository/</link>
		<comments>http://stick.gk2.sk/blog/2012/03/stabyourself-games-in-opensuse-games-repository/#comments</comments>
		<pubDate>Sun, 11 Mar 2012 12:18:11 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[love2d]]></category>
		<category><![CDATA[lua]]></category>
		<category><![CDATA[mari0]]></category>
		<category><![CDATA[nottetris2]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[orthorobot]]></category>
		<category><![CDATA[stabyourself]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=2072</guid>
		<description><![CDATA[In previous blogpost I mentioned my first experiments with LÖVE framework for creating games. Today I found a website run by two friends called Stabyourself. They make games built on this framework and these are simply fabulous! Check out for yourself: I was so psyched I created packages for all three of them. Simply add the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">In <a href="http://stick.gk2.sk/blog/2012/01/global-game-jam-2012-hexoboros/">previous blogpost</a> I mentioned my first experiments with <a href="https://love2d.org/">LÖVE</a> framework for creating games. Today I found a website run by two friends called <a href="http://stabyourself.net/">Stabyourself</a>. They make games built on this framework and these are simply fabulous! Check out for yourself:</p>
<p><center><br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/SaoHMjS04vU?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p><iframe width="420" height="315" src="http://www.youtube.com/embed/VYoKezEJoic?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p><iframe width="420" height="315" src="http://www.youtube.com/embed/8edwWVSHsrY?rel=0" frameborder="0" allowfullscreen></iframe><br />
</center></p>
<p style="text-align: justify;">I was so psyched I created packages for all three of them. Simply add the <a href="http://en.opensuse.org/Games">openSUSE Games</a> repository and install packages <code>mari0</code>, <code>orthorobot</code> or <code>nottetris2</code> respectively to play. Dependency packages like <code>love</code> and <code>lua</code> will be installed automatically, of course.</p>
<p style="text-align: justify;">Enjoy!</p>
<p><strong>Update:</strong> I was just notified that Not Tetris 2 does not work with LÖVE 0.8.0. I might try to look at it soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2012/03/stabyourself-games-in-opensuse-games-repository/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Emailplot &#8211; chart your email activity</title>
		<link>http://stick.gk2.sk/blog/2012/03/emailplot-chart-your-email-activity/</link>
		<comments>http://stick.gk2.sk/blog/2012/03/emailplot-chart-your-email-activity/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 21:41:41 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[mbox]]></category>
		<category><![CDATA[opensuse]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=2060</guid>
		<description><![CDATA[Today I stumbled upon this fascinating article called The Personal Analytics of My Life by Stephen Wolfram. I immediately started to write my own script which produces the first chart in the article &#8211; daily distribution of sent emails. You can fetch it from my misc repo on github and play with it (requires ruby [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Today I stumbled upon this fascinating article called <a href="http://blog.stephenwolfram.com/2012/03/the-personal-analytics-of-my-life/">The Personal Analytics of My Life</a> by Stephen Wolfram. I immediately started to write my own script which produces the first chart in the article &#8211; daily distribution of sent emails. You can fetch it from my <a href="https://github.com/prusnak/misc">misc repo</a> on github and play with it (requires ruby and rcairo). Output for my outboxes looks like this (red dots are personal emails, green ones are related to <a href="http://opensuse.org/">openSUSE</a>):</p>
<p><a href="http://stick.gk2.sk/blog/wp-content/uploads/2012/03/emailplot.png"  rel="lightbox[2060]"><img class="aligncenter size-medium wp-image-2061" src="http://stick.gk2.sk/blog/wp-content/uploads/2012/03/emailplot-300x225.png" alt="" width="300" height="225" /></a></p>
<p style="text-align: justify;">I might implement other charts mentioned in the Stephen&#8217;s article in the future, but no promises. <img src='http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2012/03/emailplot-chart-your-email-activity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Build Service &#8211; Introducing Download Page</title>
		<link>http://stick.gk2.sk/blog/2012/02/open-build-service-download-page/</link>
		<comments>http://stick.gk2.sk/blog/2012/02/open-build-service-download-page/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 16:12:16 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[buildservice]]></category>
		<category><![CDATA[opensuse]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=2012</guid>
		<description><![CDATA[This is something I should&#8217;ve blogged about some time ago, but we wanted to make it a part of a bigger announcement, which did not happen so &#8230; here goes. One of the ideas how to help with Open Build Service adoption was to create some kind of download widget that would be possible to [...]]]></description>
			<content:encoded><![CDATA[<p>This is something I should&#8217;ve blogged about some time ago, but we wanted to make it a part of a bigger announcement, which did not happen so &#8230; here goes.</p>
<p>One of the ideas how to help with <a href="http://openbuildservice.org/">Open Build Service</a> adoption was to create some kind of download widget that would be possible to embed into upstream projects&#8217; download pages. After a few days of work I ended up with the page that is now available from this URL:</p>
<p><code>http://software.opensuse.org/download?project=PROJECT&amp;package=PACKAGE</code></p>
<p>It contains instructions for all distributions (like adding repo and installing the package), provides direct link to packages (which I recommend using only as a last resort solution), and for SUSE/openSUSE there are One-Click-Install buttons. The page also automatically preselects your distribution (if it&#8217;s possible to guess from user agent).</p>
<p>Go to <a href="http://software.opensuse.org/download?project=openSUSE:Tools&amp;package=osc">http://software.opensuse.org/download?project=openSUSE:Tools&amp;package=osc</a> to see the page in action. You can also embed the page using slightly modified URL into your download page:</p>
<p><code>&lt;iframe src="http://software.opensuse.org/download/iframe?project=openSUSE:Tools&amp;package=osc"&gt;&lt;/iframe&gt;</code></p>
<p><iframe width="600" height="600" src="http://software.opensuse.org/download/iframe?project=openSUSE:Tools&amp;package=osc"></iframe></p>
<p>If you want to modify the default color theme just use the following GET attributes (<code>acolor</code> &#8211; link color, <code>bcolor</code> &#8211; background color, <code>fcolor</code> &#8211; foreground color, <code>hcolor</code> &#8211; headers color). They accept standard HTML color values like 123 or 112233 (without the #).</p>
<p>PS: Some projects (like for example <a href="http://www.geogebra.org/cms/en/installers">Geogebra</a>) are already using this, although it was not yet properly announced. Feel free to join them if you think it&#8217;s a good idea!</p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2012/02/open-build-service-download-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Global Game Jam 2012 &#8211; Hexoboros</title>
		<link>http://stick.gk2.sk/blog/2012/01/global-game-jam-2012-hexoboros/</link>
		<comments>http://stick.gk2.sk/blog/2012/01/global-game-jam-2012-hexoboros/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 20:45:36 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gamejam]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[hexoboros]]></category>
		<category><![CDATA[love2d]]></category>
		<category><![CDATA[lua]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=2037</guid>
		<description><![CDATA[Last weekend I attended Global Game Jam, more particularly its Prague chapter called Game Jam Prague. The original plan was to join my friends from Hyperbolic Magnetism like the last year, but they managed to grow their team to 7 people, at which point I decided to split and form my own team. The theme [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend I attended <a href="http://globalgamejam.org/">Global Game Jam</a>, more particularly its Prague chapter called <a href="http://gamejamprague.org/">Game Jam Prague</a>. The original plan was to join my friends from <a href="http://hyperbolicmagnetism.com/">Hyperbolic Magnetism</a> like the last year, but they managed to grow their team to 7 people, at which point I decided to split and form my own team. <img src='http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The theme selected for this year&#8217;s edition was <a href="http://en.wikipedia.org/wiki/Ouroboros">Ouroboros</a>.</p>
<p><img class="aligncenter size-full wp-image-2038" src="http://stick.gk2.sk/blog/wp-content/uploads/2012/02/200px-Ouroboros-simple.svg_.png" alt="" width="200" height="200" /></p>
<p>At first I created one concept, but later I realized it&#8217;s just a toy and it would be very hard to turn it into a playable game, so I decided to scratch it. Then I got the idea to create a puzzle game played on similar board like <a href="https://www.google.com/search?q=Hexxagon&amp;tbm=isch">Hexxagon</a>, but instead of individual stones you have 2-6 snakes and your objective is to move and/or rotate them in order to create one big cycle consisting of all of them.</p>
<p>This is how the game looked immediately after the contest (clicking on the image will launch the YouTube video).</p>
<p><a href="http://www.youtube.com/watch?v=Oa5PDTAo3Zo"><img class="aligncenter size-medium wp-image-2039" src="http://stick.gk2.sk/blog/wp-content/uploads/2012/02/shot-300x225.jpg"  alt="" width="300" height="225" / rel="lightbox[2037]"></a></p>
<p>I was very surprised that I won the second place with this game in the local competition, because all entries were great and to be honest I did not expect it. Thanks for your support!</p>
<p><center><br />
<a href="http://stick.gk2.sk/blog/wp-content/uploads/2012/01/DSC_0102.jpg"  rel="lightbox[2037]"><img class="size-thumbnail wp-image-2046" src="http://stick.gk2.sk/blog/wp-content/uploads/2012/01/DSC_0102-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://stick.gk2.sk/blog/wp-content/uploads/2012/01/DSC_0103.jpg"  rel="lightbox[2037]"><img class="size-thumbnail wp-image-2044" src="http://stick.gk2.sk/blog/wp-content/uploads/2012/01/DSC_0103-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://stick.gk2.sk/blog/wp-content/uploads/2012/01/DSC_0229.jpg"  rel="lightbox[2037]"><img class="size-thumbnail wp-image-2047" src="http://stick.gk2.sk/blog/wp-content/uploads/2012/01/DSC_0229-150x150.jpg" alt="" width="150" height="150" /></a><br />
</center></p>
<p>If you want to try the game for yourself you can either checkout the <a href="https://github.com/prusnak/hexoboros">source code</a> or download a <a href="https://github.com/prusnak/hexoboros/zipball/master">ZIP</a> or <a href="https://github.com/prusnak/hexoboros/tarball/master">TAR</a> archives. After that make sure you have the latest <a href="https://love2d.org/">LÖVE</a> engine installed and run <code>start.bat</code> (Windows) or <code>start.sh</code> (Linux/MacOSX).</p>
<p>If you want to help me with the levels, just create the level file in <code>levels</code> folder (for example <code>14.lvl</code>) and select level 14 in the level chooser. For level definition see file <code>format.txt</code> in the same folder. Thank you!</p>
<p>Photos by <a href="http://dubgame.4fan.cz/">DubGame TV</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2012/01/global-game-jam-2012-hexoboros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting SSH fingerprints for machines in your network</title>
		<link>http://stick.gk2.sk/blog/2011/11/getting-ssh-fingerprints-for-machines-in-your-network/</link>
		<comments>http://stick.gk2.sk/blog/2011/11/getting-ssh-fingerprints-for-machines-in-your-network/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 10:19:59 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[fingerprint]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=1969</guid>
		<description><![CDATA[Some time ago we were trying to get SSH fingerprints for all machines in our local network. Solution is not that straightforward, but it&#8217;s not a rocket science either: #!/bin/bash tmpfile=$(mktemp) for i in $(seq 2 254); do ssh-keyscan -t rsa,dsa,ecdsa 192.168.1.$i >> $tmpfile done ssh-keygen -l -f $tmpfile rm -f $tmpfile First, we retrieve [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago we were trying to get SSH fingerprints for all machines in our local network. Solution is not that straightforward, but it&#8217;s not a rocket science either:</p>
<pre>
#!/bin/bash
tmpfile=$(mktemp)
for i in $(seq 2 254); do
    ssh-keyscan -t rsa,dsa,ecdsa 192.168.1.$i >> $tmpfile
done
ssh-keygen -l -f $tmpfile
rm -f $tmpfile
</pre>
<p>First, we retrieve the keys using <code>ssh-keyscan</code>, store them into temporary file and compute fingerprints afterwards using <code>ssh-keygen</code>. Or is there a less complex and more elegant solution?</p>
<p>PS: Thanks <a href="http://administratosphere.wordpress.com/2011/05/28/getting-and-verifying-ssh-fingerprints/">David</a> for kicking in the right direction.</p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2011/11/getting-ssh-fingerprints-for-machines-in-your-network/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>openSUSE Conference 2011 is coming &#8230;</title>
		<link>http://stick.gk2.sk/blog/2011/08/opensuse-conference-2011-is-coming/</link>
		<comments>http://stick.gk2.sk/blog/2011/08/opensuse-conference-2011-is-coming/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 12:03:59 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[osc11]]></category>
		<category><![CDATA[reprap]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=1943</guid>
		<description><![CDATA[&#8230; and I&#8217;ll be there again as well! I guess there&#8217;s no need to tell I am really looking forward to it. I&#8217;m pretty excited when I look closer at the just published Conference Timetable. What I really like about the openSUSE Conference is that it has also sessions that are not directly related to SUSE [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">&#8230; and I&#8217;ll be there again as well! I guess there&#8217;s no need to tell I am really looking forward to it.</p>
<p style="text-align: justify;"><a href="http://stick.gk2.sk/blog/wp-content/uploads/2011/08/prusa-mendel.jpg"  rel="lightbox[1943]"><img class="alignleft size-thumbnail wp-image-1948" style="margin: 8px;" title="prusa-mendel" src="http://stick.gk2.sk/blog/wp-content/uploads/2011/08/prusa-mendel-150x150.jpg" alt="" width="150" height="150" /></a>I&#8217;m pretty excited when I look closer at the just published <a href="conference.opensuse.org/timetable">Conference Timetable</a>. What I really like about the openSUSE Conference is that it has also sessions that are not directly related to SUSE or Linux in general. You can &#8220;geek out&#8221; about topics like <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=58&amp;confId=2">Digital processing of early color photography</a>, <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=117&amp;confId=2">Open Street Map</a>, <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=148&amp;confId=2">8-bit Music</a>, <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=11&amp;confId=2">Wooden kayaks</a> or <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=24&amp;confId=2">Open Hardware and Hackerspaces</a>. The last one will be held by me and I&#8217;ll try to bring a functional <a href="http://reprap.org/wiki/Prusa">Rep Rap 3d printer</a> from our <a href="http://brmlab.cz/">Prague hackerspace brmlab</a> so you can see it in action and print your own 3d models. All in the spirit of our motto: Have a lot of fun!</p>
<p style="text-align: justify;">Together with <a href="http://hennevogel.de/">Henne</a> and <a href="http://www.digitalflow.de/blog/">Tom</a> we&#8217;ll hold a <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=99&amp;confId=2">workshop</a> about our social networking platform called <a href="http://connect.opensuse.org/">Connect</a> and we hope we&#8217;ll get more contributors to it.</p>
<p style="text-align: justify;">Among the talks I mentioned I also plan to visit sessions about <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=31&amp;confId=2">GNOME 3</a>, <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=3&amp;confId=2">tmux</a>, <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=79&amp;confId=2">5Ws of Contributions</a>, <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=64&amp;confId=2">Static Code Checking</a> and <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=134&amp;confId=2">Lightning Talks</a>. And of course don&#8217;t miss the keynotes and social event <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=137&amp;confId=2">The Geek</a> in Wild West theme!</p>
<p style="text-align: justify;">See you all there!</p>
<p style="text-align: justify;"><img class="alignnone" src="http://static.opensuse.org/promo/osc2011/banner/square-badge.png" alt="" width="200" height="200" /></p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2011/08/opensuse-conference-2011-is-coming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>openSUSE IRC Word Clouds</title>
		<link>http://stick.gk2.sk/blog/2011/08/opensuse-irc-word-clouds/</link>
		<comments>http://stick.gk2.sk/blog/2011/08/opensuse-irc-word-clouds/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 13:05:15 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[wordcloud]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=1932</guid>
		<description><![CDATA[You might know a web tool call Wordle. It&#8217;s a simple way how to create nice word clouds from texts. It has one disadvantage though. It runs as a web service, so you cannot run it offline. I tried to find the source but the only thing I found was this FAQ answer, where Jonathan [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">You might know a web tool call <a href="http://www.wordle.net/">Wordle</a>. It&#8217;s a simple way how to create nice word clouds from texts. It has one disadvantage though. It runs as a web service, so you cannot run it offline. I tried to find the source but the only thing I found was <a href="http://www.wordle.net/faq#code">this FAQ answer</a>, where Jonathan (the author) mentioned working for IBM. After few search queries I found <a href="http://www.alphaworks.ibm.com/tech/wordcloud">Word-Cloud Generator</a>, which seems like the Wordle predecessor from IBM that can be run offline. After some fiddling with the tool I present you these (word clouds from 3 big openSUSE IRC channels I am on):</p>
<table>
<tbody>
<tr>
<td><a href="http://stick.gk2.sk/blog/wp-content/uploads/2011/08/opensuse-buildservice.png"  rel="lightbox[1932]"><img class="aligncenter" title="#opensuse-buildservice" src="http://stick.gk2.sk/blog/wp-content/uploads/2011/08/opensuse-buildservice-150x150.png" alt="" width="150" height="150" /></a></td>
<td><a href="http://stick.gk2.sk/blog/wp-content/uploads/2011/08/opensuse-factory.png"  rel="lightbox[1932]"><img title="#opensuse-factory" src="http://stick.gk2.sk/blog/wp-content/uploads/2011/08/opensuse-factory-150x150.png" alt="" width="150" height="150" /></a></td>
<td><a href="http://stick.gk2.sk/blog/wp-content/uploads/2011/08/opensuse-project.png"  rel="lightbox[1932]"><img title="#opensuse-project" src="http://stick.gk2.sk/blog/wp-content/uploads/2011/08/opensuse-project-150x150.png" alt="" width="150" height="150" /></a></td>
</tr>
<tr>
<td style="text-align: center;">#opensuse-buildservice</td>
<td style="text-align: center;">#opensuse-factory</td>
<td style="text-align: center;">#opensuse-project</td>
</tr>
</tbody>
</table>
<p>Come on, join our IRC channels and have a lot of fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2011/08/opensuse-irc-word-clouds/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Version sorting in Ruby</title>
		<link>http://stick.gk2.sk/blog/2011/07/version-sorting-in-ruby/</link>
		<comments>http://stick.gk2.sk/blog/2011/07/version-sorting-in-ruby/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 13:59:53 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[buildservice]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=1923</guid>
		<description><![CDATA[Today I needed to implement &#8220;human sort&#8221; for a list of distributions we support in the Open Build Service. I wanted to sort them alphabetically but at the same time the newest ones at the top. I ended up with the following code: module Enumerable def version_sort sort_by { &#124;key,val&#124; key.gsub(/_SP/,'.').gsub(/_Factory/,'_100').split(/_/) \ .map { &#124;v&#124; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Today I needed to implement &#8220;human sort&#8221; for a list of distributions we support in the <a href="http://openbuildservice.org/">Open Build Service</a>. I wanted to sort them alphabetically but at the same time the newest ones at the top. I ended up with the following code:</p>
<pre>module Enumerable
  def version_sort
    sort_by { |key,val|
       key.gsub(/_SP/,'.').gsub(/_Factory/,'_100').split(/_/) \
          .map { |v| v =~ /\A\d+(\.\d+)?\z/ ? -(v.to_f) : v.downcase }
    }
  end
end

@distros = [
  'openSUSE_Factory_PPC',
  'CentOS_6',
  'openSUSE_11.4',
  'RHEL_4',
  'Mandriva_2010',
  'RHEL_5',
  'Debian_5.0',
  'SLE_10',
  'Ubuntu_9.04',
  'Fedora_14',
  'RHEL_6',
  'Ubuntu_11.04',
  'SLE_11',
  'Mandriva_2009.1',
  'CentOS_5',
  'openSUSE_11.3',
  'Debian_6.0',
  'openSUSE_11.1_Evergreen',
  'Ubuntu_10.04',
  'ScientificLinux_6',
  'openSUSE_Factory',
  'Ubuntu_10.10',
  'SLE_11_SP1',
  'Fedora_15',
  'Ubuntu_8.04',
  'Ubuntu_9.10',
  'Mandriva_2010.1',
]

@distros.version_sort.each{ |v|
  puts v
}</pre>
<p style="text-align: justify;">which produces this list:</p>
<pre>CentOS_6
CentOS_5
Debian_6.0
Debian_5.0
Fedora_15
Fedora_14
Mandriva_2010.1
Mandriva_2010
Mandriva_2009.1
openSUSE_Factory
openSUSE_Factory_PPC
openSUSE_11.4
openSUSE_11.3
openSUSE_11.1_Evergreen
RHEL_6
RHEL_5
RHEL_4
ScientificLinux_6
SLE_11_SP1
SLE_11
SLE_10
Ubuntu_11.04
Ubuntu_10.10
Ubuntu_10.04
Ubuntu_9.10
Ubuntu_9.04
Ubuntu_8.04</pre>
<p style="text-align: justify;">Nifty, right? <img src='http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  The idea is simple. I use the <code>sort_by</code> function which pre-computes the values that are later compared. I replace some special values like &#8220;_Factory&#8221; or &#8220;_SP&#8221;, because I want &#8220;Factory&#8221; to be the newest (100 is higher than any other openSUSE version) and &#8220;11_SP1&#8243; to behave exactly like &#8220;11.1&#8243;. Then I split the key using the &#8220;_&#8221; delimiter and turn any string in form &#8220;digit&#8221; or &#8220;digit.digit&#8221; to float number. I change the sign, because I want versions to be sorted in the reverse direction. Good thing is that Ruby operator <code>&lt;=&gt;</code> works on arrays also, so I&#8217;m done with key modifications and the sort does the rest &#8230;</p>
<p style="text-align: justify;">PS: I used <code>|key,val|</code> in <code>sort_by</code> block because I want to use this function also to sort hashes by their key. This way it works both for arrays and hashes with any further modifications.</p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2011/07/version-sorting-in-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GNOME-Shell Extension: YaST (item in) Status Menu</title>
		<link>http://stick.gk2.sk/blog/2011/06/gnome-shell-extension-yast-status-menu/</link>
		<comments>http://stick.gk2.sk/blog/2011/06/gnome-shell-extension-yast-status-menu/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 12:19:58 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[yast]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=1909</guid>
		<description><![CDATA[This is just a short follow-up to my older blogpost Adding YaST menuitem to GNOME 3 status menu. Few minutes ago Andy asked me if I could create a proper gnome-shell extension so I went ahead and did it. I&#8217;ve set a git repo on Gitorious and also built the package in my home:prusnak project. If [...]]]></description>
			<content:encoded><![CDATA[<p>This is just a short follow-up to my older blogpost <a href="http://stick.gk2.sk/blog/2011/05/adding-yast-menuitem-to-gnome-3-status-menu/">Adding YaST menuitem to GNOME 3 status menu</a>. Few minutes ago <a href="http://www.wafaa.eu/">Andy</a> asked me if I could create a proper gnome-shell extension so I went ahead and did it. <img src='http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I&#8217;ve set a <a href="https://gitorious.org/opensuse/gnome-shell-extension-yast-status-menu">git repo on Gitorious</a> and also built the package in my <a href="https://build.opensuse.org/package/show?package=gnome-shell-extension-yast-status-menu&amp;project=home%3Aprusnak">home:prusnak</a> project. If there will be interest from our GNOME Team, I will create a submit request to some GNOME devel project and Factory as well.</p>
<p>If you don&#8217;t know this yet, you have to install the <code>gnome-shell-extension-yast-status-menu</code> and then either logout and login or press Alt+F2 and type &#8220;r&#8221; (which will restart gnome-shell).</p>
<p>Enjoy! <img src='http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><img src="http://stick.gk2.sk/blog/wp-content/uploads/2011/05/gnome3-menu-yast.png" alt="" title="" width="280" height="460" class="aligncenter size-full wp-image-1870" /></p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2011/06/gnome-shell-extension-yast-status-menu/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

