<?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; Pavol Rusnak</title>
	<atom:link href="http://stick.gk2.sk/blog/author/admin/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>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[hexoboros]]></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 edit the file <code>levels/level.lvl</code> and restart the game. For level definition see file format.txt in the levels folder. Thank you!</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>
		<item>
		<title>Bash PS1 tricks</title>
		<link>http://stick.gk2.sk/blog/2011/06/ps1-tricks/</link>
		<comments>http://stick.gk2.sk/blog/2011/06/ps1-tricks/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 11:34:34 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[ps1]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[tips+tricks]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=1893</guid>
		<description><![CDATA[Many of you know already about this feature, but some of you don&#8217;t so I wanted to share it with you. I just changed mine PS1 configuration in ~/.bashrc to look like this: export GIT_PS1_SHOWDIRTYSTATE=1 export GIT_PS1_SHOWSTASHSTATE=1 export GIT_PS1_SHOWUNTRACKEDFILES=1 export PS1='\[\033[1;37m\][\[\033[1;32m\]\u\[\033[0m\]@\h\[\033[0m\] $? \[\033[1;34m\]\w\[\033[0;35m\]$(__git_ps1 " %s")\[\033[1;37m\]]\[\033[0m\] ' Take a look at the following picture to see [...]]]></description>
			<content:encoded><![CDATA[<p>Many of you know already about this feature, but some of you don&#8217;t so I wanted to share it with you. I just changed mine PS1 configuration in <code>~/.bashrc</code> to look like this:</p>
<pre>export GIT_PS1_SHOWDIRTYSTATE=1
export GIT_PS1_SHOWSTASHSTATE=1
export GIT_PS1_SHOWUNTRACKEDFILES=1
export PS1='\[\033[1;37m\][\[\033[1;32m\]\u\[\033[0m\]@\h\[\033[0m\] $? \[\033[1;34m\]\w\[\033[0;35m\]$(__git_ps1 " %s")\[\033[1;37m\]]\[\033[0m\] '</pre>
<p>Take a look at the following picture to see how it works:</p>
<p><a href="http://stick.gk2.sk/blog/wp-content/uploads/2011/06/ps1tricks.png"  rel="lightbox[1893]"><img class="aligncenter size-medium wp-image-1895" title="PS1 tricks" src="http://stick.gk2.sk/blog/wp-content/uploads/2011/06/ps1tricks-300x125.png" alt="" width="300" height="125" /></a></p>
<p>or check the <a href="http://youtube.com/watch?v=AKNgtHnKgJc">video on youtube</a>.</p>
<p>The number between <code>user@host</code> and the current working directory is the exit status of the most recently executed command (or pipeline). This is great because you don&#8217;t have to type <code>echo $?</code> everytime you want to find it out. The <code>__git_ps1</code> magic will print git branch name if you are inside of the git repository. Furthermore it will add special characters indicating the state of the repo: <code>%</code> &#8211; untracked files present, <code>+</code> &#8211; new files added, <code>*</code> &#8211; some tracked files changed, <code>$</code> &#8211; there is something in the stash (see <code>git stash --help</code>). Pretty cool, right?</p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2011/06/ps1-tricks/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>openSUSE Spacebus</title>
		<link>http://stick.gk2.sk/blog/2011/05/opensuse-spacebus/</link>
		<comments>http://stick.gk2.sk/blog/2011/05/opensuse-spacebus/#comments</comments>
		<pubDate>Wed, 25 May 2011 11:20:18 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[spacebus]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/?p=1882</guid>
		<description><![CDATA[Yesterday we were replacing old chairs in our Prague SUSE office with the brand new ones. We got a wicked idea to stack the older ones into the Boosters&#8217; Office and have a virtual bus ride for a few minutes. Our colleague Michal Kubecek and his camera were ready as usual so he quickly took [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Yesterday we were replacing old chairs in our Prague SUSE office with the brand new ones. We got a wicked idea to stack the older ones into the Boosters&#8217; Office and have a virtual bus ride for a few minutes. Our colleague Michal Kubecek and his camera were ready as usual so he quickly took a photo of us enjoying the ride:</p>
<p><a href="http://stick.gk2.sk/blog/wp-content/uploads/2011/05/mk-susebus.jpg"  rel="lightbox[1882]"><img class="aligncenter size-thumbnail wp-image-1883" title="SUSE Bus" src="http://stick.gk2.sk/blog/wp-content/uploads/2011/05/mk-susebus-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p style="text-align: justify;">Later I had some time to practice my 1337 GIMP skillz and created a motivational poster for your viewing pleasure. After <a href="http://stick.gk2.sk/blog/2009/12/geeko-bus/">Geeko Bus</a> and <a href="http://stick.gk2.sk/blog/2010/03/geeko-tram/">Geeko Tram</a> I give you without further ado the &#8220;openSUSE Spacebus!&#8221;:</p>
<p><a href="http://stick.gk2.sk/blog/wp-content/uploads/2011/05/spacebus.jpg"  rel="lightbox[1882]"><img class="aligncenter size-medium wp-image-1884" title="SUSE Spacebus" src="http://stick.gk2.sk/blog/wp-content/uploads/2011/05/spacebus-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p>Credits: <a href="http://www.flickr.com/photos/yewenyi/320394554/in/photostream/">bus photo</a> CC BY-NC by yewenyi, <a href="http://www.flickr.com/photos/58782395@N03/5519580228/">space photo</a> CC-BY by Sweetie187, spacebus photo CC BY-NC by me</p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2011/05/opensuse-spacebus/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adding YaST menuitem to GNOME 3 status menu</title>
		<link>http://stick.gk2.sk/blog/2011/05/adding-yast-menuitem-to-gnome-3-status-menu/</link>
		<comments>http://stick.gk2.sk/blog/2011/05/adding-yast-menuitem-to-gnome-3-status-menu/#comments</comments>
		<pubDate>Mon, 02 May 2011 13:27:26 +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=1869</guid>
		<description><![CDATA[This blogpost is now obsolete. Please go to GNOME-Shell Extension: YaST (item in) Status Menu. I read a blogpost from Nelson Marques about adding YaST modules icon to GNOME Shell. I kind of liked the idea of YaST integration into GNOME Shell, but I had to share Julian Aloofi&#8217;s worries in comments. He came up with [...]]]></description>
			<content:encoded><![CDATA[<p><strong>This blogpost is now obsolete. </strong></p>
<p><strong>Please go to <a href="http://stick.gk2.sk/blog/2011/06/gnome-shell-extension-yast-status-menu/">GNOME-Shell Extension: YaST (item in) Status Menu</a>.</strong></p>
<p>I read a <a href="http://lizards.opensuse.org/2011/04/30/mockup-gnome3-and-yast/">blogpost</a> from Nelson Marques about adding YaST modules icon to GNOME Shell. I kind of liked the idea of YaST integration into GNOME Shell, but I had to share Julian Aloofi&#8217;s worries in comments. He came up with a simple idea to just add the YaST menuitem to status menu in the top-right corner. This was very easy to implement because most of the GNOME Shell features are written in Javascript. I created the following <a href="https://gist.github.com/8d0d7d756e18b8a1da21">simple hack</a> and ended up with this:</p>
<p><img class="aligncenter size-full wp-image-1870" title="GNOME 3 status menu with YaST menuitem" src="http://stick.gk2.sk/blog/wp-content/uploads/2011/05/gnome3-menu-yast.png" alt="GNOME 3 status menu with YaST menuitem" width="280" height="460" /></p>
<p>If you want to add the YaST menuitem as well, just follow these simple steps (as root):</p>
<pre>cd /
wget https://gist.github.com/raw/8d0d7d756e18b8a1da21/131a6caae2556edaa045f9cc3f13c573e12f2d31/gnome3-statusmenu-yast.patch
patch -p1 &lt; gnome3-statusmenu-yast.patch
rm gnome3-statusmenu-yast.patch</pre>
<p>Now you have to restart GNOME Shell (press Alt+F2 and enter &#8220;r&#8221; command) and you can enjoy the new menu item. <img src='http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Remember, the changes will be lost next time you reinstall the <code>gnome-shell</code> package.</p>
<p>I already contacted <a href="http://blog.crozat.net/">Frederic</a> and <a href="http://www.vuntz.net/journal/">Vincent</a> about the patch and they are still looking for the best way how to integrate YaST with the rest of the system, so stay tuned. <img src='http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>PS: <a href="http://www.wafaa.eu/">Andy</a> found an interesting bug. For him, the item was added but clicking on it did nothing. Solution was found by <a href="http://blog.crozat.net/">Frederic</a> &#8211; just install the missing <code>gnome-menus-branding-openSUSE</code> package.</p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2011/05/adding-yast-menuitem-to-gnome-3-status-menu/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

