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

<channel>
	<title>cyberz.org</title>
	<atom:link href="http://www.cyberz.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cyberz.org/blog</link>
	<description>Andrea Leofreddi's homepage</description>
	<lastBuildDate>Thu, 04 Mar 2010 21:10:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9-rare</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SVGPan: a Javascript SVG (Viewer) Pan/Zoom/Drag library</title>
		<link>http://www.cyberz.org/blog/2009/12/08/svgpan-a-javascript-svg-panzoomdrag-library/</link>
		<comments>http://www.cyberz.org/blog/2009/12/08/svgpan-a-javascript-svg-panzoomdrag-library/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 18:37:34 +0000</pubDate>
		<dc:creator>andrea</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.cyberz.org/blog/?p=96</guid>
		<description><![CDATA[Some time ago the need for a browser-compatible vectorial language pushed me to consider the SVG markup language (I won&#8217;t say anything about Internet Explorer &#8211; it&#8217;s just unsupported there). The language itself is great, but, as a beginner, I was so disappointed about the fact that on the Internet I couldn&#8217;t find ANY library [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago the need for a browser-compatible vectorial language pushed me to consider the SVG markup language (I won&#8217;t say anything about Internet Explorer &#8211; it&#8217;s just unsupported there). The language itself is great, but, as a beginner, I was so disappointed about the fact that on the Internet I couldn&#8217;t find ANY library ready to use for panning and zooming features that I had to write one from scratch.</p>
<p>The SVGPan library features:</p>
<ol>
<li>Panning (pan à la Google maps) <em>(click on the white background and pan)</em></li>
<li>Zooming <em>(using the mouse wheel)</em></li>
<li>Element dragging <em>(click on a drawing element and drag it somewhere else)</em></li>
<li>Combinations of the above like zooming while dragging</li>
</ol>
<p>The resulting javascript library is published here, in the hope that someone can find it useful. The library itself is very small and easy to use; and it&#8217;s licensed under the BSD license. You can try a demo here</p>
<div class="pageview">
  <div class="pageviewhead">
    <img alt="View code" src="http://www.cyberz.org/blog/wp-content/plugins/pageview/pageview.gif" width="48" height="48" align="left"/>

    <table>
      <tr>
        <td><strong>Title:</strong></td>
        <td><a title="View fullscreen" target="_blank" href="http://www.cyberz.org/projects/SVGPan/tiger.svg">SVGPan demo</a></td>
      </tr>
      <tr>
        <td valign="top"><strong>Description:</strong></td>
        <td>Hello</td>
      </tr>
    </table>
  </div>

  <iframe src="http://www.cyberz.org/projects/SVGPan/tiger.svg" frameborder="0">Get a better browser!</iframe>
</div>
<p><span id="more-96"></span></p>
<p>You can also <a title="SVGPan example" href="http://www.cyberz.org/projects/SVGPan/tiger.svg" target="_blank">open the demo in a new page</a> and <a title="SVGPan library" href="http://www.cyberz.org/projects/SVGPan/SVGPan.js" target="_blank">download the SVGPan library here</a>.</p>
<p>The library itself requires a root group to be identified by the id <strong>viewport</strong>, which confines the SVGPan library effects, and the import of the javascript code as well. For example, to adapt the tiger drawing, was necessary to add the following:</p>
<pre><strong>&lt;script xlink:href="SVGPan.js"/&gt;</strong>
&lt;g <strong>id="viewport"</strong> transform="translate(200,200)"&gt;...</pre>
<p>You may also try another <a href="http://www.cyberz.org/projects/SVGPan/tripleintegral.svg">SVG example (triple integral, from Wikipedia)</a>.</p>
<p>Zeng Xiaohui has provided a patch to support the mouse wheel on Safari/Chrome, which has been merged into the latest version of SVGPan.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cyberz.org/blog/2009/12/08/svgpan-a-javascript-svg-panzoomdrag-library/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Bode and Nyquist diagrams using GNU Octave</title>
		<link>http://www.cyberz.org/blog/2009/12/07/bode-and-nyquist-diagrams-using-gnu-octave/</link>
		<comments>http://www.cyberz.org/blog/2009/12/07/bode-and-nyquist-diagrams-using-gnu-octave/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 17:51:36 +0000</pubDate>
		<dc:creator>andrea</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.cyberz.org/blog/?p=14</guid>
		<description><![CDATA[Using GNU Octave is easy to plot Bode and Nyquist diagrams, as follows:
bode(zp([], [-1*i, i, -1], 1))
nyquist(zp([-0.5], [0.0, -0.2, -4], 1))
]]></description>
			<content:encoded><![CDATA[<p>Using <a href="http://www.octave.org/">GNU Octave</a> is easy to plot Bode and Nyquist diagrams, as follows:</p>
<p><code>bode(zp([], [-1*i, i, -1], 1))</code></p>
<p><code>nyquist(zp([-0.5], [0.0, -0.2, -4], 1))</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cyberz.org/blog/2009/12/07/bode-and-nyquist-diagrams-using-gnu-octave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bacula mail changer script (aka poor man&#8217;s autoloader)</title>
		<link>http://www.cyberz.org/blog/2009/06/08/bacula-mail-changer-script-aka-poor-mans-autoloader/</link>
		<comments>http://www.cyberz.org/blog/2009/06/08/bacula-mail-changer-script-aka-poor-mans-autoloader/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 22:16:32 +0000</pubDate>
		<dc:creator>andrea</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Bacula]]></category>

		<guid isPermaLink="false">http://www.cyberz.org/blog/?p=24</guid>
		<description><![CDATA[I enjoy Bacula for automated home backups on DLT and DDS tape drives. Being used at home there&#8217;s no &#8211; obviously &#8211; big-dollar-company-manager to ask for an autoloader; and when the time of a tape change comes bacula lacks a simple way to request a manual tape change and just hangs up. So I managed [...]]]></description>
			<content:encoded><![CDATA[<p>I enjoy Bacula for automated home backups on DLT and DDS tape drives. Being used at home there&#8217;s no &#8211; obviously &#8211; big-dollar-company-manager to ask for an autoloader; and when the time of a tape change comes bacula lacks a simple way to request a manual tape change and just hangs up. So I managed to build a fake autoloader shell script, which, using emails, would emulate a real autoloader. This script, which I baptised <em>mail-changer</em>, features:</p>
<ul>
<li>email support</li>
<li>periodic email resend when tape change is needed</li>
<li>tape detection and check (if you&#8217;re supposed to insert tape 4 and you enter 5, the script will kindly refuse the tape, unload it and send a warning email message asking for the right one)</li>
</ul>
<p><span id="more-24"></span>To implement the third point (tape detection and check), it was necessary to extract the tape id from the bacula tape. That can be done looking at the bacula&#8217;s tape header structure:</p>
<p>The first structure stored is called &#8220;Block Header&#8221; and is 24 bytes long:</p>
<pre>   uint32_t CheckSum;                /* Block check sum */
   uint32_t BlockSize;               /* Block byte size including the header */
   uint32_t BlockNumber;             /* Block number */
   char ID[4] = "BB02";              /* Identification and block level */
   uint32_t VolSessionId;            /* Session Id for Job */
   uint32_t VolSessionTime;          /* Session Time for Job */</pre>
<p>Then a &#8220;Record Header&#8221; follows (12 bytes):</p>
<pre>  int32_t FileIndex;   /* File index supplied by File daemon */
  int32_t Stream;      /* Stream number supplied by File daemon */
  uint32_t DataSize;   /* size of following data record in bytes */</pre>
<p>Then a structure which is interesting for us, called &#8220;Volume Label&#8221; follows:</p>
<pre>  char Id[32];              /* Bacula 1.0 Immortal\n */
  uint32_t VerNum;          /* Label version number */
  /* VerNum 11 and greater Bacula 1.27 and later */
  btime_t   label_btime;    /* Time/date tape labeled */
  btime_t   write_btime;    /* Time/date tape first written */
  /* The following are 0 in VerNum 11 and greater */
  float64_t write_date;     /* Date this label written */
  float64_t write_time;     /* Time this label written */
  char VolName[128];        /* Volume name */
  char PrevVolName[128];    /* Previous Volume Name */
  char PoolName[128];       /* Pool name */
  char PoolType[128];       /* Pool type */
  char MediaType[128];      /* Type of this media */
  char HostName[128];       /* Host name of writing computer */
  char LabelProg[32];       /* Label program name */
  char ProgVersion[32];     /* Program version */
  char ProgDate[32];        /* Program build date/time */</pre>
<p>What is really important for us is the VolName field, which is at relative offset +56 from the beginning of the <em>Volume Label</em>. Adding 12 bytes of <em>Record Header</em> and 24 of <em>Block Header</em> makes 92 bytes.</p>
<p>Please note that mail-changer has been developed on Solaris 10 using CSW&#8217;s Bacula, you may need to work a bit to adapt it to your unix.</p>
<p>You can <a title="mail-changer script" href="/projects/mail-changer/mail-changer" target="_blank">download mail-changer here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cyberz.org/blog/2009/06/08/bacula-mail-changer-script-aka-poor-mans-autoloader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some applications using I2C</title>
		<link>http://www.cyberz.org/blog/2009/06/08/some-applications-using-i2c/</link>
		<comments>http://www.cyberz.org/blog/2009/06/08/some-applications-using-i2c/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 21:49:43 +0000</pubDate>
		<dc:creator>andrea</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[I2C]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Parport]]></category>

		<guid isPermaLink="false">http://www.cyberz.org/blog/?p=64</guid>
		<description><![CDATA[Parallel and serial ports are disappearing from today&#8217;s pc making life harder for the people who wants to connect their home-made devices to a pc. The USB bus seems to be very appealing but it has the drawback of complexity while the I2C bus is very easy to implement and it&#8217;s widely supported by many [...]]]></description>
			<content:encoded><![CDATA[<p>Parallel and serial ports are disappearing from today&#8217;s pc making life harder for the people who wants to connect their home-made devices to a pc. The USB bus seems to be very appealing but it has the drawback of complexity while the I2C bus is very easy to implement and it&#8217;s widely supported by many devices, with the drawback of no direct pc connection (to be honest it&#8217;s used inside the pc, so somewhere on the motherboard there is a i2c bus, but yet I haven&#8217;t found any decent connection to the external world to use it &#8211; no, i won&#8217;t solder things on memory modules). Since the first way to start experimenting with i2c is building an i2c port, I&#8217;ve built a parport-to-i2c interface implementing the <a href="http://www.kosma.pl/hardware/i2c-parport/">i2c schematics made by Kosma Moczek</a> with the idea of replacing it with a more modern USB-to-I2C solution in the future.</p>
<p>So here it is the prototype of the parport to i2c interface:</p>
<p style="text-align: center;"><img class="size-medium wp-image-70 aligncenter" title="The i2c board" src="http://www.cyberz.org/blog/wp-content/uploads/2009/05/090520091-300x225.jpg" alt="The i2c board" width="300" height="225" /></p>
<p><span id="more-64"></span>To test the interface bus, some i2c device was needed. A common 24c04 eeprom was very easy to find, so I just setup some wires to have the 24c04 connect the bus (note the power cord powers up the parport board too). That is the result:</p>
<p style="text-align: center;"><img class="size-medium wp-image-73 aligncenter" title="The 24c04 eeprom" src="http://www.cyberz.org/blog/wp-content/uploads/2009/05/090520090011-300x225.jpg" alt="The 24c04 eeprom" width="300" height="225" /></p>
<p>Using the i2cdetect from lmsensors with the 24c04 unplugged, I was able to scan the i2c bus without results as expected:</p>
<p><code>[root@thufir ~]# i2cdetect -a 3<br />
WARNING! This program can confuse your I2C bus, cause data loss and worse!<br />
I will probe file /dev/i2c-3.<br />
I will probe address range 0x00-0x7f.<br />
Continue? [Y/n] y<br />
0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f<br />
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
[root@thufir ~]#</code></p>
<p>Plugging the 24c04 eeprom in the i2c bus, a probe finds out something:</p>
<p><code>[root@thufir ~]# i2cdetect -a 3<br />
WARNING! This program can confuse your I2C bus, cause data loss and worse!<br />
I will probe file /dev/i2c-3.<br />
I will probe address range 0x00-0x7f.<br />
Continue? [Y/n] y<br />
0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f<br />
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br />
[root@thufir ~]#</code></p>
<p>The eeprom has been found at 0&#215;50-1 address, which is as expected (the 24c04 has the &#8216;1010 E2 E1 A8&#8242; address scheme, so in my case E2 and E1 were ground producing 1010000 and 1010001).</p>
<p>To be sure about the functionality of the port, I used the <a href="http://codesink.org/eeprog.html">eeprog program by Stefano Barbato</a> to test the 24c04.</p>
<p>Writing &#8220;hello world\n&#8221; on the first 12 bytes of the eeprom was fine:</p>
<p><code>[root@thufir eeprog-0.7.6]# echo hello world | ./eeprog -f /dev/i2c-3 0x50 -w 0:12<br />
eeprog 0.7.6, a 24Cxx EEPROM reader/writer<br />
Copyright (c) 2003-2004 by Stefano Barbato - All rights reserved.<br />
Bus: /dev/i2c-3, Address: 0x50, Mode: 8bit<br />
Writing stdin starting at address 0x0<br />
............</code></p>
<p>&#8230;and so was reading what&#8217;s inside the first 12 bytes of the eeprom (the &#8220;hello world\n&#8221; string which we have just written).</p>
<p><code><br />
[root@thufir eeprog-0.7.6]# ./eeprog -f /dev/i2c-3 0x50 -r 0:12<br />
eeprog 0.7.6, a 24Cxx EEPROM reader/writer<br />
Copyright (c) 2003-2004 by Stefano Barbato - All rights reserved.<br />
Bus: /dev/i2c-3, Address: 0x50, Mode: 8bit<br />
Reading 12 bytes from 0x0<br />
hello world<br />
[root@thufir eeprog-0.7.6]#<br />
</code></p>
<p>The i2c eeprom is working as expected. The eeprom was connected with a 3 meters cable. As of today I still have to buy some PCF8574 to start experimenting with some other circuits.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cyberz.org/blog/2009/06/08/some-applications-using-i2c/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Code Review</title>
		<link>http://www.cyberz.org/blog/2009/02/18/code-review/</link>
		<comments>http://www.cyberz.org/blog/2009/02/18/code-review/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 18:34:45 +0000</pubDate>
		<dc:creator>andrea</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Delirium]]></category>

		<guid isPermaLink="false">http://www.cyberz.org/blog/?p=55</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-54 aligncenter" title="qa" src="http://www.cyberz.org/blog/wp-content/uploads/2009/02/qa.jpg" alt="qa" width="422" height="398" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cyberz.org/blog/2009/02/18/code-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios nrpe and sudo: &#8220;NRPE: Unable to read output&#8221;</title>
		<link>http://www.cyberz.org/blog/2009/01/03/nagios-nrpe-and-sudo-nrpe-unable-to-read-output/</link>
		<comments>http://www.cyberz.org/blog/2009/01/03/nagios-nrpe-and-sudo-nrpe-unable-to-read-output/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 18:21:21 +0000</pubDate>
		<dc:creator>andrea</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Nagios]]></category>
		<category><![CDATA[Sudo]]></category>

		<guid isPermaLink="false">http://www.cyberz.org/blog/?p=49</guid>
		<description><![CDATA[On CentOS 5 (and RedHat EL as well), you can encounter the following behaviour when configuring an nrpe plugin with sudo:

[andrea@feyd ~]$ /usr/lib/nagios/plugins/check_nrpe  -H 1.2.3.4 -c check_md_raid
NRPE: Unable to read output


Given that check_md_raid is defined as follows, in nrpe.conf:

command[check_md_raid]=sudo /usr/local/bin/nagios_check_md_raid

And given (for completeness) its relative /etc/sudoers line as follows:

nagios    ALL=(ALL)  [...]]]></description>
			<content:encoded><![CDATA[<p>On CentOS 5 (and RedHat EL as well), you can encounter the following behaviour when configuring an nrpe plugin with sudo:<br />
<code><br />
[andrea@feyd ~]$ /usr/lib/nagios/plugins/check_nrpe  -H 1.2.3.4 -c check_md_raid<br />
NRPE: Unable to read output<br />
</code><br />
<span id="more-49"></span><br />
Given that check_md_raid is defined as follows, in nrpe.conf:<br />
<code><br />
command[check_md_raid]=sudo /usr/local/bin/nagios_check_md_raid<br />
</code><br />
And given (for completeness) its relative /etc/sudoers line as follows:<br />
<code><br />
nagios    ALL=(ALL)   NOPASSWD:/usr/local/bin/nagios_check_md_raid<br />
</code><br />
Then the problem is in the requiretty options in /etc/sudoers, enabled by default on CentOS. Simply comment it as follows:<br />
<code><br />
#Defaults    requiretty<br />
</code><br />
After that the plugin should work as expected:<br />
<code><br />
[andrea@feyd ~]$ /usr/lib/nagios/plugins/check_nrpe  -H 1.2.3.4 -c check_md_raid<br />
RAID OK: All arrays OK [1 array checked]<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cyberz.org/blog/2009/01/03/nagios-nrpe-and-sudo-nrpe-unable-to-read-output/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Using samba with autofs on Fedora 9</title>
		<link>http://www.cyberz.org/blog/2008/09/07/using-samba-with-autofs-on-fedora-9/</link>
		<comments>http://www.cyberz.org/blog/2008/09/07/using-samba-with-autofs-on-fedora-9/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 14:55:54 +0000</pubDate>
		<dc:creator>andrea</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Samba]]></category>

		<guid isPermaLink="false">http://www.cyberz.org/blog/?p=26</guid>
		<description><![CDATA[Mount a samba share on the fly without having it mounted statically at boot via the /etc/fstab file can bring you the advantage of an unpainful boot in case of unavailability of the samba server like in the following common scenarios:

laptop: you mount your pc share at home, but when you move it becomes unavailable
workstation: [...]]]></description>
			<content:encoded><![CDATA[<p>Mount a samba share on the fly without having it mounted statically at boot via the /etc/fstab file can bring you the advantage of an unpainful boot in case of unavailability of the samba server like in the following common scenarios:</p>
<ul>
<li>laptop: you mount your pc share at home, but when you move it becomes unavailable</li>
<li>workstation: you mount the share of your workmate &#8211; but when he/she goes on holiday his/her workstation stays off</li>
</ul>
<p><span id="more-26"></span></p>
<p>Using autofs this can be accomplished easily following these steps:</p>
<ol>
<li>Set <code>/auto</code> under the control of autofs adding this line to <code>/etc/auto.master</code>:<br/><br/><code>/auto            /etc/auto.auto    --timeout=5 --ghost</code><br/><br/></li>
<li>Point <code>directory</code> to a samba share <code>//server/share</code> in <code>/etc/auto.auto</code>:<br/><br/><code>directory              -fstype=cifs,credentials=/etc/smb.auth         ://server/share</code> <i>(directory is a child directory of /auto)</i><br/><br/></li>
<li>Store access credentials to the samba share in <code>/etc/smb.auth</code>:<br/><br/><code>username=yourusername<br />
password=youpassword</code><br/><br/></li>
<li>Secure the password file:<br/><br/><code># chmod 600 /etc/smb.auth</code><br/><br/></li>
<li>Start autofs:<br/><br/><code># /etc/init.d/autofs start<br />
Starting automount:                                        [  OK  ]</code><br/><br/></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.cyberz.org/blog/2008/09/07/using-samba-with-autofs-on-fedora-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash delirium (delirio in bash)</title>
		<link>http://www.cyberz.org/blog/2008/04/18/delirii-in-bash/</link>
		<comments>http://www.cyberz.org/blog/2008/04/18/delirii-in-bash/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 12:19:44 +0000</pubDate>
		<dc:creator>andrea</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[Delirium]]></category>

		<guid isPermaLink="false">http://www.cyberz.org/blog/?p=19</guid>
		<description><![CDATA[f1() { :; }; f0() { f$((${#1}==0)) "${1:1}"; echo -n "${1:0:1}"; }; f0 'dlrow olleh'; echo
]]></description>
			<content:encoded><![CDATA[<p><code>f1() { :; }; f0() { f$((${#1}==0)) "${1:1}"; echo -n "${1:0:1}"; }; f0 'dlrow olleh'; echo</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cyberz.org/blog/2008/04/18/delirii-in-bash/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MusicBrainz not working with Amarok on Fedora 8</title>
		<link>http://www.cyberz.org/blog/2008/04/13/musicbrainz-not-working-with-amarok-on-fedora-8/</link>
		<comments>http://www.cyberz.org/blog/2008/04/13/musicbrainz-not-working-with-amarok-on-fedora-8/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 10:14:05 +0000</pubDate>
		<dc:creator>andrea</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Amarok]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.cyberz.org/blog/2008/04/13/musicbrainz-not-working-with-amarok-on-fedora-8/</guid>
		<description><![CDATA[On my Fedora 8 system with Amarok I was trying to fill an mp3&#8217;s tag header using MusicBrainz, getting the following error:

Tunepimp (MusicBrainz tagging library) returned the following error: "Fingerprinting of .mp3 files is not supported."
To make it work, just yum install libtunepimp-extras-nonfree
]]></description>
			<content:encoded><![CDATA[<p>On my Fedora 8 system with Amarok I was trying to fill an mp3&#8217;s tag header using MusicBrainz, getting the following error:</p>
<p><a href="http://www.cyberz.org/blog/wp-content/uploads/2008/04/amarok.png"><img class="alignnone size-full wp-image-18" title="Amarok MusicBrainz issue" src="http://www.cyberz.org/blog/wp-content/uploads/2008/04/amarok.png" alt="" width="500" height="131" /></a></p>
<p><code>Tunepimp (MusicBrainz tagging library) returned the following error: "Fingerprinting of .mp3 files is not supported."</code></p>
<p>To make it work, just <code>yum install libtunepimp-extras-nonfree</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cyberz.org/blog/2008/04/13/musicbrainz-not-working-with-amarok-on-fedora-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH X11 forwarding issue</title>
		<link>http://www.cyberz.org/blog/2008/04/12/ssh-x11-forwarding-issue/</link>
		<comments>http://www.cyberz.org/blog/2008/04/12/ssh-x11-forwarding-issue/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 21:38:53 +0000</pubDate>
		<dc:creator>andrea</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[X11]]></category>

		<guid isPermaLink="false">http://www.cyberz.org/blog/2008/04/12/ssh-x11-forwarding-issue/</guid>
		<description><![CDATA[Recently I&#8217;ve been in an awkward situation with ssh and X11 forwarding, where ssh using the classic -Y (or -X) switch wasn&#8217;t working (DISPLAY was not set):
[andrea@duncan ~]$ ssh -Y root@vladimir
root@vladimir's password:
Last login: Sat Apr 12 23:30:09 2008 from ***
[root@vladimir ~]# echo $DISPLAY
[root@vladimir ~]#
If you are experiencing the same and your sshd_config looks fine (which [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been in an awkward situation with ssh and X11 forwarding, where ssh using the classic -Y (or -X) switch wasn&#8217;t working (DISPLAY was not set):</p>
<p><code>[andrea@duncan ~]$ ssh -Y root@vladimir<br />
root@vladimir's password:<br />
Last login: Sat Apr 12 23:30:09 2008 from ***<br />
[root@vladimir ~]# echo $DISPLAY<br />
[root@vladimir ~]#</code></p>
<p>If you are experiencing the same and your <em>sshd_config</em> looks fine (which means TCP and X11 forwarding is already enabled) then the answer is missing <em>xauth</em>!</p>
<p>On RedHat <code>yum install xauth</code> will do the trick</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cyberz.org/blog/2008/04/12/ssh-x11-forwarding-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
