<?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>Random Wisdom &#187; Linux</title>
	<atom:link href="http://scrolls.mafgani.net/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://scrolls.mafgani.net</link>
	<description>An attempt at organizing my thoughts ...</description>
	<lastBuildDate>Tue, 13 Apr 2010 18:17:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Create links with absolute paths in Linux</title>
		<link>http://scrolls.mafgani.net/2010/01/create-links-with-absolute-paths-in-linux/</link>
		<comments>http://scrolls.mafgani.net/2010/01/create-links-with-absolute-paths-in-linux/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 19:10:18 +0000</pubDate>
		<dc:creator>Mostafa</dc:creator>
				<category><![CDATA[How To ...]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[file processing]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://scrolls.mafgani.net/?p=420</guid>
		<description><![CDATA[The default behaviour of the linking command (ln) is a little strange under certain circumstances. Since it creates the links using the literal value of the target, symbolic links created using relative path structures can often fail. Consider the following: $ ln -s targetfile ../src/targetfile_link Without a doubt, &#8216;targetfile_link&#8217; will be a broken symlink since [...]]]></description>
			<content:encoded><![CDATA[<p>The default behaviour of the linking command (<strong>ln</strong>) is a little strange under certain circumstances. Since it creates the links using the literal value of the target, symbolic links created using relative path structures can often fail. Consider the following:</p>
<pre>$ ln -s targetfile ../src/targetfile_link</pre>
<p>Without a doubt, &#8216;targetfile_link&#8217; will be a broken symlink since it links to a target that it assumes is in the same directory:</p>
<pre>$ cd ../src &amp;&amp; ls -l targetfile_link
lrwxrwxrwx 1 mafgani mafgani 5 2010-01-16 18:19 targetfile_link -&gt; targetfile</pre>
<p>This is quite unfortunate since it clearly clashes with the way that the linking mechanism should work intuitively.</p>
<p>The solution is to force <strong>ln</strong> into automatically appending the absolute path to the target files. This can be achieved by using a simple shell script that acts as a wrapper for the real linking command:</p>
<pre style="color: #99ccff">
#!/bin/sh

# Step through the supplied arguments and append the absolute
# path to targets that exist
for ARG in $@
do
  if [ -e $ARG ]; then
    LNARGS="${LNARGS} ${PWD}/${ARG}";
  else
    LNARGS="${LNARGS} ${ARG}";
  fi
done

# Execute the actual link command with the modified args
exec /bin/ln ${LNARGS};
</pre>
<p>There are two known caveats:</p>
<ul>
<li> The link is &#8216;sub-optimal&#8217; if created from within the destination directory (the absolute path contains &#8216;../&#8217;s). It will still work however.</li>
<li>  The links will always be absolute. If that is undesirable, save the script as &#8216;absln&#8217; or something other than &#8216;ln&#8217;.</li>
</ul>
<p>Using &#8216;absln&#8217; instead of &#8216;ln&#8217; in the previously described scenario now produces a working symlink:</p>
<pre>$ absln -s targetfile ../src/targetfile_link
$ cd ../src/ &#038;&#038; ls -l targetfile_link
lrwxrwxrwx 1 mafgani mafgani 16 2010-01-16 19:13 targetfile_link -> /tmp/files/targetfile</pre>
]]></content:encoded>
			<wfw:commentRss>http://scrolls.mafgani.net/2010/01/create-links-with-absolute-paths-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Graphics format conversion</title>
		<link>http://scrolls.mafgani.net/2009/12/graphics-format-conversion/</link>
		<comments>http://scrolls.mafgani.net/2009/12/graphics-format-conversion/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 01:28:02 +0000</pubDate>
		<dc:creator>Mostafa</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[conversion]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[eps]]></category>
		<category><![CDATA[file processing]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[sam2p]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://scrolls.mafgani.net/?p=408</guid>
		<description><![CDATA[Up until now I have been using the &#8216;convert&#8216; tool that comes with ImageMagick to switch between image formats &#8212; mainly for creating EPS files from JPG/PNG (raster format) files for use with LaTeX. Then I came across sam2p. It is a light-weight utility that does one thing only and it does it well: convert [...]]]></description>
			<content:encoded><![CDATA[<p>Up until now I have been using the &#8216;<strong>convert</strong>&#8216; tool that comes with <a href="http://www.imagemagick.org">ImageMagick</a> to switch between image formats &#8212; mainly for creating EPS files from JPG/PNG (raster format) files for use with LaTeX. Then I came across <a href="http://code.google.com/p/sam2p/">sam2p</a>. </p>
<p>It is a light-weight utility that does one thing only and it does it well: convert between image formats. I&#8217;ve been using it for a while now and find that it can greatly reduce files sizes with minimal drop in quality. I&#8217;ve even used it to process existing EPS files just to get the reduction in file size. Best of all, it is multi-platform &#8212; executables are available for both Windows and Linux on the <a href="http://code.google.com/p/sam2p/">project homepage</a>.</p>
<p>Goodbye <strong>convert</strong> and hello <strong>sam2p</strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://scrolls.mafgani.net/2009/12/graphics-format-conversion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Realtime collaborative text editing</title>
		<link>http://scrolls.mafgani.net/2008/11/realtime-collaborative-text-editing/</link>
		<comments>http://scrolls.mafgani.net/2008/11/realtime-collaborative-text-editing/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 18:42:00 +0000</pubDate>
		<dc:creator>Mostafa</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[collaborative]]></category>
		<category><![CDATA[etherpad]]></category>
		<category><![CDATA[gobby]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://scrolls.mafgani.net/?p=104</guid>
		<description><![CDATA[A while ago, I came across Etherpad. It a web based platform that allows multiple users to simultaneously edit a single text file. Since it doesn&#8217;t seem to support any kind of mark-up at the moment, it would seem that it&#8217;s not terribly useful for word processing tasks. Perhaps it&#8217;s good for real-time collaborative coding [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago, I came across <a href="http://etherpad.com/">Etherpad</a>. It a web based platform that allows multiple users to simultaneously edit a single text file. Since it doesn&#8217;t seem to support any kind of mark-up at the moment, it would seem  that it&#8217;s not terribly useful for word processing tasks. Perhaps it&#8217;s good for real-time collaborative coding and the creation of agenda type lists &#8230;</p>
<p>The software equivalent of Etherpad is <a href="http://gobby.0x539.de/trac/">Gobby</a>. It&#8217;s a multi-platform tool that claims to run on Microsoft Windows, Mac OS X, Linux and other Unix-like platforms &#8212; making it almost as flexible as a web-based service. There are a number of other advantages:</p>
<ul>
<li>Flexibility and security that comes from having absolute control over the sessions.</li>
<li>Syntax highlighting!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://scrolls.mafgani.net/2008/11/realtime-collaborative-text-editing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash process substitution</title>
		<link>http://scrolls.mafgani.net/2008/10/bash-process-substitution/</link>
		<comments>http://scrolls.mafgani.net/2008/10/bash-process-substitution/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 13:09:00 +0000</pubDate>
		<dc:creator>Mostafa</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[processes]]></category>
		<category><![CDATA[redirections]]></category>

		<guid isPermaLink="false">http://scrolls.mafgani.net/?p=101</guid>
		<description><![CDATA[From the Advanced Bash-Scripting Guide: &#8220;Piping the stdout of a command into the stdin of another is a powerful technique. But, what if you need to pipe the stdout of multiple commands? This is where process substitution comes in. Process substitution feeds the output of a process (or processes) into the stdin of another process.&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>From the <a href="http://www.tldp.org/LDP/abs/html/process-sub.html">Advanced Bash-Scripting Guide</a>:</p>
<blockquote><p>
&#8220;Piping the stdout  of a command into the stdin of another is a powerful technique. But, what if you need to pipe the stdout of multiple  commands? This is where process substitution comes in.</p>
<p>Process substitution feeds the output of a process (or processes) into the stdin of another process.&#8221;
</p></blockquote>
<p>The syntax is:</p>
<pre>
 >(cmd_list)
 <(cmd_list)
</pre>
<p><span style="font-weight:bold;">Example:</span> comparing the head of two files using diff</p>
<pre>
$ diff -u <(head -n3 /var/log/dmesg) <(head -n3 /tmp/dmesg)
--- /proc/self/fd/63 2009-05-26 19:52:45.144544140 +0100
+++ /proc/self/fd/62 2009-05-26 19:52:45.149544007 +0100
@@ -1,3 +1,3 @@
-Initializing cgroup subsys cpuset
-Initializing cgroup subsys cpu
-Linux version 2.6.27.21-170.2.56.fc10.i686 (mockbuild@xenbuilder2.fedora.redhat.com)
 (gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC) )
 #1 SMP Mon Mar 23 23:37:54 EDT 2009
+Linux version 2.6.22.9-61.fc6 (brewbuilder@hs20-bc2-4.build.redhat.com)
 (gcc version 4.1.2 20070626 (Red Hat 4.1.2-13))
 #1 SMP Thu Sep 27 18:48:03 EDT 2007
+BIOS-provided physical RAM map:
+ BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
</pre>
<p>The diff header clearly shows that file descriptors are used as the underlying mechanism.</p>
]]></content:encoded>
			<wfw:commentRss>http://scrolls.mafgani.net/2008/10/bash-process-substitution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Embedding fonts in a PDF document</title>
		<link>http://scrolls.mafgani.net/2008/10/embedding-fonts-in-a-pdf-document/</link>
		<comments>http://scrolls.mafgani.net/2008/10/embedding-fonts-in-a-pdf-document/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 13:08:00 +0000</pubDate>
		<dc:creator>Mostafa</dc:creator>
				<category><![CDATA[How To ...]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[embedding]]></category>
		<category><![CDATA[file processing]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[ps]]></category>

		<guid isPermaLink="false">http://scrolls.mafgani.net/?p=100</guid>
		<description><![CDATA[It is often a good idea (or a requirement) to embed the used font faces in a PDF document. This is easily accomplished using ps2pdf during the final stage of conversion of a document from PS to PDF: $ ps2pdf -sPAPERSIZE=a4 -dPDFSETTINGS=/printer -dCompatibilityLevel=1.3 \ -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true \ 'input_file.ps' 'output_file.pdf' An explanation of the command [...]]]></description>
			<content:encoded><![CDATA[<p>It is often a good idea (or a requirement) to embed the used font faces in a PDF document. This is easily accomplished using <span style="font-weight:bold;">ps2pdf</span> during the final stage of conversion of a document from PS to PDF:</p>
<pre>
$ ps2pdf -sPAPERSIZE=a4 -dPDFSETTINGS=/printer -dCompatibilityLevel=1.3 \
         -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true \
         'input_file.ps' 'output_file.pdf'
</pre>
<p>An explanation of the command options can be found in the <span style="font-weight:bold;">Ps2pdf.htm</span> file in the Ghostscript documentations (or <a href="http://pages.cs.wisc.edu/~ghost/doc/cvs/Ps2pdf.htm">here</a>).</p>
<p>[<a href="http://www.hamilton.ie/gavinmc/docs/timesinpdfs.html">Source</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://scrolls.mafgani.net/2008/10/embedding-fonts-in-a-pdf-document/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Re-encoding MP3 files using LAME</title>
		<link>http://scrolls.mafgani.net/2008/06/re-encoding-mp3-files-using-lame/</link>
		<comments>http://scrolls.mafgani.net/2008/06/re-encoding-mp3-files-using-lame/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 14:41:00 +0000</pubDate>
		<dc:creator>Mostafa</dc:creator>
				<category><![CDATA[How To ...]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[lame]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[transcoding]]></category>

		<guid isPermaLink="false">http://scrolls.mafgani.net/?p=99</guid>
		<description><![CDATA[I have some MP3 files encoded at a constant bitrate of 320kbps that my phone seems to have trouble playing smoothly. So, I looked into LAME. The files I had were named using the following scheme: 01 - Title of track 01.mp3 02 - Title of track 02.mp3 ... I used the BASH for-loop construct [...]]]></description>
			<content:encoded><![CDATA[<p>I have some MP3 files encoded at a constant bitrate of 320kbps that my phone seems to have trouble playing smoothly. So, I looked into <a href="http://en.wikipedia.org/wiki/LAME">LAME</a>.</p>
<p>The files I had were named using the following scheme:</p>
<pre>
01 - Title of track 01.mp3
02 - Title of track 02.mp3
...
</pre>
<p>I used the BASH <span style="font-family: courier new;">for-loop</span> construct to process the files:</p>
<pre>
$ for A in *.mp3;\              # Process one mp3 at a time
  do B=${A%.mp3};\              # Extract track number and title
     C=${B#?? -};\              # Extract the title
     D=${B%% - *};\             # Extract the track number
     lame --vbr-new -V0 -q0\    # Variable-bitrate, high-quality
          --mp3input\           # Inputs are MP3 files
          --tt "$C"\            # ID3v2 tags: title
          --ta 'Artist Name'\   # ID3v2 tags: artist
          --tl 'Album Title'\   # ID3v2 tags: album
          --ty 2007\            # ID3v2 tags: year
          --tn "$D"\            # ID3v2 tags: track no.
          --tg 'GENRE'\         # ID3v2 tags: genre
          "$A" processed/"$A";\ # Keep filename and save in ./processed/
  done
</pre>
<p>Since no bit-rate bounds are explicitly provided, the re-encoded files can contain anything between 32kbps and 320kbps. The LAME man-page provides an extensive list of options and their meanings.</p>
]]></content:encoded>
			<wfw:commentRss>http://scrolls.mafgani.net/2008/06/re-encoding-mp3-files-using-lame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Processing files using &#8216;find&#8217;</title>
		<link>http://scrolls.mafgani.net/2008/03/processing-files-using-find/</link>
		<comments>http://scrolls.mafgani.net/2008/03/processing-files-using-find/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 15:32:00 +0000</pubDate>
		<dc:creator>Mostafa</dc:creator>
				<category><![CDATA[How To ...]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[file processing]]></category>
		<category><![CDATA[find]]></category>

		<guid isPermaLink="false">http://scrolls.mafgani.net/?p=98</guid>
		<description><![CDATA[In its most basic form, find is often used to locate files that are subsequently piped through a complex set of commands for processing. However, this particular method is easily broken by files that contain spaces in their names. This is where the &#8216;exec&#8217; option provided by find comes in handy. From the man-page: -exec [...]]]></description>
			<content:encoded><![CDATA[<p>In its most basic form, <span style="font-weight:bold;">find</span> is often used to locate files that are subsequently piped through a complex set of commands for processing. However, this particular method is easily broken by files that contain spaces in their names.</p>
<p>This is where the <span style="font-style:italic;">&#8216;exec&#8217;</span> option provided by <span style="font-weight:bold;">find</span> comes in handy. From the man-page:</p>
<pre>
-exec command ;
       Execute  command;  true  if 0 status is returned.  All following
       arguments to find are taken to be arguments to the command until
       an  argument  consisting of ‘;’ is encountered.  The string ‘{}’
       is replaced by the current file name being processed  everywhere
       it occurs in the arguments to the command, not just in arguments
       where it is alone, as in some versions of find.  Both  of  these
       constructions might need to be escaped (with a ‘\’) or quoted to
       protect them from expansion by the shell.  See the EXAMPLES sec-
       tion  for examples of the use of the ‘-exec’ option.  The speci-
       fied command is run once for each matched file.  The command  is
       executed  in  the  starting  directory.    There are unavoidable
       security problems surrounding  use  of  the  -exec  option;  you
       should use the -execdir option instead.
</pre>
<p>An example that recursively touches all *.log files from the current directory would be:</p>
<pre>
$ find . -name \*.log -exec touch {} \;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://scrolls.mafgani.net/2008/03/processing-files-using-find/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Saving power with Linux</title>
		<link>http://scrolls.mafgani.net/2007/12/saving-power-with-linux/</link>
		<comments>http://scrolls.mafgani.net/2007/12/saving-power-with-linux/#comments</comments>
		<pubDate>Mon, 03 Dec 2007 18:45:00 +0000</pubDate>
		<dc:creator>Mostafa</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[power]]></category>
		<category><![CDATA[powertop]]></category>

		<guid isPermaLink="false">http://scrolls.mafgani.net/?p=97</guid>
		<description><![CDATA[An interesting site with numerous tips and tricks on power efficient computing using Linux: LessWatts It is also home to the rather useful &#8220;PowerTOP&#8221; tool. If the testimonials are anything to go by, everyone running a recent release of Linux should give this a try.]]></description>
			<content:encoded><![CDATA[<p>An interesting site with numerous tips and tricks on power efficient computing using Linux:</p>
<p><a href="http://www.lesswatts.org">LessWatts</a></p>
<p>It is also home to the rather useful &#8220;<a href="http://www.lesswatts.org/projects/powertop/">PowerTOP</a>&#8221; tool. If the testimonials are anything to go by, everyone running a recent release of Linux should give this a try.</p>
]]></content:encoded>
			<wfw:commentRss>http://scrolls.mafgani.net/2007/12/saving-power-with-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extracting Audio/Video</title>
		<link>http://scrolls.mafgani.net/2007/12/extracting-audiovideo/</link>
		<comments>http://scrolls.mafgani.net/2007/12/extracting-audiovideo/#comments</comments>
		<pubDate>Sat, 01 Dec 2007 14:24:00 +0000</pubDate>
		<dc:creator>Mostafa</dc:creator>
				<category><![CDATA[How To ...]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[extract]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[multimedia]]></category>

		<guid isPermaLink="false">http://scrolls.mafgani.net/?p=95</guid>
		<description><![CDATA[It&#8217;s really easy to extract either audio or video from a multimedia file using &#8216;ffmpeg&#8216;. To extract audio only: $ ffmpeg -i inputfile -vn -acodec copy outputfile And for video only, replace &#8216;-vn&#8216; with &#8216;-an&#8216; and &#8216;-acodec&#8216; with &#8216;-vcodec&#8216;. ffmpeg is also commonly used as a transcoding tool.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s really easy to extract either audio or video from a multimedia file using &#8216;<span style="font-weight:bold;">ffmpeg</span>&#8216;. To extract audio only:
<pre>$ ffmpeg -i inputfile -vn -acodec copy outputfile</pre>
<p>And for video only, replace &#8216;<span style="font-style:italic;">-vn</span>&#8216; with &#8216;<span style="font-style:italic;">-an</span>&#8216; and &#8216;<span style="font-style:italic;">-acodec</span>&#8216; with &#8216;<span style="font-style:italic;">-vcodec</span>&#8216;.</p>
<p><a href="http://ffmpeg.mplayerhq.hu/">ffmpeg</a> is also commonly used as a transcoding tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://scrolls.mafgani.net/2007/12/extracting-audiovideo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH Blacklisting</title>
		<link>http://scrolls.mafgani.net/2007/11/ssh-blacklisting/</link>
		<comments>http://scrolls.mafgani.net/2007/11/ssh-blacklisting/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 18:27:00 +0000</pubDate>
		<dc:creator>Mostafa</dc:creator>
				<category><![CDATA[How To ...]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[blacklist]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://scrolls.mafgani.net/?p=94</guid>
		<description><![CDATA[After getting around 1500 failed ssh login attempts a day for a while on a server I manage, I decided to look into tools that automatically blacklist offending IPs. Sshblack fits the bill perfectly. A HOWTO (including an init-script) for REDHAT-like systems is available from the OSS Watch Wiki.]]></description>
			<content:encoded><![CDATA[<p>After getting around 1500 failed ssh login attempts a day for a while on a server I manage, I decided to look into tools that automatically blacklist offending IPs.</p>
<p><a href="http://www.pettingers.org/code/sshblack.html">Sshblack</a> fits the bill perfectly. A HOWTO (including an init-script) for REDHAT-like systems is available from the <a href="http://wiki.oss-watch.ac.uk/InstallingSshblack">OSS Watch Wiki</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://scrolls.mafgani.net/2007/11/ssh-blacklisting/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
