<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Planet openSUSE</title>
    <link>http://planet.opensuse.org</link>
    <description>Planet openSUSE - http://planet.opensuse.org</description>
    <atom:link href="http://planet.opensuse.org/rss20.xml" rel="self" type="application/rss+xml"/>
    <item>
      <guid isPermaLink="false">http://www.marques.so/?p=1293</guid>
      <title>Nelson Marques: A chance to contribute to FOSS: Help &#x2018;tatica&#x2019; going to Vienna</title>
      <pubDate>Sun, 29 Jan 2012 19:03:10 +0000</pubDate>
      <link>http://www.marques.so/2012/01/a-chance-to-contribute-to-foss-help-tatica-going-to-vienna/</link>
      <description>&lt;p&gt;I would like to share something that came to my knowledge through Facebook, and though I don&amp;#8217;t know &amp;#8216;tatica&amp;#8217; personally, I did traded a few emails with her in the past and know that her contributions are always awesome.&lt;/p&gt;
&lt;p&gt;If you can help, please consider donating a few bucks to help this awesome FOSS contributor attending one of the major events in the field of her contributions!&lt;/p&gt;
&lt;p&gt;To help &amp;#8216;tatica&amp;#8217; please click on the image!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://pledgie.com/campaigns/16632"&gt;&lt;img class="aligncenter" title="Help 'tactica'!" src="http://pledgie.com/images/campaigns/16632/medium/g6884.png?1327514388" alt="" width="280" height="240" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Original Text from the Campaign (source: &lt;a href="http://pledgie.com/campaigns/16632" target="_blank"&gt;http://pledgie.com/campaigns/16632&lt;/a&gt;):&lt;/p&gt;
&lt;p&gt;&amp;#8220;Maybe you know that girl &lt;a href="http://tatica.org/"&gt;here&lt;/a&gt;. You know she does a lot for FLOSS, using GIMP, Inkscape and Blender. Its not that she makes only graphics for Fedora and a lot of othere FLOSS-projects or events. She also give her knowledge always to others, giving talks and workshops on events or producing screencasts.&lt;/p&gt;
&lt;div&gt;She always wanted to see an FLOSS event in europe, so the Libre Graphics Meeting and LinuxWochen Vienna would be the right event for her.&lt;/div&gt;
&lt;p&gt;There is only one problem, flights from south america to europe are really expensive. From Caracas to Vienna is mostly between 1500 and 1700 $, why 2500 then. So maybe we can pay the hotel also? &amp;#8220;&lt;/p&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://ironman.darthgibus.net/?p=153</guid>
      <title>Fred Blaise: btrfs consuming lots of sys cpu time</title>
      <pubDate>Sat, 28 Jan 2012 21:46:41 +0000</pubDate>
      <link>http://ironman.darthgibus.net/?p=153</link>
      <description>&lt;p&gt;fblaise@snowball ~ $ ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10&lt;br /&gt;
%CPU   PID USER     COMMAND&lt;br /&gt;
 7.4  2591 root     [flush-btrfs-1]&lt;br /&gt;
 5.9   905 root     [btrfs-endio-0]&lt;br /&gt;
 4.4  2907 root     [btrfs-endio-wri]&lt;br /&gt;
 4.3  1314 root     /usr/bin/X :0 vt7 -nr -nolisten tcp -auth /var/run/xauth/A:0-VjxI1a&lt;br /&gt;
 2.7   900 root     [btrfs-worker-0]&lt;br /&gt;
 1.7  2106 fblaise  /usr/bin/knotify4&lt;br /&gt;
 1.4  2094 fblaise  kwin&lt;br /&gt;
 0.6    10 root     [kworker/0:1]&lt;br /&gt;
 0.5  3643 fblaise  top&lt;/p&gt;
&lt;p&gt;And it is only on my /home filesystem&amp;#8230; system is currently sitting idle. Wow.&lt;/p&gt;
&lt;p&gt;This is on a Linux Mint laptop with 3.0.0-13-generic-pae.&lt;/p&gt;
&lt;p&gt;Anyone experienced this?&lt;/p&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://seife.kernalert.de/blog/?p=460</guid>
      <title>Stefan Seyfried: Using IRMP with Arduino</title>
      <pubDate>Sat, 28 Jan 2012 12:10:24 +0000</pubDate>
      <link>http://seife.kernalert.de/blog/2012/01/28/using-irmp-with-arduino/</link>
      <description>&lt;p&gt;I needed to implement an infrared remote control decoder, so certainly I took out my &lt;a href="http://arduino.cc"&gt;Arduino&lt;/a&gt; and hooked up an IR sensor chip to pin 2. Then the interesting thing started. Looking around, I found &lt;a href="http://www.ladyada.net/learn/sensors/ir.html"&gt;ladyada&amp;#8217;s tutorial on IR sensors&lt;/a&gt;. However, the method used there is pretty limited (you basically record a sample of each key signal and then compare the received signal to your samples) and unreliable for many protocols.&lt;br /&gt;
Then I found &lt;a href="http://www.mikrocontroller.net/articles/IRMP"&gt;IRMP (german only link, sorry)&lt;/a&gt; which is a very versatile IR decoder for many protocols. However, IRMP is made to be used with plain avr-gcc, not from within Arduino&amp;#8217;s IDE.&lt;br /&gt;
But fixing that was really not very hard.&lt;br /&gt;
The results are available on &lt;a href="https://gitorious.org/arduino-addons/irmp-arduino"&gt;gitorious, project arduino-addons/irmp-arduino&lt;/a&gt;, including a simple example sketch to test the decoder.&lt;/p&gt;
&lt;p&gt;Note that I&amp;#8217;ll probably rebase the git tree whenever something happens in the IRMP SVN repository, so be aware of that in case you make local changes to the code and want to update from my tree.&lt;/p&gt;
&lt;p&gt;Have fun! &lt;img src='http://seife.kernalert.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://lizards.opensuse.org/?p=8492</guid>
      <title>Bruno Friedmann: ATI/AMD fglrx 8.930 Catalyst 12.1 rpm available for openSUSE 11.3, 11.4, 12.1</title>
      <pubDate>Fri, 27 Jan 2012 16:35:39 +0000</pubDate>
      <link>http://lizards.opensuse.org/2012/01/27/atiamd-fglrx-8-930-catalyst-12-1-rpm-available-for-opensuse-11-3-11-4-12-1/</link>
      <description>&lt;h2&gt;AMD/ATI Catalyst 12.1 / fglrx 8.930 rpm are available&lt;/h2&gt;
&lt;p&gt;Sorry I missed in December the annoucement release for the 8.920, but from what I&amp;#8217;ve seen. zypper up do the job for you &lt;img src='http://lizards.opensuse.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;h3&gt;Quick R&#xE9;sum&#xE9; about 12.1&lt;/h3&gt;
&lt;p&gt;AMD rename their installer, So Sebastian did the same for his script.&lt;/p&gt;
&lt;p&gt;I will just copy/google translate/paste here the comment made by Sebastian Siebert on his blog :&lt;/p&gt;
&lt;p style="font-style:italic"&gt;
With this version AMD Catalyst Gnome 3.2 issues (flickering and screen cracks) are finally resolved.&lt;br /&gt;
According to AMD, the notebook with the PowerXpress technology (Intel-/AMD-Grafikkarte &amp;#8211; discrete GPU) should work again.&lt;br /&gt;
I would be grateful if someone could test this functionality for me and give me feedback. Thank you.
&lt;/p&gt;
&lt;p&gt;See more at &lt;a href="http://www.sebastian-siebert.de/2012/01/26/opensuse-proprietaeren-grafik-treiber-amd-catalyst-12-1-als-rpm-installieren"&gt;Sebastian&amp;#8217;s blog&lt;/a&gt;. Don&amp;#8217;t be shy, you can leave there the result of test in english too &lt;img src='http://lizards.opensuse.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /&gt;&lt;br /&gt;
See below what to do in case of troubles.&lt;/p&gt;
&lt;p&gt;The rpms version 8.930 are available from Friday January 27th&lt;/p&gt;
&lt;p&gt;My advise is to firstly remove any existing version with zypper rm, then just zypper in the new version, even if 8.930 are the first version I&amp;#8217;ve seen making its upgrade correctly.&lt;/p&gt;
&lt;p&gt;As usual, I let the last 2 previous versions in the repository, just in case you need it.&lt;/p&gt;
&lt;p&gt;&lt;div id="attachment_8510" class="wp-caption alignright" style="width: 160px"&gt;&lt;a href="http://lizards.opensuse.org/wp-content/uploads/2012/01/fglrx-8.930-12.1-1.png"&gt;&lt;img src="http://lizards.opensuse.org/wp-content/uploads/2012/01/fglrx-8.930-12.1-1-150x150.png" alt="" width="150" height="150" class="size-thumbnail wp-image-8510" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Catalyst 8.930 fglrx 12.1 in action &lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Tested on a fresh 12.1 + updates with a stock kde 4.7.2&lt;/p&gt;
&lt;p&gt;
Factory rpms are not available actually, I&amp;#8217;ve not be able to build a new building machine for it.&lt;br /&gt;
Anyways, factory and 12.2 should keep their effort on debuging and testing widely the free radeon driver.
&lt;/p&gt;
&lt;p&gt;&lt;span id="more-8492"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;One-click-installer&lt;/h3&gt;
&lt;p&gt;As nobody killed me about the one click installer available, I upgrade its status to RC (feedback welcome)&lt;br /&gt;
For 32bits system :&lt;br /&gt;
&lt;a href="http://geeko.ioda.net/mirror/ati/raw-src/amd-ati-fglrx.ymp"&gt;&lt;img src="http://en.opensuse.org/images/e/e9/Fglrx_1click.png" alt="AMD/ATI fglrx one click installer" /&gt;&lt;/a&gt;&lt;br /&gt;
For 64bits system :&lt;br /&gt;
&lt;a href="http://geeko.ioda.net/mirror/ati/raw-src/amd-ati-fglrx64.ymp"&gt;&lt;img src="http://en.opensuse.org/images/e/e9/Fglrx_1click.png" alt="AMD/ATI fglrx one click installer" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style="font-size:small"&gt;(*) To know which kind of system you have, open a console, then run uname -a, and look the output if you see x86_64 on the line you are running a 64bits, otherwise a 32bits.&lt;/span&gt;
&lt;/p&gt;
&lt;h3&gt;Installation, Caution, Troubles&lt;/h3&gt;
&lt;h4&gt;Installation&lt;/h4&gt;
&lt;p style="font-weight:bold"&gt;Please refer to my &lt;a href="http://lizards.opensuse.org/?p=6680"&gt;previous article&lt;/a&gt; where all the installation procedure are explained.&lt;/p&gt;
&lt;p&gt;
For a first installation, if you don&amp;#8217;t remove radeon from the initrd, you will get in trouble. Don&amp;#8217;t thanks who removed that from the wiki. &lt;img src='http://lizards.opensuse.org/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /&gt;
&lt;/p&gt;
&lt;h4&gt;Caution&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Wrong (to my point of view) create an xorg.conf file which is unneeded if you work with /etc/xorg.conf.d/50-device.conf and have driver &amp;#8220;fglrx&amp;#8221; inside&lt;/li&gt;
&lt;li&gt;AMD CCLE didn&amp;#8217;t get correctly upgraded if xorg is running during the upgrade. My advise, let&amp;#8217;s go to console and as root do the following :
&lt;pre&gt;
init 3
rcatievenstd stop
zypper ref
zypper up
init 6
&lt;/pre&gt;
&lt;p&gt;Let the package rebuild the kernel driver. And for me I always remove the newly xorg.conf file created.&lt;br /&gt;
reboot is mandatory!
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Debuging troubles&lt;/h4&gt;
&lt;p&gt;I recommend in case of trouble the use of &lt;a href="http://www.sebastian-siebert.de/downloads/makerpm-amd-12.1.sh"&gt;his script&lt;/a&gt; which can collect the whole informations needed to help you. then you just have to issue a simple commande in console to collect all informations, you can review them, and finally transmit them&lt;/p&gt;
&lt;pre&gt;su -c 'sh makerpm-amd-12.1.sh -ur'
The sytem report 'amd-report.txt' was generated.                                                                                                                    [ OK ]
Do you want to read the system report 'amd-report.txt' now? yes/no [y/n]: y
Are you sure to upload the above-named system report to sprunge.to? yes/no [y/n]: y

The report was uploaded to sprunge.us.
   The link is:  http://sprunge.us/ZVRP
&lt;/pre&gt;
&lt;p&gt;Copy paste the link in the comment zone of Sebatian post&lt;/p&gt;
&lt;h3&gt;Statistiques&lt;/h3&gt;
&lt;p&gt;December 2011 as shown a big bump on the server : 50,212 unique visitor for a roughly 320GB traffic for the rpm&lt;/p&gt;
&lt;p&gt;1582GB has been distributed during 2011.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s all folks! Have fun!&lt;/p&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-8628365218911310729.post-2211700158435643452</guid>
      <title>Michael Wolf: yeah, sounds about right</title>
      <pubDate>Thu, 26 Jan 2012 19:49:19 +0000</pubDate>
      <link>http://nachosetcrayons.blogspot.com/2012/01/yeah-sounds-about-right.html</link>
      <description>&lt;a href="http://cdn.theatlanticwire.com/img/upload/2012/01/26/tumblr_lyeso6E08C1r6xvfko1_500.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 500px; height: 400px;" src="http://cdn.theatlanticwire.com/img/upload/2012/01/26/tumblr_lyeso6E08C1r6xvfko1_500.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8628365218911310729-2211700158435643452?l=nachosetcrayons.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://saigkill.homelinux.net/entry/2012/01/26/skype-with-plasma-active</guid>
      <title>Sascha Manns: Skype with Plasma Active</title>
      <pubDate>Thu, 26 Jan 2012 19:25:34 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/homelinux/opensuse-blog/~3/fZF8wjZjFOU/skype-with-plasma-active</link>
      <description>&lt;p&gt;You have an Touchpaddevice and you're looking for an free and open source operatingsystem, touchfriendly and with a KDE UI?&lt;/p&gt;
&lt;p&gt;Then you maybe have heard about &lt;a rel="nofollow" target="_blank" href="http://plasma-active.org/"&gt;Plasma Active&lt;/a&gt;. Plasma Active is a new UI specially developed for touch-devices. You can download it &lt;a rel="nofollow" target="_blank" href="http://po.open-slx.com/article-396-where-can-i-download-plasma-active.html"&gt;there&lt;/a&gt; from open-slx. That image is prepared to install Plasma Active on the Top of Balsam Professional.&lt;/p&gt;
&lt;p&gt;In &lt;a rel="nofollow" target="_blank" href="http://po.open-slx.com/article-397-how-to-prepare-a-usb-stick-for-plasma-active.html"&gt;this&lt;/a&gt; Article you can see how to prepare the stick. After booting and installing you have a Plasma Active on your device. You also can use Plasma Active inside a Dual or Multiboot Installation.&lt;/p&gt;
&lt;p&gt;But we want to use Skype for this device.&lt;/p&gt;
&lt;p&gt;First of all you have to surft to: &lt;a rel="nofollow" target="_blank" href="http://www.skype.com/intl/de/get-skype/on-your-computer/linux/downloading.suse"&gt;&lt;/a&gt;&lt;a rel="nofollow" target="_blank" href="http://www.skype.com/intl/de/get-skype/on-your-computer/linux/downloading.suse"&gt;http://www.skype.com/intl/de/get-skype/on-your-computer/linux/downloading.suse&lt;/a&gt; . After accessing the site it will be prepare the download. Just save it any place.&lt;/p&gt;
&lt;p&gt;Change now to that directory which contains the saved package. Type in your console:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="font-family:andale mono, times;"&gt;sudo zypper in skype-2.2.0.35-suse.i586.rpm&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;After the installation you will see the Skype Icon in the Applicationlauncher.&lt;/p&gt;
&lt;p&gt;Tap now on that icon. Now opens the graphical client as you maybe know from the desktop. Tap on Username and type there your Username with the virtual keyboard. Sadly the virtual keyboard doesn't see the Password field. That means that you have to use an external USB Keyboard for this field.&lt;/p&gt;
&lt;p&gt;After the Login you can use it through tapping on it. If you tap on the Text field you can use the virtual keyboard. If you like to call anyone just tap on the phone icon.&lt;/p&gt;
&lt;p&gt;The integrated WeTab Webcam is supported directly without any changes.&lt;/p&gt;
&lt;p&gt;You can plug in a Headphone into the WeTab. A&#xA0; seperate port for a microphone isn't placed there. But the WeTab has a integrated microphone which pacify in most cases.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:andale mono, times;"&gt;&lt;img alt="wetab-skype" src="http://saigkill.homelinux.net/images/wetab-skype.png" width="60%"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:andale mono, times;"&gt;&lt;strong&gt;Updated 27.1.12&lt;/strong&gt;: Changed the packageinstall from rpm to zypper.&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/homelinux/opensuse-blog/~4/fZF8wjZjFOU" height="1" width="1"/&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-13479614.post-131040848618390967</guid>
      <title>Fridrich Strba: FOSDEM 2012 - How to make the best of it and become LibreOffice developer</title>
      <pubDate>Thu, 26 Jan 2012 14:49:15 +0000</pubDate>
      <link>http://fridrich.blogspot.com/2012/01/fosdem-2012-how-to-make-best-of-it-and.html</link>
      <description>&lt;p align="center"&gt;&lt;a href="http://www.fosdem.org"&gt;&lt;img src="http://www.fosdem.org/promo/going-to" alt="I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://fosdem.org/2012/" target="_blank"&gt;FOSDEM 2012&lt;/a&gt; is just round the corner and, as you might know, &lt;a href="http://www.libreoffice.org" target="_blank"&gt;LibreOffice&lt;/a&gt; will have a &lt;a href="http://blog.documentfoundation.org/2012/01/24/libreoffice-devroom-at-fosdem-2012-in-brussels/" target="_blank"&gt;DevRoom&lt;/a&gt; this year too. And, as it was already &lt;a href="http://libregraphicsworld.org/blog/entry/whats-coming-at-fosdem-2012" target="_blank"&gt;publicized&lt;/a&gt;, your servant and Eilidh McAdam of &lt;a href="http://www.freedesktop.org/wiki/Software/libvisio" target="_blank"&gt;libvisio&lt;/a&gt; fame will attend too. The goal of this event will be to help you to become a &lt;a href="http://www.libreoffice.org" target="_blank"&gt;LibreOffice&lt;/a&gt; developer, by helping you to get your first contact with the code from inside.&lt;/p&gt;&lt;p&gt;&lt;b&gt;How to prepare for the event?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;In order to give as many community members the possibility to speak, the presentations will not take more then 15 minutes each. But we will be there for one-to-one contacts and hacking goodness. If you are interested in contributing to our new Visio import filter, or the upcomming Corel Draw and MS Publisher filters, here is what you can do:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Find a bug that is bothering you in the current Visio import filter, or some simple feature that the importer currently does not support&lt;/li&gt;&lt;li&gt;Check out the following libraries:&lt;ul&gt;&lt;li&gt;master branch of libwpd (&lt;code&gt;git clone git://libwpd.git.sourceforge.net/gitroot/libwpd/libwpd&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;STABLE-0-2-0 branch of libwpg (&lt;code&gt;git clone -b STABLE-0-2-0 git://libwpg.git.sourceforge.net/gitroot/libwpg/libwpg&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;master branch of libwps (&lt;code&gt;git clone git://libwps.git.sourceforge.net/gitroot/libwps/libwps&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;master branch of libvisio (&lt;code&gt;git clone git://anongit.freedesktop.org/libreoffice/contrib/libvisio&lt;/code&gt;), and&lt;/li&gt;&lt;li&gt;master branch of libcdr (&lt;code&gt;git clone git://anongit.freedesktop.org/libreoffice/libcdr&lt;/code&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Build them as system libraries and install them in the same order.&lt;/li&gt;&lt;li&gt;Then build LibreOffice according to &lt;a href="http://wiki.documentfoundation.org/Development#Getting_your_first_build_done" target="_blank"&gt;these instructions&lt;/a&gt;. &lt;b&gt;The important thing is to use those system libraries that you just built.&lt;/b&gt; To do so, be sure you added to the configure flags &lt;ul&gt;&lt;li&gt;&lt;code&gt;--with-system-liwpd&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;--with-system-libwpg&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;--with-system-libwps&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;--with-system-libvisio&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;--with-system-libcdr&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;With this kind of build, you will be ready to make the most from your Brussels weekend. Nevetheless, you can drop around at our IRC channel &lt;a href="irc://chat.freenode.net/libreoffice-dev"&gt;&lt;code&gt;#libreoffice-dev&lt;/code&gt;&lt;/a&gt; channel at &lt;a href="http://webchat.freenode.net/"&gt;&lt;code&gt;irc.freenode.net&lt;/code&gt;&lt;/a&gt; for more information and ideas.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Starting to do it instead of planning to do it ...&lt;/b&gt;&lt;/p&gt;&lt;p&gt;... is the best way to enter the FOSS development. That is why your servant and Eilidh will be around to hold your hand with debugging and finding way to implement your favourite features. We will answer your questions about the library design. We will point you to the place in the code where your bug might linger. And for more complicated stuff, we will debug it with you.&lt;/p&gt;&lt;p&gt;Don't expect us to give you a fish, but we will certainly teach you how to catch it by yourself. And in the same token, you will become a contributor inside a community of smart people that is fun to hang and hack with.&lt;/p&gt;&lt;p&gt;See you in Brussels the 4&lt;sup&gt;th&lt;/sup&gt; and 5&lt;sup&gt;th&lt;/sup&gt; of February 2012.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13479614-131040848618390967?l=fridrich.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://duncan.mac-vicar.com/?p=1481</guid>
      <title>Duncan Mac-Vicar: On Java, Maven, JPP and rpm</title>
      <pubDate>Thu, 26 Jan 2012 10:06:39 +0000</pubDate>
      <link>http://duncan.mac-vicar.com/2012/01/26/on-java-maven-jpp-and-rpm/</link>
      <description>&lt;p&gt;Java on Linux has been always a &amp;#8220;special&amp;#8221; topic. They don&amp;#8217;t mix well.&lt;/p&gt;
&lt;p&gt;The mindset of Linux distributions is very different to the Java world when it comes to build software. This is understandable as they have different requirements.&lt;/p&gt;
&lt;p&gt;In the Java world, there is the concept of artifacts. You build org.foo.bar:bar-moo:1.1 once and it stays there forever, archived for anyone to use it. Tools like maven and ivy allow developers to specify in their source tree the specific dependencies of their components and those are grabbed from the network, the software built and then publish the output as a new artifact that others can grab.&lt;/p&gt;
&lt;p&gt;Linux distributions on the other hand, bootstrap the complete stack from source. They don&amp;#8217;t take the binary artifact from upstream but build it, and then use the binary they built to build the next. This seems to work pretty well for C, C++, and for Ruby, Python, let&amp;#8217;s say it &amp;#8220;works&amp;#8221;.&lt;/p&gt;
&lt;p&gt;When it comes to package Java software, Linux distributors find themselves in the following situation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If a buildable source tarball is provided then you are lucky.&lt;/li&gt;
&lt;li&gt;If the buildable tarball is provided, it will either include a directory full of binary jars (the build dependencies) or it will have a very automatic build system grabbing them from the network.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This clashes with Linux in various edges:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Linux distributions have normally one version of each component&lt;/strong&gt;. The Java method works well if you bundle your dependencies inside your application, but not if everything is a reusable component. I have mixed feelings here. I think bundling your dependencies in the application for everything that is not part of the &amp;#8220;base&amp;#8221; system is the right approach. Updating them can break the application and trying to control this via QA only moves QA from the application developers to the distribution itself. When I ship apache-commons-collection as part of my Foobar Java application as a Java package, I am inviting everyone to use it, forcing myself to give support for it out of the context of the application.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Distributions needs to build from source&lt;/strong&gt;. Even if you get rid of the above requirement and you bundle all your dependencies, distributions want to build everything from source. This has technical and legal reasons. SUSE build system does very complex checks on every package that it builds. Those checks are part of the quality we sell to our customers. Other reasons are legal: I am still trying, for example, to build the &lt;a href="http://www.playframework.org"&gt;Play!&lt;/a&gt; framework. Even if it is BSD, &lt;a href="http://groups.google.com/group/play-framework/browse_thread/thread/377549fe950175e5/463c8e762f38a49a?lnk=gst&amp;amp;q=duncan#463c8e762f38a49a"&gt;it includes some .jars inside of unknown origin&lt;/a&gt;. What would happen if one of these jars results to be proprietary?. Michael Vyskocil had a &lt;a href="http://sourceforge.net/mailarchive/forum.php?thread_name=200808121025.47048.mvyskocil%40suse.cz&amp;amp;forum_name=openproj-developers"&gt;similar issue with openproj and its bundled dependencies&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Another reason to build from source is support. Enterprise distributions sell support and if a customer has a problem, we will fix it on our own and not wait for upstream to release a new version. Having a standardized way to build from source with our own fixes allows us to serve our customers. We can bundle jars in our application, but if a bug traces back to a jar we included, we would need to change the complete build description of the product in order to take this component. If we are able to rebuild this component at all. It already happened to us once with an XML-RPC library. And we were glad that it could be fixed by adding a patch to the rpm build description.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grabbing dependencies from the network&lt;/strong&gt; just does not work. All packages are built without network access for security reasons.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Because the Linux distributions know that they are not the center of the universe, they adapted. At the beginning things where still ok. Ant was very popular and basically you recursively packaged all build dependencies until you could build your package, in the same way:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;unpack&lt;/li&gt;
&lt;li&gt;delete all binary jars&lt;/li&gt;
&lt;li&gt;set CLASSPATH to the jars grabbed by the packaged build dependencies&lt;/li&gt;
&lt;li&gt;call ant&lt;/li&gt;
&lt;li&gt;install the jars&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Something like this:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
%prep&lt;br /&gt;
%setup -q&lt;/p&gt;
&lt;p&gt;# remove all third party jars&lt;br /&gt;
find . -iname '*.jar' | xargs rm -rf&lt;/p&gt;
&lt;p&gt;%build&lt;br /&gt;
export CLASSPATH=$(build-classpath foo)&lt;br /&gt;
ant&lt;/p&gt;
&lt;p&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Until this was true, the world was still fine. ant needed bootstrapping, but this was doable.&lt;/p&gt;
&lt;p&gt;Until Maven&amp;#8230;&lt;/p&gt;
&lt;p&gt;Maven is at the same time revolutionary and one of the biggest atrocities I have seen when building software.&lt;/p&gt;
&lt;p&gt;On the positive side:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;it defined a common convention for modules: groupId, artifactId, version.&lt;/li&gt;
&lt;li&gt;it defined a standard layout for the source tree&lt;/li&gt;
&lt;li&gt;it started a wave of convention over configuration that Java was always lacking&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;on the negative side:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;it requires itself to build itself&lt;/li&gt;
&lt;li&gt;it can&amp;#8217;t build much itself, so it requires plugins to build anything&lt;/li&gt;
&lt;li&gt;plugins require maven to be built, plus more dependencies, which are usually require maven to build, plus&amp;#8230; plugins.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All the above means that maven basically requires all the software it is supposed to build. Not the best design for a build system.&lt;/p&gt;
&lt;p&gt;To make things worse, maven grabs dependencies from the network, which is what is disabled in our distro build process.&lt;/p&gt;
&lt;p&gt;Fedora has done quite a progress providing a maven stack, by improving extending on the conventions the &lt;a href="http://www.jpackage.org/"&gt;JPackage project&lt;/a&gt; started for maven packages. This is implemented using what is called a &lt;a href="http://fedoraproject.org/wiki/Java/JPPMavenReadme"&gt;&amp;#8220;dependency map&amp;#8221;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The approach works by installing some xml files per-package that map the maven artefact identifiers (groupId, artifactId) to a local jar in the system. Then maven itself is patched to include a resolver for artefacts with some properties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ignores multiple versions (usually in Linux you have one version installed)&lt;/li&gt;
&lt;li&gt;resolves the artefact names to local installed jars. Every package uses macros to add stuff to the dependency map&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What I don&amp;#8217;t like for this approach is:&lt;/p&gt;
&lt;p&gt;Why would anyone in their sane mind use XML files to create mappings to files when you are in a UNIX-like OS and you have the filesystem and symbolic links?.&lt;/p&gt;
&lt;p&gt;It is very explicit. It does not rely on a simple convention.&lt;/p&gt;
&lt;p&gt;A second issue is how packages are built. This is SUSE specific. Fedora can bootstrap packages with circular dependencies by introducing a binary package A, build other dependencies until it can build a real A. Once a package is built, it stays in the buildsystem frozen as an artefact (just like the Java world).&lt;/p&gt;
&lt;p&gt;In the &lt;a href="http://build.opensuse.org"&gt;openSUSE Build Service&lt;/a&gt;, the repository is always ready to bootstrap. For circular dependencies you create a package A-bootstrap that provides A and set the project config to prefer A. When A does not exist, A-bootstrap is grabbed, but as soon as A is there, it is preferred and used. When a package changes the packages depending on it are rebuilt automatically. This approach has several advantages, but makes hard to bootstrap a collection of packages where everything depends on everything.&lt;/p&gt;
&lt;p&gt;In openSUSE, we have successfully build many maven dependent packages in the Java:base project without having a maven package by using the maven ant plugin to generate a tarball with ant build files.&lt;/p&gt;
&lt;p&gt;This method does not work for every package, specially when files are generated, then one needs also to include those. But they may be good enough for solving our specific bootstrapping problem. The question is how many bootstrap packages would we need.&lt;/p&gt;
&lt;p&gt;Another idea is to use package with binary jars for bootstrapping.&lt;/p&gt;
&lt;p&gt;Fedora is not very happy with the current situation either, and they have been researching adding native support to &lt;a href="http://fedoraproject.org/wiki/KojiMavenSupport"&gt;Koji to build maven packages.&lt;/a&gt;&lt;/P&gt;&lt;/p&gt;
&lt;p&gt;In any case, I think there is room for improvement everywhere. I think the Maven infrastructure can be simplified taking into account that what maven contributed to the world was a (now) popular way to identify a module, and this is now being used also outside of Maven. &lt;a href="http://ant.apache.org/ivy/"&gt;Apache Ivy&lt;/a&gt;, &lt;a href="https://github.com/harrah/xsbt/wiki"&gt;SBT&lt;/a&gt;, &lt;a href="http://gradle.org/"&gt;Gradle&lt;/a&gt;, etc all support maven-style repositories and support refering to an artefact as groupId:artifactId:version.&lt;/p&gt;
&lt;p&gt;Why not instead of a depmap just have:&lt;/p&gt;
&lt;pre&gt;
/usr/share/java/foo.jar
/usr/share/java/org.bar/foo.jar -&amp;gt; /usr/share/java/foo.jar
/usr/share/java/org.bar/foo.pom
&lt;/pre&gt;
&lt;p&gt;And have the Maven patched resolved to just look there?&lt;/p&gt;
&lt;p&gt;If you need parallel versions, then just&lt;/p&gt;
&lt;pre&gt;
/usr/share/java/foo1.jar
/usr/share/java/foo2.jar
/usr/share/java/org.bar/1.0/foo.jar -&amp;gt; /usr/share/java/foo1.jar
/usr/share/java/org.bar/2.0/foo.jar -&amp;gt; /usr/share/java/foo2.jar
/usr/share/java/org.bar/1.0/foo.pom
/usr/share/java/org.bar/2.0/foo.pom
&lt;/pre&gt;
&lt;p&gt;Or use the standard alternatives:&lt;/p&gt;
&lt;pre&gt;
/usr/share/java/foo.jar -&amp;gt; /etc/alternatives/foo.jar
&lt;/pre&gt;
&lt;p&gt;The resolver would first look for the specific version described in the .pom file as /usr/share/java/$groupId/$version/$artifactId.ext. If it is not found, it could fallback to just look for /usr/share/java/$groupId/$artifactId.ext. This supports most cases where we just have one version for the system and exceptions for some packages where providing a specific version in parallel is also required. If the same jar is also known under a different groupId, well, then you create another symlink.&lt;/p&gt;
&lt;p&gt;Then, build-classpath is enhanced so that in addition of being able to say &amp;#8216;build-classpath commons-logging&amp;#8217; you can also call &amp;#8216;build-classpath commons-logging:commons-logging&amp;#8217;. Identify every module by this convention.&lt;/p&gt;
&lt;p&gt;The same with Provides: java(commons-logging:commons-logging). Fedora is already doing this as mvn(..), but is this maven specific?.&lt;/p&gt;
&lt;p&gt;Why do we need xml files with maps, fragments of XML files that need to be updated at install and uninstall time?.&lt;/p&gt;
&lt;h3&gt;Looking for a new solution&amp;#8230;&lt;/h3&gt;
&lt;p&gt;I discussed this with Fedora developers &lt;a href="http://fedoraproject.org/wiki/User:Akurtakov"&gt;Alexander Kurtakov&lt;/a&gt; and   &lt;a href="http://fedoraproject.org/wiki/User:Sochotni"&gt;Stanislav Ochotnicky&lt;/a&gt; and they mostly agreed with my concerns. They pointed me to Carlo de Wolf&amp;#8217;s work &lt;a href="https://github.com/wolfc/fedora-maven"&gt;on a similar solution&lt;/a&gt;, but using a standard maven repository layout.&lt;/p&gt;
&lt;p&gt;Carlo&amp;#8217;s solution does not touch maven but is implemented as a plugin that gets loaded using a custom config file that is used when you call the wrapper script fmvn instead of mvn (for Fedora-Maven).&lt;/p&gt;
&lt;p&gt;The whole solution as they described it has some extras like &lt;a href="http://fpaste.org/iDer/"&gt;macros to symlink&lt;/a&gt; the maven repository artifacts so that they can be found as artifacts in the &lt;a href="http://fedoraproject.org/wiki/Java/JPPMavenReadme"&gt;JPP&lt;/a&gt; layout. I am not sure if we need this. What I like from the solution alone:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It does what you expect: uses only the local repository and ignores versions (uses latest) if the requested version is not found.&lt;/li&gt;
&lt;li&gt;It does not require macros. We need to build stuff on released distros and it is no fun to introduce new rpm macros.&lt;/li&gt;
&lt;li&gt;It does not require patching maven. fmvn is a separate package, providing the plugins and the wrapper script.&lt;/li&gt;
&lt;li&gt;As soon as Carlo gets &amp;#8220;mvn install&amp;#8221; working, there is no need to manually install the jar/pom in the spec file. Just calling &amp;#8220;fmvn install&amp;#8221; should build and install it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have been playing with Carlo&amp;#8217;s plugins and it looks very promising. Fedora would need time to switch to a solution like this, but at SUSE we don&amp;#8217;t have maven in our stack so we have nothing to lose and at the same time we can help serving as a test bed.&lt;/p&gt;
&lt;h3&gt;The current plan&amp;#8230;&lt;/h3&gt;
&lt;p&gt;Not having the need to patch maven allows us to use a vanilla build of Maven for bootstrapping.&lt;/p&gt;
&lt;p&gt;maven-bootstrap (upstream binary release, Provides: maven)&lt;br /&gt;
fmvn-bootstrap (binary jars built locally with maven, Provides: fmvn)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: If you have more than one package with the same capability and want to use it in (Build)Requires, you will need to setup &amp;#8220;Prefer:&amp;#8221; in prjconf.&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
We would like to build now maven using fmvn. Here is where the circular dependencies start. We need maven (provided by maven-bootstrap) and it dependencies, like plexus and a big bunch of maven plugins.&lt;/p&gt;
&lt;p&gt;Here is where &lt;a href="https://github.com/dmacvicar/pom2spec"&gt;pom2spec&lt;/a&gt; comes to the rescue. This script allows to quickly create bootstrap packages from search.maven.org. It is based on &lt;a href="http://lists.opensuse.org/opensuse-packaging/2011-08/msg00073.html"&gt;Pascal Bleser&amp;#8217;s script&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So lets say I need a bootstrap package for maven-compiler-plugin:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
org.apache.maven.plugins:maven-compiler-plugin : using version 2.3.2&lt;br /&gt;
Writing maven-compiler-plugin-bin.spec&lt;br /&gt;
Done&lt;br /&gt;
Downloading maven-compiler-plugin-2.3.2.pom...&lt;br /&gt;
######################################################################## 100.0%&lt;br /&gt;
Downloading maven-compiler-plugin-2.3.2.jar...&lt;br /&gt;
######################################################################## 100.0%&lt;br /&gt;
t http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.pom&lt;br /&gt;
_ http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Which generates the following files:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
maven-compiler-plugin-2.3.2.jar&lt;br /&gt;
maven-compiler-plugin-2.3.2.pom&lt;br /&gt;
maven-compiler-plugin-bin.spec&lt;br /&gt;
&lt;code&gt;&lt;/p&gt;
&lt;p&gt;If I build it, I get an rpm with the following layout:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
/usr/share/java/maven-compiler-plugin.jar&lt;br /&gt;
/usr/share/maven/repository/org/apache/maven/plugins/maven-compiler-plugin/maven-compiler-plugin-2.3.2.jar&lt;br /&gt;
/usr/share/maven/repository/org/apache/maven/plugins/maven-compiler-plugin/maven-compiler-plugin-2.3.2.pom&lt;br /&gt;
&lt;code&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;/usr/share/java/maven-compiler-plugin.jar&lt;/em&gt; is just a symlink to the real jar. This layout is enough for fmvn to find the artifact and also for legacy packages to just use build-class-path. It would still be better to enhance build-class-path to also accept groupId:artifactId keys and return the path to the jar.&lt;/p&gt;
&lt;p&gt;The -bin suffix is to allow then the real package (built from source) to coexist in the same repository. The package with the -bin suffix also "Provides:" the package without the suffix so it can be used by dependent packages. Actually both "Provide:" &lt;em&gt;java(org.apache.maven.plugins:maven-compiler-plugin)&lt;/em&gt; which is what a package that depends on it should "BuildRequire:".&lt;/p&gt;
&lt;p&gt;Once Carlo's resolver works with "mvn install" I will try to build a repository following this method.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/duncan.wordpress.com/1481/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/duncan.wordpress.com/1481/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/duncan.wordpress.com/1481/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/duncan.wordpress.com/1481/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/duncan.wordpress.com/1481/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/duncan.wordpress.com/1481/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/duncan.wordpress.com/1481/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/duncan.wordpress.com/1481/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/duncan.wordpress.com/1481/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/duncan.wordpress.com/1481/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/duncan.wordpress.com/1481/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/duncan.wordpress.com/1481/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/duncan.wordpress.com/1481/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/duncan.wordpress.com/1481/" /&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duncan.mac-vicar.com&amp;amp;blog=34913&amp;amp;post=1481&amp;amp;subd=duncan&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-4495095101107795920.post-6503207036297783591</guid>
      <title>SUSE Studio: Full functionality for openSUSE on EC2</title>
      <pubDate>Thu, 26 Jan 2012 08:56:07 +0000</pubDate>
      <link>http://blog.susestudio.com/2012/01/full-functionality-for-opensuse-on-ec2.html</link>
      <description>If you were waiting for Studio to support the latest version of openSUSE on Amazon's EC2, listen up: Your wait is over.
The same goes if you tried to upload an older version of openSUSE to EC2's latest region, Sao Paulo. Studio finally offers full functionality for all openSUSE versions on all EC2 regions.

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-A5Br7G0OUaE/TyEUDC5qLmI/AAAAAAAAAEw/iwh-SWiQ64c/s1600/uploading_opensuse_12_1.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 102px;" src="http://2.bp.blogspot.com/-A5Br7G0OUaE/TyEUDC5qLmI/AAAAAAAAAEw/iwh-SWiQ64c/s320/uploading_opensuse_12_1.png" alt="" id="BLOGGER_PHOTO_ID_5701860645778632290" border="0" /&gt;&lt;/a&gt;
Of course, SLE still offers a wide range of advantages over openSUSE. Just think about long term support, stability or getting updates for your system. However, if you chose to create your appliance based on openSUSE, you are now finally able to use Studio to take your first steps into the cloud.
&lt;/br&gt;
Have a lot of fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4495095101107795920-6503207036297783591?l=blog.susestudio.com' alt='' /&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://www.marques.so/?p=1289</guid>
      <title>Nelson Marques: &#x2018;tirpitz&#x2019; &#x2013; you sunk my battleship&#x2026;</title>
      <pubDate>Wed, 25 Jan 2012 22:10:10 +0000</pubDate>
      <link>http://www.marques.so/2012/01/tirpitz-you-sunk-my-battleship/</link>
      <description>&lt;p style="text-align: justify;"&gt;I&amp;#8217;ve forked Linux Mint Welcome Screen into &amp;#8216;tirpitz&amp;#8217;&amp;#8230; and though I&amp;#8217;ve used a lower case name so it wouldn&amp;#8217;t be associated with Admiral Tirpitz, some people really like to make a big deal out of everything&amp;#8230; so this &amp;#8216;tirpitz&amp;#8217; actually never got to fire his main guns&amp;#8230;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Since I really believe that this application can help openSUSE (at least I want to bundle it in a Cinnamon spin), it can be a great marketing tool for new users and it&amp;#8217;s not really intrusive&amp;#8230; I&amp;#8217;ve decided to take suggestions for potential names for this fork&amp;#8230;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;I&amp;#8217;ve spoken today with Clement and though we&amp;#8217;re moving different ways, we&amp;#8217;ve decided to work together whenever possible and look for features together and share our work&amp;#8230; He seems to be a pretty accessible guy and it&amp;#8217;s a great and fun opportunity to improve and learn a bit more on python.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Any suggestions for a name are welcome and if some are left in comments, I&amp;#8217;m sure I will pick one of them&amp;#8230;&lt;/p&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://www.gnome.org/~michael/blog/2012/01/25/2012-01-25</guid>
      <title>Michael Meeks: 2012-01-25: Wednesday</title>
      <pubDate>Wed, 25 Jan 2012 21:00:00 +0000</pubDate>
      <link>http://www.gnome.org/~michael/blog/2012-01-25.html</link>
      <description>&lt;ul&gt; &lt;!-- --&gt;
	&lt;li&gt;
		Chewed mail, quick call with Vojtech, then Charles. Finally
	got around to submitting a LinuxTag paper or two. Lunch. More mail,
	patch pieces.
	&lt;/li&gt;
	&lt;li&gt;
		J. out for Rosemary's leaving pizza party. Up extremely late
	poking android's wedging on ANativeWindow_lock - sadly the debugger
	gives no trace: an thread un-attached to the VM ?
	&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://kdeatopensuse.wordpress.com/?p=200</guid>
      <title>KDE at openSUSE: KDE SC 4.8 packages for openSUSE</title>
      <pubDate>Wed, 25 Jan 2012 19:08:54 +0000</pubDate>
      <link>http://kdeatopensuse.wordpress.com/2012/01/25/kde-sc-4-8-packages-for-opensuse-are-out/</link>
      <description>&lt;p&gt;KDE SC 4.8 seems to be a pleasant update, especially regarding KDE PIM. Though the latter still features bugs regarding filtering (&lt;a href="https://bugs.kde.org/show_bug.cgi?id=292283" target="_blank"&gt;filtering for List-Id or List-Post headers does not work&lt;/a&gt; for incoming mails on &lt;em&gt;imap&lt;/em&gt; accounts) and has a few other issues left, it got a lot more stable and its active development is noticeable. Thanks to the new maintainer and the KDE PIM devs! Dolphin&amp;#8217;s UI got a lot quicker and there are a lot more small improvements spread across KDE.&lt;/p&gt;
&lt;p&gt;Unfortunately I&amp;#8217;m once again fighting virtuoso-t eating CPU although the file indexer is idle and the dbus interface does not show any active queries &#x2013; but that&amp;#8217;s nothing a quick and dirty removal of all of nepomuk&amp;#8217;s data can&amp;#8217;t &amp;#8220;solve&amp;#8221;. I know, it&amp;#8217;s not a nice solution but it worked for me in the past. I&amp;#8217;m still trying to start using nepomuk+strigi with each release &#x2013; e.g. hoping for some useful (e.g. google-like) search results that display more than a filepath when searching for a string.&lt;/p&gt;
&lt;p&gt;Regarding openSUSE packages, you can &lt;a href="https://build.opensuse.org/project/monitor?project=KDE:Release:48" target="_blank"&gt;check the build status&lt;/a&gt; in order to make sure all packages you have installed are available for an update. If the repo is rebuilding enable the &amp;#8220;Last time results&amp;#8221; checkbox at the top-right of that page to see whether the package did succeed before and was published. After that it&amp;#8217;s as simple as (for openSUSe 12.1):&lt;/p&gt;
&lt;pre&gt;sudo zypper ar http://download.opensuse.org/repositories/KDE:/Release:/48/openSUSE_12.1/ KR48
sudo zypper mr -r KR48
sudo zypper dup --from KR48&lt;/pre&gt;
&lt;p&gt;Make sure you do not add any Qt repos since the required Qt packages are included. Disable the UpdatedApps repo! You can read more about the &lt;a href="http://en.opensuse.org/KDE_repositories" target="_blank"&gt;KDE repos available for openSUSE&lt;/a&gt; on the wiki and drop-by on the openSUSE KDE IRC channel #opensuse-kde or &lt;a href="http://forums.opensuse.org/forums/" target="_blank"&gt;the forums&lt;/a&gt; in case you need help.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kdeatopensuse.wordpress.com/200/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kdeatopensuse.wordpress.com/200/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kdeatopensuse.wordpress.com/200/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kdeatopensuse.wordpress.com/200/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kdeatopensuse.wordpress.com/200/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kdeatopensuse.wordpress.com/200/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kdeatopensuse.wordpress.com/200/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kdeatopensuse.wordpress.com/200/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kdeatopensuse.wordpress.com/200/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kdeatopensuse.wordpress.com/200/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kdeatopensuse.wordpress.com/200/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kdeatopensuse.wordpress.com/200/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kdeatopensuse.wordpress.com/200/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kdeatopensuse.wordpress.com/200/" /&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kdeatopensuse.wordpress.com&amp;amp;blog=13897662&amp;amp;post=200&amp;amp;subd=kdeatopensuse&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://vizZzion.org/blog/?p=1925</guid>
      <title>Sebastian K&#xFC;gler: 4.8.0 is out :)</title>
      <pubDate>Wed, 25 Jan 2012 16:25:08 +0000</pubDate>
      <link>http://vizZzion.org/blog/2012/01/4-8-0-is-out/</link>
      <description>&lt;p&gt;Simply the most polished, fast, flexible, beautiful and elegant desktop, ever.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.kde.org/announcements/4.8/"&gt;&lt;img alt="KDE Plasma Workspaces, Applications and Platform 4.8 Improve User Experience" src="http://www.kde.org/images/teaser/480.png" title="KDE Plasma Workspaces, Applications and Platform 4.8 Improve User Experience" class="alignright" width="830" height="290" /&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://www.marques.so/?p=1283</guid>
      <title>Nelson Marques: Linux Mint&#x2019;s Cinnamon 1.2 deployed for openSUSE</title>
      <pubDate>Wed, 25 Jan 2012 10:54:31 +0000</pubDate>
      <link>http://www.marques.so/2012/01/linux-mints-cinnamon-1-2-deployed-for-opensuse/</link>
      <description>&lt;h1&gt;Cinnamon Desktop&lt;/h1&gt;
&lt;p style="text-align: justify;"&gt;Cinnamon is an alternative Linux Desktop which provides a traditional user experience, very close to GNOME 2 and it&amp;#8217;s&#xA0;underlying&#xA0;technology is forked from gnome-shell. Cinnamon features the traditional gnome-panel layout with a main menu, notification area,&#xA0;work space&#xA0;indicators, etc. Cinnamon&amp;#8217;s configuration is made through a configuration tool known as &amp;#8216;cinnamon-settings&amp;#8217;.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;
&lt;h1&gt;Cinnamon in openSUSE&lt;/h1&gt;
&lt;p style="text-align: justify;"&gt;Thanks to Vincent Untz and the GNOME Team it was possible to grab a GNOME:Cinnamon namespace/project on openSUSE Build Service to provide openSUSE users the latest&#xA0;&lt;a href="http://cinnamon.linuxmint.com/?p=119" target="_blank"&gt;release of Cinnamon&lt;/a&gt;&#xA0;(1.2). Currently this repository only hold the very own basic packages required for cinnamon which include:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="text-align: justify;"&gt;cinnamon &amp;#8211; cinnamon desktop&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;cinnamon-settings &amp;#8211; cinnamon&amp;#8217;s configuration utility&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;cinnamon-extensions &amp;#8211; extension bundle for cinnamon&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;cinnamon-extension-weather &amp;#8211; a weather applet for cinnamon&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;muffin &amp;#8211; cinnamon&amp;#8217;s window manager&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;/div&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;3 Desktop configuration available:&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Traditional Layout &amp;#8211; 1 panel at the bottom;&lt;/li&gt;
&lt;li&gt;Flipped Layout &amp;#8211; one panel at the top;&lt;/li&gt;
&lt;li&gt;Classic Layout &amp;#8211; one panel at the top and another at the bottom.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Easier configuration through a GUI configuration tool;&lt;/li&gt;
&lt;li&gt;Support for Desktop effects: there&amp;#8217;s currently 2 desktop effects available, very customizable;&lt;/li&gt;
&lt;li&gt;Several applets available:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Accessibility;&lt;/li&gt;
&lt;li&gt;Recent Documents;&lt;/li&gt;
&lt;li&gt;Removable Drives;&lt;/li&gt;
&lt;li&gt;Trash&lt;/li&gt;
&lt;li&gt;XRandR Monitor Control&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Improved Main Menu&lt;/li&gt;
&lt;li&gt;Kinky look&amp;#8230;&lt;/li&gt;
&lt;div&gt;&lt;/div&gt;
&lt;h2&gt;Availability (supported platforms)&lt;/h2&gt;
&lt;pre&gt;&lt;strong&gt;Information:&lt;/strong&gt; Cinnamon won't be available for openSUSE 11.4 unless someone wants to maintain it. We encourage openSUSE users to upgrade to openSUSE 12.1 for a better Desktop experience.&lt;/pre&gt;
&lt;ul&gt;
&lt;li style="text-align: justify;"&gt;&lt;strong&gt;openSUSE 12.1&lt;/strong&gt;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;&lt;strong&gt;openSUSE Tumbleweed&lt;/strong&gt;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;openSUSE Factory&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;/div&gt;
&lt;h2&gt;Repositories and Installation&lt;/h2&gt;
&lt;p style="text-align: justify;"&gt;Cinnamon is available through a 1-Click Installer for the supported platforms (rebuilding at the time of article publishing):&lt;/p&gt;
&lt;ul&gt;
&lt;li style="text-align: justify;"&gt;&lt;a href="http://download.opensuse.org/repositories/GNOME:/Cinnamon/12.1/cinnamon.ymp" target="_blank"&gt;Install Cinnamon on openSUSE 12.1 GNOME&lt;/a&gt;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;&lt;a href="http://download.opensuse.org/repositories/GNOME:/Cinnamon/Tumbleweed/cinnamon.ymp" target="_blank"&gt;Install Cinnamon on openSUSE Tumbleweed GNOME&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;/div&gt;
&lt;h1&gt;Screenshots&lt;/h1&gt;
&lt;div id="attachment_1284" class="wp-caption aligncenter" style="width: 502px"&gt;&lt;a href="http://www.marques.so/wp-content/uploads/2012/01/Screenshot-at-2012-01-25-104412.png"&gt;&lt;img class=" wp-image-1284  " title="Screenshot at 2012-01-25 10:44:12" src="http://www.marques.so/wp-content/uploads/2012/01/Screenshot-at-2012-01-25-104412.png" alt="" width="492" height="277" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Cinnamon 1.2 in openSUSE 12.1&lt;/p&gt;&lt;/div&gt;
&lt;div id="attachment_1285" class="wp-caption aligncenter" style="width: 502px"&gt;&lt;a href="http://www.marques.so/wp-content/uploads/2012/01/Screenshot-at-2012-01-25-104518.png"&gt;&lt;img class=" wp-image-1285  " title="Screenshot at 2012-01-25 10:45:18" src="http://www.marques.so/wp-content/uploads/2012/01/Screenshot-at-2012-01-25-104518.png" alt="" width="492" height="277" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Cinnamon&amp;#39;s configuration utility&lt;/p&gt;&lt;/div&gt;
&lt;h1&gt;&lt;/h1&gt;
&lt;h1&gt;TODO for openSUSE 12.2&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Add the relevant cosmetic packages with the upstream themes;&lt;/li&gt;
&lt;li&gt;Polish the default configuration;&lt;/li&gt;
&lt;li&gt;A lot of testing;&lt;/li&gt;
&lt;li&gt;Fix build errors;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;/div&gt;
&lt;h1&gt;Special Thanks&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Cinnamon&amp;#8217;s Developing teams;&lt;/li&gt;
&lt;li&gt;Jigish Gohil &amp;#8211; for packaging Cinnamon 1.3, creating and introducing the Cinnamon wiki page;&lt;/li&gt;
&lt;li&gt;Vincent Untz &amp;#8211; for supporting the implementation of Cinnamon and providing a development project under the GNOME namespace;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;/div&gt;
&lt;h1&gt;References&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://cinnamon.linuxmint.com" target="_blank"&gt;http://cinnamon.linuxmint.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://build.opensuse.org/project/show?project=GNOME%3ACinnamon"&gt;https://build.opensuse.org/project/show?project=GNOME:Cinnamon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.opensuse.org/openSUSE:GNOME_Cinnamon"&gt;http://en.opensuse.org/openSUSE:GNOME_Cinnamon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://www.gnome.org/~michael/blog/2012/01/24/2012-01-24</guid>
      <title>Michael Meeks: 2012-01-24: Tuesday</title>
      <pubDate>Tue, 24 Jan 2012 21:00:00 +0000</pubDate>
      <link>http://www.gnome.org/~michael/blog/2012-01-24.html</link>
      <description>&lt;ul&gt; &lt;!-- --&gt;
	&lt;li&gt;
		Up early, misc. mail chew, question processing, patch review,
	re-building action etc. Inched through more startup problems, Lunch.
	&lt;/li&gt;
	&lt;li&gt;
		Chat with Kendy, more mail cleanout. Lydia over for dinner.
	Up late hacking android main-loop pieces with Tor.
	&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://www.marques.so/?p=1279</guid>
      <title>Nelson Marques: Cinnamon 1.2 on openSUSE 12.1</title>
      <pubDate>Tue, 24 Jan 2012 12:57:49 +0000</pubDate>
      <link>http://www.marques.so/2012/01/cinnamon-1-2-on-opensuse-12-1/</link>
      <description>&lt;p style="text-align: justify;"&gt;Cinnamon 1.2 on openSUSE 12.1&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Anyone who wants to test&amp;#8230; hit the &lt;a href="https://build.opensuse.org/project/show?project=home%3Aketheriel%3Akinky" target="_blank"&gt;link&lt;/a&gt;! (finishing rebuilding on OBS)&amp;#8230;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cinnamon&lt;/li&gt;
&lt;li&gt;cinnamon-extensions&lt;/li&gt;
&lt;li&gt;cinnamon-extension-weather&lt;/li&gt;
&lt;li&gt;cinnamon-settings&lt;/li&gt;
&lt;li&gt;muffin&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="http://www.marques.so/wp-content/uploads/2012/01/Screenshot-at-2012-01-24-125351.png"&gt;&lt;img class="aligncenter  wp-image-1281" title="Screenshot at 2012-01-24 12:53:51" src="http://www.marques.so/wp-content/uploads/2012/01/Screenshot-at-2012-01-24-125351.png" alt="" width="492" height="277" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="text-align: left;"&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-6535501136403374362.post-8679252270558627951</guid>
      <title>Ladislav Slezak: Switching from Gettext to FastGettext in a Rails3 app</title>
      <pubDate>Tue, 24 Jan 2012 10:13:31 +0000</pubDate>
      <link>http://lslezak.blogspot.com/2012/01/switching-from-gettext-to-fastgettext.html</link>
      <description>&lt;h1&gt;From Gettext to FastGettext&lt;/h1&gt;In &lt;a href="http://www.suse.com/products/susestudio/features/lifecycle-management.html"&gt;SLMS&lt;/a&gt; we use Gettext for i18n support.Unfortunately it doesn't work with new Rails 3. But we found out that there is &lt;a href="https://github.com/grosser/fast_gettext"&gt;FastGettext&lt;/a&gt; Ruby gem which does work with Rails 3 and we decided to switch to this different implementation.&lt;br /&gt;&lt;br /&gt;In this blogpost I'll describe the needed steps when switching from Gettext to FastGettext. And here also are solutions for some problems we found during the transition.&lt;br /&gt;&lt;h1&gt;Using the new Ruby gems&lt;/h1&gt;You will need these new Ruby gems:&lt;ul&gt;  &lt;li&gt;fast_gettext: &lt;a href="https://github.com/grosser/fast_gettext"&gt;https://github.com/grosser/fast_gettext&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;gettext_i18n_rails: &lt;a href="https://github.com/grosser/gettext_i18n_rails"&gt;https://github.com/grosser/gettext_i18n_rails&lt;/a&gt; &lt;i&gt;(FastGettext Rails integration)&lt;/i&gt;&lt;/li&gt;  &lt;li&gt;rails-i18n: &lt;a href="https://github.com/svenfuchs/rails-i18n"&gt;https://github.com/svenfuchs/rails-i18n&lt;/a&gt; &lt;i&gt;(Default Rails translations)&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The first step is to remove the old Gettext gems and replace them by FastGettext gems.&lt;br /&gt;So replace these gems in your Gemfile:&lt;br /&gt;&lt;br /&gt;&lt;div class="code_example"&gt;&lt;pre class="brush: ruby"&gt;gem 'locale'&lt;br /&gt;gem 'locale_rails'&lt;br /&gt;gem 'gettext'&lt;br /&gt;gem 'gettext_activerecord'&lt;br /&gt;gem 'gettext_rails'&lt;/pre&gt;&lt;/div&gt;by:&lt;br /&gt;&lt;div class="code_example"&gt;&lt;pre class="brush: ruby"&gt;gem 'fast_gettext'&lt;br /&gt;&lt;br /&gt;# 0.4.3 contains fixes in&lt;br /&gt;#'rake gettext:store_model_attributes' task&lt;br /&gt;gem 'gettext_i18n_rails', '&amp;gt;= 0.4.3'&lt;br /&gt;&lt;br /&gt;# rails-i18n provides translations for ActiveRecord&lt;br /&gt;# validation error messages&lt;br /&gt;gem 'rails-i18n'&lt;br /&gt;&lt;br /&gt;# needed to collect translatable strings&lt;br /&gt;# not needed at production&lt;br /&gt;group :development do&lt;br /&gt;  # needed for HAML support (optional)&lt;br /&gt;  gem 'ruby_parser'&lt;br /&gt;&lt;br /&gt;  # no need to load the gem via require&lt;br /&gt;  # we only need the rake tasks&lt;br /&gt;  gem 'gettext', '&amp;gt;= 1.9.3', :require =&amp;gt; false&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Then you need to initialize FastGettext, create &lt;tt&gt;config/initializers/fast_gettext.rb&lt;/tt&gt; file:&lt;br /&gt;&lt;div class="code_example"&gt;&lt;pre class="brush: ruby"&gt;# define your text domain&lt;br /&gt;FastGettext.add_text_domain 'foo', :path =&amp;gt; File.join(File.dirname(__FILE__), '..', '..', 'locale')&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# set the default textdomain&lt;br /&gt;FastGettext.default_text_domain = 'foo'&lt;br /&gt;&lt;br /&gt;# set available locales&lt;br /&gt;# (note: the first one is used as a fallback if you try to set an unavailable locale)&lt;br /&gt;FastGettext.default_available_locales = ["en_US","ar","cs","de","es",...]&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;Replace &lt;i&gt;foo&lt;/i&gt; with your textdomain.Now you need to add FastGettext initialization in your application controller:&lt;br /&gt;&lt;div class="code_example"&gt;&lt;pre class="brush: ruby"&gt;class ApplicationController &amp;lt; ActionController::Base&lt;br /&gt;  # replace these old Gettext calls:&lt;br /&gt;  #   init_gettext "your_domain"&lt;br /&gt;  #   GetText.textdomain("your_domain")&lt;br /&gt;  # by this:&lt;br /&gt;  include FastGettext::Translation&lt;br /&gt;&lt;br /&gt;  before_filter :set_users_locale &lt;br /&gt;&lt;br /&gt;  def set_users_locale&lt;br /&gt;    I18n.locale = FastGettext.set_locale(params[:locale] || cookies[:locale] ||&lt;br /&gt;      request.env['HTTP_ACCEPT_LANGUAGE'] || 'en_US')&lt;br /&gt;    cookies[:locale] = I18n.locale if cookies[:locale] != I18n.locale.to_s&lt;br /&gt;  end&lt;br /&gt;end&amp;nbsp;&lt;/pre&gt;&lt;/div&gt;The set_users_locale before filter handles setting the correct locale for every request.The locale is set via a cookie and can be changed using ?locale=&lt;i&gt;locale&lt;/i&gt; URL option. It is possible to use different solution for switching the locale, e.g. as path prefix aor domain name - see &lt;a href="http://guides.rubyonrails.org/i18n.html"&gt;the Rails guide&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; The application needs to be restarted after any change in the translations.&lt;br /&gt;&lt;h1&gt;Solved Problems&lt;/h1&gt;&lt;h2&gt;Automatic detection of available locales&lt;/h2&gt;Using fixed list in the available locales list might not be nice, especially if you want to dynamically add new translations later. In this case you need to find theavailable locales dynamically at start. The solution si to put this code to &lt;tt&gt;config/initializers/fast_gettext.rb&lt;/tt&gt; file:&lt;div class="code_example"&gt;&lt;pre class="brush: ruby"&gt;# put 'en_US' as first, the first item is used as a fallback&lt;br /&gt;# when requested locale (via ?locale= URL parameter) is not found&lt;br /&gt;FastGettext.default_available_locales = ["en_US"]&lt;br /&gt;&lt;br /&gt;# get available locales automatically&lt;br /&gt;Dir[File.join(File.dirname(__FILE__), '..', '..', 'locale', "/*/LC_MESSAGES/*.mo")].each do |l|&lt;br /&gt;  if l.match(/\/([^\/]+)\/LC_MESSAGES\/.*\.mo$/) &amp;amp;&amp;amp; !FastGettext.default_available_locales.include?($1)&lt;br /&gt;    FastGettext.default_available_locales &amp;lt;&amp;lt; $1&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2&gt;Language and Country Separator in locale name&lt;/h2&gt;Rails native localization support uses I18n module for translation support. The problem is that it uses dash (-) separator between langugage and country code in locale names.&lt;br/&gt;&lt;br/&gt;This makes a problem when using with standard gettext locale schema which uses underscore (_) as the separator. For example translations from rails-i18n gem will not be found when the current locale in en_US, it expects en-US locale.&lt;br/&gt;&lt;br/&gt;The problem can be solved by defining locale fallbacks like this (put this to &lt;tt&gt;config/initializers/fast_gettext.rb&lt;/tt&gt; file):&lt;br /&gt;&lt;div class="code_example"&gt;&lt;pre class="brush: ruby"&gt;# enable fallback handling&lt;br /&gt;I18n::Backend::Simple.include(I18n::Backend::Fallbacks)&lt;br /&gt;&lt;br /&gt;# set some locale fallbacks needed for ActiveRecord translations&lt;br /&gt;# located in rails_i18n gem (e.g. there is en-US.yml translation)&lt;br /&gt;I18n.fallbacks[:"en_US"] = [:"en-US", :en]&lt;br /&gt;I18n.fallbacks[:"en_GB"] = [:"en-GB", :en]&lt;br /&gt;I18n.fallbacks[:"pt_BR"] = [:"pt-BR", :pt]&lt;br /&gt;I18n.fallbacks[:"zh_CN"] = [:"zh-CN"]&lt;br /&gt;I18n.fallbacks[:"zh_TW"] = [:"zh-TW"]&lt;br /&gt;I18n.fallbacks[:"sv"] = [:"sv-SE"]&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;This means that if for example a translation for &lt;i&gt;en_US&lt;/i&gt; locale is not found then &lt;i&gt;en-US&lt;/i&gt; will be tried and then &lt;i&gt;en&lt;/i&gt; locale.&lt;br /&gt;&lt;h2&gt;Including source file name and line number is the final POT file&lt;/h2&gt;By default when you run 'rake gettext:find' task to collect the translatable string the output will not contain the source file name and the line number. It's very useful if you get a feedback from translator (like a typo in the original message) then you don't have to scan all file but you immediately know where to fix the problem.&lt;br /&gt;&lt;br /&gt;If you want to change this behavior and include the line numbers add this configuration to &lt;tt&gt;config/initializers/fast_gettext.rb&lt;/tt&gt; file:&lt;br /&gt;&lt;div class="code_example"&gt;&lt;pre class="brush: ruby"&gt;# configure default msgmerge parameters (the default contains "--no-location" option&lt;br /&gt;# which removes code lines from the final POT file)&lt;br /&gt;Rails.application.config.gettext_i18n_rails.msgmerge = ["--sort-output", "--no-wrap"]&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2&gt;Sorting messsages in the final POT file&lt;/h2&gt;The 'rake gettext:find' task sorts the messages in the final POT file alphabetically. The advantage is that if you add a new string and regenerate the file thenthe files will be similar and the diff will be small.&lt;br /&gt;&lt;br /&gt;The problem is that the sorting is done at the merge step, when merging the new found translation wit the old ones. At the very first run (when the final POT file does not exist yet) the merge step is skipped and thus the messages are not sorted. This can be fixed by starting the task once more (the second run will find existing messages and do the merge with sorting).&lt;br /&gt;&lt;br /&gt;But the problem is that you can easily forget to run the task for the second run. The workaround is to create an empty target POT file when the it doesn't exist yet. Unfortunately simple &lt;tt&gt;touch&lt;/tt&gt; command is not sufficient (msgmerge failed for me with some strange UTF-8 error), we have to create valid POT but without any messages.&lt;br /&gt;&lt;br /&gt;The workaround it to put this code to &lt;tt&gt;lib/tasks/gettext.rake&lt;/tt&gt; file:&lt;div class="code_example"&gt;&lt;pre class="brush: ruby"&gt;# 'gettext:find' sorts the messages alphabetically only when it is merging existing messages&lt;br /&gt;# copying empty pot file from the template forces sorting even at the first run&lt;br /&gt;namespace :gettext do&lt;br /&gt;  task :create_pot_template do&lt;br /&gt;    FileUtils.cp("locale/template.pot", "locale/textdomain.pot") unless File.exists?("locale/textdomain.pot")&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;# add task dependency&lt;br /&gt;task :'gettext:find' =&amp;gt; :'gettext:create_pot_template'&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;The &lt;tt&gt;locale/textdomain.pot&lt;/tt&gt; template should look like this:&lt;br /&gt;&lt;div class="code_example"&gt;&lt;pre class="brush: ruby"&gt;# SOME DESCRIPTIVE TITLE.&lt;br /&gt;# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER&lt;br /&gt;# This file is distributed under the same license as the PACKAGE package.&lt;br /&gt;# FIRST AUTHOR &amp;lt;email@address&amp;gt;, YEAR.&lt;br /&gt;#&lt;br /&gt;#, fuzzy&lt;br /&gt;msgid ""&lt;br /&gt;msgstr ""&lt;br /&gt;"Project-Id-Version: version 0.0.1\n"&lt;br /&gt;"POT-Creation-Date: 2012-01-16 17:56+0100\n"&lt;br /&gt;"PO-Revision-Date: 2012-01-16 17:56+0100\n"&lt;br /&gt;"Last-Translator: FULL NAME &amp;lt;email@address&amp;gt;\n"&lt;br /&gt;"Language-Team: LANGUAGE &amp;lt;ll@li.org&amp;gt;\n"&lt;br /&gt;"MIME-Version: 1.0\n"&lt;br /&gt;"Content-Type: text/plain; charset=UTF-8\n"&lt;br /&gt;"Content-Transfer-Encoding: 8bit\n"&lt;br /&gt;"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2&gt;Automatic translation in HAML files&lt;/h2&gt;It is possible to extend HAML parser to automatically translate all plain text strings. The advantage is than you don't have to explicitly use _() function and you cannot forget to mark a text to translation.&lt;br /&gt;&lt;br /&gt;This can be done using &lt;a href="http://pastie.org/445295"&gt;this code snippet&lt;/a&gt;. Save it to a file, remove the require calls at the beginning (they are obsoleted and do not work with new gettext) and require it in your ApplicationController.&lt;br /&gt;&lt;br /&gt;Then you need to add support to 'rake gettext:find' task. Save &lt;a href="http://pastie.org/445297"&gt;this code snippet&lt;/a&gt; to &lt;tt&gt;lib/haml_parser.rb&lt;/tt&gt; file. You need to replace &lt;tt&gt;require 'gettext/parser/ruby'&lt;/tt&gt; by &lt;tt&gt;require 'gettext/tools/parser/ruby'&lt;/tt&gt; so it works with newer gettext gem.&lt;br /&gt;&lt;br /&gt;Then put this to &lt;tt&gt;lib/tasks/gettext.rake&lt;/tt&gt; file:&lt;div class="code_example"&gt;&lt;pre class="brush: ruby"&gt;# extend the HAML parser to extract plain text messages&lt;br /&gt;# to support automatic translations (without need to mark the text with _())&lt;br /&gt;namespace :gettext do&lt;br /&gt;  task :haml_parser do&lt;br /&gt;    require 'haml_parser'&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;# extend the HAML parser before collecting the translatable texts&lt;br /&gt;task :'gettext:find' =&amp;gt; :'gettext:haml_parser'&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6535501136403374362-8679252270558627951?l=lslezak.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://www.gnome.org/~michael/blog/2012/01/23/2012-01-23</guid>
      <title>Michael Meeks: 2012-01-23: Monday</title>
      <pubDate>Mon, 23 Jan 2012 21:00:00 +0000</pubDate>
      <link>http://www.gnome.org/~michael/blog/2012-01-23.html</link>
      <description>&lt;ul&gt; &lt;!-- --&gt;
	&lt;li&gt;
		Mail chew, read the git commits over the weekend.
	Call with Simon, improved the LibreOffice donation &lt;a
	href="http://www.libreoffice.org/get-involved/donate/"&gt;page&lt;/a&gt;
	to include a nice image rotation.
	&lt;/li&gt;
	&lt;li&gt;
		Misc. android hackery - got past several unpleasant
	roadblocks in the UNO bootstrapping. Reviewed slideware.
	Dinner, babes to bed. J. under the weather, but out to a
	meeting. Back to the hackery - started on the first-start,
	user-installation creation code.
	&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://www.gnome.org/~federico/news-2012-01.html#23</guid>
      <title>Federico Mena-Quintero: Mon 2012/Jan/23</title>
      <pubDate>Mon, 23 Jan 2012 16:40:00 +0000</pubDate>
      <link>http://www.gnome.org/~federico/news-2012-01.html#23</link>
      <description>&lt;ul&gt;
	  &lt;li id="blog-de-carpinteria"&gt;
	    &lt;p&gt;
	      &lt;a href="http://www.gnome.org/~federico/news-2012-01.html#blog-de-carpinteria"&gt;&lt;strong&gt;Nuevo blog de Carpinter&#xED;a&lt;/strong&gt;&lt;/a&gt;
	    &lt;/p&gt;

	    &lt;p&gt;
	      He comenzado a escribir un blog de carpinter&#xED;a, trabajo en madera
	      y fabricaci&#xF3;n de herramientas: &lt;a
		href="http://xalapa.tallereslibres.org/artes-y-oficios/carpinteria-tradicional/la-viruta-rebelde"&gt;La
		Viruta Rebelde&lt;/a&gt;.
	    &lt;/p&gt;

	    &lt;p&gt;
	      Este blog es parte de nuestra inmensa red de &lt;a
		href="http://tallereslibres.org/"&gt;Talleres Libres de Artes y
		Tecnolog&#xED;as&lt;/a&gt; (&lt;a href="http://www.gnome.org/~federico/news-2010-07.html#26"&gt;art&#xED;culo anterior sobre esto&lt;/a&gt;).
	    &lt;/p&gt;

	    &lt;p&gt;
	      El blog corre sobre un sitio hecho con Plone, entonces todav&#xED;a no
	      es la cosa m&#xE1;s amigable del mundo, pero con el tiempo ir&#xE1;
	      mejorando.  Sean bienvenidos :)
	    &lt;/p&gt;

	    &lt;p&gt;
	      &lt;strong&gt;New woodworking blog&lt;/strong&gt;
	    &lt;/p&gt;

	    &lt;p&gt;
	      I have started writing a new blog about woodworking and
	      toolmaking: &lt;a
		href="http://xalapa.tallereslibres.org/artes-y-oficios/carpinteria-tradicional/la-viruta-rebelde"&gt;The
		Rebel Shaving&lt;/a&gt; (in Spanish).
	    &lt;/p&gt;

	    &lt;p&gt;
	      This blog is part of our immense network of &lt;a
		href="http://tallereslibres.org/"&gt;Free Workshops for Arts and
		Technologies&lt;/a&gt; (&lt;a href="http://www.gnome.org/~federico/news-2010-07.html#26"&gt;previous article on this&lt;/a&gt;).
	    &lt;/p&gt;

	    &lt;p&gt;
	      The blog runs on a Plone site, so it's not the friendliest thing
	      in the world, but it will get better over time.  Be welcome :)
	    &lt;/p&gt;
	  &lt;/li&gt;
	&lt;/ul&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://xadmin.info/?p=161</guid>
      <title>J&#xF6;rg Stephan: The release event revisited</title>
      <pubDate>Mon, 23 Jan 2012 12:58:06 +0000</pubDate>
      <link>http://xadmin.info/?p=161</link>
      <description>&lt;p&gt;Key-Systems, a domain registrar from the Saarland with more than 3.2 million domains , as the main sponsor of the event, could welcome openSUSE enthusiastic from the Saarland and the adjacent France &#xA0;at the premises of the company.&lt;/p&gt;
&lt;p&gt;It was a lively exchange about the new technologies related to openSUSE but also from other parts of the open source world.&lt;/p&gt;
&lt;p&gt;We were able to experience live one a Nokia N9. The Nokia N9 is a smartphone which Meegoo as well as a full shell (BusyBox) and an SSH server contains.&lt;br /&gt;
On the other hand, there was a glimpse of the possibilities the Nepomuk Systemd and KDE 4.7 to have an SSD powered notebook.&lt;/p&gt;
&lt;p&gt;There were also lively exchanges about Btrfs and snapper, which were presented by the administrators of the SkyWay Data Center. In this context, it was SUSE insiders, a brief overview of the features of the new Service Pack 2 for SUSE ENTERPRISE SERVER will bring with it. The subject of linux container and the opportunities it brings with it, such as the exact allocation of resources or individual CPU cores Ramb&#xE4;nken and the switch between these resouces have been in operation to feel very welcome.&lt;br /&gt;
With this technology it is now possible to the failure of individual processors, but not prevent, but to shift the impact of such a hardware replacement and restart at least until the night maintenance window.&lt;/p&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://www.gnome.org/~michael/blog/2012/01/22/2012-01-22</guid>
      <title>Michael Meeks: 2012-01-22: Sunday</title>
      <pubDate>Sun, 22 Jan 2012 21:00:00 +0000</pubDate>
      <link>http://www.gnome.org/~michael/blog/2012-01-22.html</link>
      <description>&lt;ul&gt; &lt;!-- ljm --&gt;
	&lt;li&gt;
		J. dropped me to NCC to practise with the band, service,
	Thea spoke. Back for lunch with Keziah over. Out to a service of
	Christian Unity in the town. Back. Played games, lazed on the sofa.
	Tea, told stories to babes, put them to bed &amp;amp; read more stories.
	Sermon from Hugh Palmer, silly &lt;i&gt;Naked Gun&lt;/i&gt; movie, bed.
	&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://lizards.opensuse.org/?p=8467</guid>
      <title>Bruno Friedmann: Winter outside? Summer inside! Keep Geeko&#x2019;s head warm!</title>
      <pubDate>Sun, 22 Jan 2012 11:53:14 +0000</pubDate>
      <link>http://lizards.opensuse.org/2012/01/22/winter-outside-summer-inside-keep-geekos-head-warm/</link>
      <description>&lt;h2&gt;Why&lt;/h2&gt;
&lt;p&gt;If you live in the North hemisphere as I do, it&amp;#8217;s winter time actually: cold temperature, freezing wind, snow &amp;#8230; and 20 years older than your twenties, then you want to keep your head warm.&lt;br /&gt;
So the mission was : &amp;#8220;what can I design (in other words : what crazy new idea can I have?) funky to wear, well fitting with the &lt;a href="http://lizards.opensuse.org/2011/10/09/geeko-says-hey-dude-thats-my-car/"&gt;car design&lt;/a&gt;, and the rest of a geek&amp;#8217;s wardrobe?&lt;br /&gt;
A beanie sounds perfect!
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://lizards.opensuse.org/wp-content/uploads/2012/01/Myrtle_Beach_Beanie_Geeko.jpg"&gt;&lt;img src="http://lizards.opensuse.org/wp-content/uploads/2012/01/Myrtle_Beach_Beanie_Geeko.jpg" alt="keep geeko&amp;#039;s head warm" width="300" height="300" class="alignright size-full wp-image-8466" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;What&lt;/h2&gt;
&lt;p&gt;Something simple, quickly available, uni-geek-sex, nice etc. So 10 days ago, I&amp;#8217;ve done my shopping with my favorite partner, and agree on a model, then checked cost and delivery time.&lt;br /&gt;
Here&amp;#8217;s the picture, of how it should look.
&lt;/p&gt;
&lt;p&gt;I hope you will love it, and fight to get one for you?&lt;/p&gt;
&lt;h2&gt;Where When can I grab one?&lt;/h2&gt;
&lt;p&gt;There will be a small series (99) available on openSUSE&amp;#8217;s booth during Fosdem (4-5 Feb) in Brussels. I will sold them 10&#x20AC;/piece, and half the money will goes to Fosdem organization. The rest cover the pre-serie cost.&lt;/p&gt;
&lt;p&gt;My advice, don&amp;#8217;t be in late! &lt;img src='http://lizards.opensuse.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;h2&gt;How to build your own?&lt;/h2&gt;
&lt;p&gt;If you can&amp;#8217;t attempt Fosdem, or can&amp;#8217;t have one, you can easily start your own local production. I&amp;#8217;ve choose the Myrtle Beach (MB 7584) white/lime,a Beanie with contrasting border, 100% polyacryl. They should be available in any clothes advertising shop. Then the logo is printed on it, better to have it embroidered but this is more expensive.&lt;/p&gt;
&lt;p&gt;Have fun!&lt;/p&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://sysbytes.wordpress.com/?p=345</guid>
      <title>Manu Gupta: The Lohri Experience</title>
      <pubDate>Sun, 22 Jan 2012 04:37:06 +0000</pubDate>
      <link>http://sysbytes.wordpress.com/2012/01/22/the-lohri-experience/</link>
      <description>&lt;p style="text-align:justify;"&gt;So often have we said or heard that it is from the simplest of things that we derive pleasure from the simplest of things in life. Listening to the birds chirping or the fragrance of the first rain or having a beer with your friends or taking a walk in a windy wintry weather and I can a zillion of more ors to the list. These things at times are so obvious to us that we tend to undermine the importance of these very simple things in our life.&lt;/p&gt;
&lt;p style="text-align:justify;"&gt;One such experience was the Lohri experience for me. Being a student and staying away from home, I never had time to enjoy a festival. However, back in Delhi NCR the heart of India, I had my chance to celebrate Lohri. A few things that I noticed&lt;/p&gt;
&lt;ol&gt;
&lt;li style="text-align:justify;"&gt;Families coming together and meeting each other&lt;/li&gt;
&lt;li style="text-align:justify;"&gt;Kids playing in the lawn&lt;/li&gt;
&lt;li style="text-align:justify;"&gt;Meeting the knowns and unknowns and wishing each other&lt;/li&gt;
&lt;li style="text-align:justify;"&gt;My WARMEST winter experience &lt;img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/li&gt;
&lt;li style="text-align:justify;"&gt;The beautiful bonfire&lt;/li&gt;
&lt;li style="text-align:justify;"&gt;The Ladies &lt;img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These are a few things that are right at the top of my head but then it was an awesome experience to remind me of the old age phrase &amp;#8220;In Simplicity Lies Beauty&amp;#8221;&lt;/p&gt;
&lt;br /&gt;  &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sysbytes.wordpress.com/345/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sysbytes.wordpress.com/345/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sysbytes.wordpress.com/345/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sysbytes.wordpress.com/345/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sysbytes.wordpress.com/345/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sysbytes.wordpress.com/345/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sysbytes.wordpress.com/345/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sysbytes.wordpress.com/345/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sysbytes.wordpress.com/345/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sysbytes.wordpress.com/345/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sysbytes.wordpress.com/345/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sysbytes.wordpress.com/345/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sysbytes.wordpress.com/345/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sysbytes.wordpress.com/345/" /&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sysbytes.wordpress.com&amp;amp;blog=8459304&amp;amp;post=345&amp;amp;subd=sysbytes&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://www.gnome.org/~michael/blog/2012/01/21/2012-01-21</guid>
      <title>Michael Meeks: 2012-01-21: Saturday</title>
      <pubDate>Sat, 21 Jan 2012 21:00:00 +0000</pubDate>
      <link>http://www.gnome.org/~michael/blog/2012-01-21.html</link>
      <description>&lt;ul&gt; &lt;!-- --&gt;
	&lt;li&gt;
		Up earlyish, H. and N. off to Bury to do music &amp;amp; book
	buying. Cleaned the house up, hacked a bit at some androidish
	pieces: discovered some problems with unit tests not being
	compiled.
	&lt;/li&gt;
	&lt;li&gt;
		Lunch, Mary Rogers over in afternoon, sat by the fire and
	played with babes. Lydia over in the evening - more hacking at sal/
	stopped readLine corrupting/writing to it's input buffer and
	crashing and fixed misc. build issues.
	&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://www.marques.so/?p=1272</guid>
      <title>Nelson Marques: A bit more of free time&#x2026; Adding a few more packages to the MATE Desktop</title>
      <pubDate>Sat, 21 Jan 2012 20:02:22 +0000</pubDate>
      <link>http://www.marques.so/2012/01/a-bit-more-of-free-time-adding-a-few-more-packages-to-the-mate-desktop/</link>
      <description>&lt;p style="text-align: justify;"&gt;It&amp;#8217;s been a cold weekend (January is often the coldest month in the year in Portugal) and it feels nice to be next to the fireplace enjoying a Leffe beer or a glass of &amp;#8220;Cabe&#xE7;a de Burro&amp;#8221; Douro wine, while building a few more packages for MATE.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;I&amp;#8217;ve got brainwashed the other day to try out Mint and decided to nuke of my Red Hat installations to check it out (I do like to try things on real hardware and not on VM&amp;#8217;s, though they run quite nice with Intel VT Technology). I also wanted to take a real look into MATE and see how this works on it&amp;#8217;s native platform. I&amp;#8217;ve installed VirtualBox and on it a openSUSE 12.1 minimal install (from the NET install iso) and I&amp;#8217;m using this virtual machine to continue the builds of MATE for openSUSE.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Currently 26 packages are building for 12.1 and I hope to add a few more during this weekend. As my $dayjob tasks are pretty much getting under control, I expect to take a week off in February (first or second week) to finish MATE and give it a ride on openSUSE 12.1. If all goes OK, then it&amp;#8217;s time to clean up the mess and start submitting it to openSUSE:Factory and file a request to get a project for MATE (maybe X11:MATE, GNOME:MATE or even just MATE).&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="http://www.marques.so/wp-content/uploads/2012/01/Screenshot-at-2012-01-21-194156.png"&gt;&lt;img class="aligncenter  wp-image-1273" title="Screenshot at 2012-01-21 19:41:56" src="http://www.marques.so/wp-content/uploads/2012/01/Screenshot-at-2012-01-21-194156.png" alt="" width="459" height="258" /&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-31633408.post-469372078315873702</guid>
      <title>Andres Silva: Two More Wallpapers</title>
      <pubDate>Sat, 21 Jan 2012 19:31:00 +0000</pubDate>
      <link>http://anditosan.blogspot.com/2012/01/two-more-wallpapers.html</link>
      <description>I worked on these two wallpapers along with another friend who does photography and Camy. If you want to check out my friend's pictures, feel free to drop in &lt;a href="http://www.flickr.com/photos/lalo_pangue/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-kwlL2jSPcDk/TxsSfLHNbkI/AAAAAAAAAcg/meSYCnBZZHc/s1600/Chameleon2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://1.bp.blogspot.com/-kwlL2jSPcDk/TxsSfLHNbkI/AAAAAAAAAcg/meSYCnBZZHc/s400/Chameleon2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-yJZoYD8dLso/TxsSiuX0sCI/AAAAAAAAAco/LtXu3wlXQWQ/s1600/Chameleon3.1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://1.bp.blogspot.com/-yJZoYD8dLso/TxsSiuX0sCI/AAAAAAAAAco/LtXu3wlXQWQ/s400/Chameleon3.1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Enjoy my friends :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31633408-469372078315873702?l=anditosan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://news.opensuse.org/?p=12487</guid>
      <title>openSUSE News: openSUSE 11.3 EOL&#x2019;ed, 12.2 On The Way!</title>
      <pubDate>Sat, 21 Jan 2012 16:51:30 +0000</pubDate>
      <link>http://news.opensuse.org/2012/01/21/opensuse-11-3-eoled-12-2-on-the-way/</link>
      <description>&lt;p&gt;&lt;img class="aligncenter size-medium wp-image-12493" title="suse_progression_cycles" src="http://news.opensuse.org/wp-content/uploads/2012/01/suse_progression_cycles-300x300.png" alt="SUSE Progression Cycles" width="300" height="300" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As Benjaman Brunner&lt;a title="11.3 EOL Announcement" href="http://lists.opensuse.org/opensuse-announce/2012-01/msg00001.html" target="_blank"&gt; announced yesterday&lt;/a&gt;, openSUSE 11.3 has reached end of life.&#xA0; As a quick refresher, openSUSE releases new versions every 8 months, and each version has a life cycle of 18 months.&#xA0; As 11.3 was released in July of 2010, the time has come to embrace our newer versions, including the successful &lt;a title="Download 12.1 today!" href="http://software.opensuse.org" target="_blank"&gt;release of 12.1&lt;/a&gt; in November of 2011.&lt;/p&gt;
&lt;p&gt;As Brunner&amp;#8217;s announcement indicates, we worked hard to maintain 11.3 while developing its subsequent two releases (11.4 and 12.1.) And of course, we&amp;#8217;re already gearing up for 12.2, slated for release in July.&#xA0; And the first milestone release is already just around the corner.&#xA0; You&amp;#8217;ll be able to try out Milestone 1 on February 9th.&lt;/p&gt;
&lt;p&gt;The roadmap for openSUSE 12.2 is as follows:&lt;/p&gt;
&lt;address style="padding-left: 60px;"&gt;9 February &amp;#8211; Milestone 1&lt;/address&gt;
&lt;address style="padding-left: 60px;"&gt;3 March &amp;#8211; Milestone 2&lt;/address&gt;
&lt;address style="padding-left: 60px;"&gt;5 April &amp;#8211; Milestone 3&lt;/address&gt;
&lt;address style="padding-left: 60px;"&gt;26 April &amp;#8211; Milestone 4&lt;/address&gt;
&lt;address style="padding-left: 60px;"&gt;24 May &amp;#8211; Beta 1&lt;/address&gt;
&lt;address style="padding-left: 60px;"&gt;14 June &amp;#8211; Release Candidate 1&lt;/address&gt;
&lt;address style="padding-left: 60px;"&gt;28 June &amp;#8211; Release Candidate 2&lt;/address&gt;
&lt;address style="padding-left: 60px;"&gt;6 July &amp;#8211; Gold Master&lt;/address&gt;
&lt;address style="padding-left: 60px;"&gt;11 July &amp;#8211; 12.2 Final Release&lt;/address&gt;
&lt;p&gt;As always, testers and contributors are welcome throughout the release development process.&#xA0; Join the &lt;a title="openSUSE Factory Mailing List" href="mailto:opensuse-factory+subscribe@opensuse.org" target="_blank"&gt;Factory Mailing List&lt;/a&gt; and have a lot of fun!&lt;/p&gt;
&lt;address&gt;Graphic courtesy of Michael Fox &amp;#8211; openSUSE Artwork Team member.&lt;/address&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://www.gnome.org/~michael/blog/2012/01/20/2012-01-20</guid>
      <title>Michael Meeks: 2012-01-20: Friday</title>
      <pubDate>Fri, 20 Jan 2012 21:00:00 +0000</pubDate>
      <link>http://www.gnome.org/~michael/blog/2012-01-20.html</link>
      <description>&lt;ul&gt; &lt;!-- ljm --&gt;
	&lt;li&gt;
		Chewed mail and misc. vcl fixing - and finally calc unit test
	runs to completion on Android (great work from Tor); getting the process
	slowly better documented in &lt;code&gt;README.Android&lt;/a&gt; and no pixels yet of
	course. Chat with Simon, then Charles.
	&lt;/li&gt;
	&lt;li&gt;
		The &lt;a
	href="http://fosdem.org/2012/schedule/track/libreoffice_devroom"&gt;LibreOffice
	FOSDEM Devroom Schedule&lt;/a&gt; went live - a really great set of shortish
	talks (to get the most grist we can into eight hours) and some great speakers,
	I'm really looking forward to it.
	&lt;/li&gt;
	&lt;li&gt;
		Planned my day, interspersing the tedious stuff with fun hackery, so
	that at least -some- tedious things get done. Lunch.
	&lt;/li&gt;
	&lt;li&gt;
		Filed a few more &lt;a
	href="http://wiki.documentfoundation.org/Development/Easy_Hacks_by_required_Skill"&gt;easy-hacks&lt;/a&gt;
	around cleaning up the horrible old &lt;code&gt;tools/&lt;/code&gt; - a duplicate system
	abstraction that still malingers underneath LibreOffice. Hid a few more unused
	locking methods in SvStream, and made the FSysRedirector more obviously a no-op.
	There are big blocks of easy-to remove cruft in tools needing a beginner or two.
	&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-20877744.post-3513565080903601571</guid>
      <title>Danny Kukawka: PandaBoard: get persistent MAC address by default</title>
      <pubDate>Fri, 20 Jan 2012 16:23:04 +0000</pubDate>
      <link>http://blog.bisect.de/2012/01/pandaboard-get-persistent-mac-address.html</link>
      <description>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;The PandaBoard/PandaBoard ES, as the BeagleBoard too, don't have a EEPROM on the (USB-) network card to store the MAC address. That's why you get a new MAC and subsequently a new IP address with each boot. You can set the MAC manually via e.g. '&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;ifconfig eth0 hw ether 01:23:45:67:78:01&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;' or also automatically via the network scripts.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;The other solution would be to generate a MAC on OMAP (version &amp;gt; 2) machines by reusing another unique hardware identifier. There is already an old patch written by Mark Crichton for the BeagleBoard. And there was also an patch on the kernel mailing list from &lt;/span&gt;&lt;a href="https://lkml.org/lkml/2011/3/12/124" target="_blank"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;Andy Green&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt; and some related &lt;/span&gt;&lt;a href="https://lkml.org/lkml/2011/3/11/67" target="_blank"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;discussion&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;, but none of them got into the kernel. &amp;nbsp;The problem was that if there are more than one card in the system without EEPROM they all would get the same MAC address. That sounds reasonable to me while I'm not sure that something like this will happen with a high chance out in the field. And since there are &lt;a href="http://www.mail-archive.com/linux-omap@vger.kernel.org/msg17553.html" target="_blank"&gt;objections&lt;/a&gt; against exporting the OMAP die ID to the sysfs there is no simple way to handle the MAC generation in userspace (e.g. via udev).&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;While investigating how u-boot handle the no-EEPROM problem, I've found out that the u-boot code already contain functions to generate a persistent MAC for such devices. The MAC gets also exported to the u-boot environment as &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;usbethaddr&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;. That's why I wrote a patch for the &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;smsc95xx&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt; kernel driver (based on a patch from &lt;a href="http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-maverick.git;a=commitdiff;h=10f38b455e75b85f72e98786e5518cf7b0324634;hp=f62e143182cc123fdfdf9bb88952a938af7d86e8" target="_blank"&gt;Sebastien Jan&lt;/a&gt;) to take a module parameter to set the MAC address via the kernel command line. With this patch the driver takes the following parameter: &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;macaddr=01:23:45:67:89:ab;[tgt-netdevname]&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt; and assign the given MAC address to the first device in the system without a MAC on the EEPROM. If there is more than one device without EEPROM you can add the netdevice name to the parameter - separated by a '&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;' - to assign it to a special device (e.g. for eth0: &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;macaddr=01:23:45:67:89:ab;eth0&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;). If there is no MAC given, the device still gets a random MAC as before.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;After patching and installing your kernel, you need to change the u-boot config to pass the &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;$usbethaddr&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt; from the environment along to the kernel cmdline. I used a &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;uEnv.txt&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt; file (on my boot partition) instead of the legacy/obsolete &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;boot.scr&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;, since you simply can change the file without call mkimage after each change. That's the content of the &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;uEnv.txt&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt; file I currently use to set the MAC of my PandaBoard ES:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;bootargs=root=/dev/mmcblk0p2 rw rootwait rootfstype=ext3 console=ttyO2,115200n8 vram=16M omapfb.vram=0:16M&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;bootcmd=mmc rescan ; setenv bootargs ${bootargs} smsc95xx.macaddr="${usbethaddr}" ; fatload mmc 0 0x82000000 uImage; bootm 0x82000000&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, &amp;quot;Courier&amp;quot;, monospace;"&gt;uenvcmd=boot&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;, &amp;quot;Helvetica&amp;quot;, sans-serif;"&gt;You can find the patch &lt;a href="http://bisect.de/downloads/patches/kernel/0001-add-macaddr-module-parameter.patch" target="_blank"&gt;here&lt;/a&gt;, I plan to include it into the openSUSE OMAP2+ kernel and to send it upstream as soon as I have some reports back that it also works for others. You can find an kernel RPM for openSUSE Factory &lt;a href="http://bisect.de/downloads/rpms/kernel-openSUSE-ARM-MAC/kernel-omap2plus-3.2.0-0.armv7l.rpm" target="_blank"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20877744-3513565080903601571?l=blog.bisect.de' alt='' /&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">http://www.gnome.org/~michael/blog/2012/01/19/2012-01-19</guid>
      <title>Michael Meeks: 2012-01-19: Thursday</title>
      <pubDate>Thu, 19 Jan 2012 21:00:00 +0000</pubDate>
      <link>http://www.gnome.org/~michael/blog/2012-01-19.html</link>
      <description>&lt;ul&gt; &lt;!-- --&gt;
	&lt;li&gt;
		Poked mail, fixed misc. build problems, poked at and
	spent the morning extending the tools/ stream abstraction also
	fixing some build issues. Nice to finally get some hacking done.
	&lt;/li&gt;
	&lt;li&gt;
		Chat with Jonathan, lunch, SUSE team meeting, LibreOffice
	ESC call, Vojtech's staff, discovered I'm late at my travel budget
	planning; bother.
	&lt;/li&gt;
	&lt;li&gt;
		Pondered the LibreOffice team. There is one set of very
	skilled hackers that perhaps people don't notice. As of today, we
	have quite a chunk of people working full-time on LibreOffice that
	used to be on Sun's OpenOffice.org team (in order of migration):
	seven guys: Caolan McNamara (RedHat), Noel Power (SUSE), Thorsten
	Behrens (SUSE), Bjoern Michaelsen (Canonical), Stephan Bergmann
	(RedHat), Eike Rathke (Redhat), Michael Stahl (RedHat) - making
	(I think) the largest concentration of full-time ex. StarDivision
	hackers on any project with a nice cluster in Hamburg still. It'd
	be great to grow that list of course.
	&lt;/li&gt;
	&lt;li&gt;
		More hackery and build fixing; late call with Camilo.
	Read babes stories, J. out for a run, final emulator hackery
	and bed.
	&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
  </channel>
</rss>

