<?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>nedos.net</title>
	<atom:link href="http://nedos.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://nedos.net</link>
	<description>Dmitry Nedospasov&#039;s Blog</description>
	<lastBuildDate>Tue, 25 May 2010 00:37:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ubuntu 9.10 Karmic LUKS + LVM Root Encryption with Desktop or Netinstall CD</title>
		<link>http://nedos.net/2010/01/21/ubuntu-luks-lvm/</link>
		<comments>http://nedos.net/2010/01/21/ubuntu-luks-lvm/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 10:00:19 +0000</pubDate>
		<dc:creator>Dmitry Nedospasov</dc:creator>
				<category><![CDATA[*nix]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://nedos.net/?p=138</guid>
		<description><![CDATA[LUKS + LVM root on Debian is a breeze, in fact the installer does everything for you. And the Ubuntu Desktop CD? Well, not so much, unfortunately. You could use the alternate or server CD, but this was not possible for me, I only had the desktop CD on a USB Stick. In any case, since Ubuntu also uses apt, its really just more or less a matter of installing what's missing, dpkg will do the rest!]]></description>
			<content:encoded><![CDATA[<p>So after recently migrating my backup server to a Debian LUKS set up, i decided to move my Ubuntu desktop to such a setup as well. If there are so many great free open-source encryption solutions, why doesn&#8217;t everyone use them?</p>
<p>In any case setting up a LUKS + LVM root on Debian is a breeze, in fact the installer does everything for you. And the Ubuntu Desktop CD? Well, not so much, unfortunately. You could use the alternate or server CD, but this was not possible for me, I only had the desktop CD on a USB Stick. In any case, since Ubuntu also uses apt, its really just more or less a matter of installing what&#8217;s missing, <code>dpkg</code> will do the rest!</p>
<p>It goes a little something like this&#8230;</p>
<h2>Pre-flight</h2>
<h3>Before we begin&#8230;</h3>
<ol>
<li>Boot the Ubuntu Karmic CD into the &#8220;LiveCD&#8221; mode this is the one called, <em>&#8220;Try Ubuntu without any change to your computer&#8221;</em>.</li>
<li>You will need an internet connection to download the latest versions of the missing programs, make sure you have connectivity from the LiveCD.</li>
<li>Make sure you know what the drive name is of the drive you are installing to in this <em>howto</em> it will be <code>/dev/sda</code></li>
<li>You will need a <em>separate unencrypted</em> boot partition, it is entirely possible to have this on a different device, such as a USB Stick, however here we assume that the boot partition is the first partition of the internal harddrive, i.e. <code>/dev/sda1</code></li>
<li>Open up a Terminal (Man up sissy boy &#8211; Applications &gt; Accessories &gt; Terminal)</li>
<li>(Optional) fill your drive with random data <code>dd if=/dev/urandom of=/dev/sda</code>. This prevents people from seeing <em>how much data</em>, but not what data has been written to the drive. This will take forever, especially if you have a large drive, like a 1TB.</li>
</ol>
<h3>Getting the tools</h3>
<p>Now we need to get the tools, this is relatively simple to do. Since we will need root privileges for almost the entire process, i recommend dropping to root immediately. To do this, simply type:<br />
<code><br />
sudo su -l<br />
</code></p>
<p><em><strong>We will assume that you are root for all commands below!!!</strong></em></p>
<p>Now we need to update the packages and install <code>cryptsetup</code> and <code>lvm2</code>. To do this first type in:</p>
<ol>
<li><code>apt-get update</code></li>
<li><code>apt-get install cryptsetup lvm2</code></li>
</ol>
<h2>Setting up the encrypted volume</h2>
<h3>Partitioning the disk</h3>
<p>First we need to create a partition table, to do this we fire up fdisk. In this tutorial the disk we will partitioning is <code>/dev/sda</code>.</p>
<ol>
<li>type: <code>fdisk /dev/sda</code></li>
<li>Type in <code>p</code> to print the current partition table and use <code>d</code> to delete any existing partitions: <code>Command (m for help): p</code></li>
<li>Create the first, primary, bootable, 250MB partition.
<ol>
<li>type: <code>n</code></li>
<li>then: <code>p</code></li>
<li>then: <code>1</code></li>
<li>then hit enter</li>
<li>then type: <code>+250M</code></li>
<li>then: <code>a</code></li>
<li>then: <code>1</code></li>
<li>and type: <code>p</code>, you should get something like:<br />
<code><br />
Device Boot      Start         End      Blocks   Id  System<br />
/dev/sda1   *           1          33      265041   83  Linux<br />
</code></li>
</ol>
</li>
<li>Now create a single partition, taking up the rest of the space:
<ol>
<li>type: <code>n</code></li>
<li>then: <code>p</code></li>
<li>then: <code>2</code></li>
<li>then hit enter</li>
<li>then hit enter again</li>
<li>and type: <code>p</code>, you should get something like:<br />
<code><br />
Device Boot      Start         End      Blocks   Id  System<br />
/dev/sda1   *           1          33      265041   83  Linux<br />
/dev/sda2              34        2610    20699752+  83  Linux<br />
</code></li>
</ol>
</li>
<li>now press <code>w</code></li>
</ol>
<h3>Create the encrypted Volume</h3>
<p>Next step is to setup the encrypted volume. We &#8220;luksFormat&#8221; the partition we want to be our encrypted volume, in this example this is <code>/dev/sda2</code>. To encrypt the volume, you should select a nice password. If you are not good at making your own pseudo-random passwords, download pwgen <strong>AND DON&#8217;T LOSE THIS PASSWORD!!!</strong></p>
<ol>
<li><code>apt-get install pwgen</code></li>
<li><code>pwgen 20</code></li>
</ol>
<p>Now we wipe the partition. Enter your super-duper password at the prompt for the LUKS volume.<br />
<code><br />
cryptsetup luksFormat /dev/sda2<br />
</code></p>
<h3>Mount the encrypted volume</h3>
<p>Now all that is left is mounting the encrypted volume. The first parameter of the command is the physical partition or device that the encrypted volume resides on, the second parameter is the alias for the decrypted volume in <code>/dev/mapper</code>. In this example I called my decrypted volume <code>sda2_crypt</code> (this happens to also be the Debian naming scheme) however you can chose whatever you want. Enter the LUKS volume password at the prompt.<br />
<code><br />
cryptsetup luksOpen /dev/sda2 sda2_crypt<br />
</code></p>
<p>Now that we should have the encrypted volume up and running, we can check by typing <code>cryptsetup status /dev/mapper/sda2_crypt</code>. You should see a similar output.</p>
<p><code><br />
/dev/mapper//dev/mapper/sda2_crypt is active:<br />
cipher:  aes-cbc-essiv:sha256<br />
keysize: 128 bits<br />
device:  /dev/sda2<br />
offset:  1032 sectors<br />
size:    41398473 sectors<br />
mode:    read/write<br />
</code></p>
<h2>Setting up LVM</h2>
<p>Perfect, now we can make this a physical volume for LVM. If you have never used LVM before, its about time! I&#8217;m not gonna go into great detail about how it works, there are plenty of resources online explaining the differences between physical volumes, volume groups and logical volumes. Very briefly though, <em>each</em> logical volume resides on a <em>single</em> volume group which reside on <em>one or more</em> physical volumes. So a volume group is a pool of physical devices which we can use to create logical volumes. In our case we will have <em>one</em> physical volume (<code>/dev/mapper/sda2_crypt</code>), <em>one</em> volume group (i called mine <code>crypto</code> in this example) and <em>several</em> logical volumes.</p>
<h3>Create the Physical Volume</h3>
<p>Lets go! Create the physical volume with:<br />
<code><br />
pvcreate /dev/mapper/sda2_crypt<br />
</code></p>
<h3>Create the Volume Group</h3>
<p>Create a volume group with:<br />
<code><br />
vgcreate crypto /dev/mapper/sda2_crypt<br />
</code></p>
<h3>Create the Logical Volumes</h3>
<p>And now create your logical volumes. You need at least a root and a swap, but you can create more. In this example i also created a <code>/home</code> and a <code>/tmp</code> partition (albeit pretty small). To create a logical volume use <code>lvcreate -n&lt;volume_name&gt; -L&lt;volume_size&gt; crypto</code>, where <code>&lt;volume_name&gt;</code> is the name of the volume (i.e. root), where <code>&lt;volume_size&gt;</code> is size of the volume (i.e 10G or 512M) and where crypto is, of course, the example name of our volume group from the previous step.<br />
<code><br />
root@ubuntu:~# lvcreate -nroot -L10G crypto<br />
Logical volume "root" created<br />
root@ubuntu:~# lvcreate -nswap -L1G crypto<br />
Logical volume "swap" created<br />
root@ubuntu:~# lvcreate -nhome -L4G crypto<br />
Logical volume "home" created<br />
root@ubuntu:~# lvcreate -ntmp -L4G crypto<br />
Logical volume "tmp" created<br />
</code></p>
<p>Now we&#8217;re ready to install!</p>
<h2>Installation</h2>
<p>The installation should be completely normal, the only changes you have to make are at the Partitioning screen.</p>
<h3>Partitioning</h3>
<div id="attachment_141" class="wp-caption alignnone" style="width: 514px"><a href="http://nedos.net/images/Ubuntu-64-bit-2.png"><img class="size-full wp-image-141  " title="Prepare Disk Space" src="http://nedos.net/images/Ubuntu-64-bit-2.png" alt="Select: Specify Partitions manually at this screen" width="504" height="410" /></a><p class="wp-caption-text">Select: Specify Partitions manually at this screen</p></div>
<h3>Formatting</h3>
<p>At the next screen remember to set mountpoints for your partitions and for them to be formatted. I chose to use <code>ext2</code> for my boot partition (<code>/dev/sda1</code>), mostly for legacy reasons. Make sure the <code>swap</code> logical volume is formatted <code>swap</code>, otherwise format the other partitions (i.e. <code>root</code>, <code>tmp</code> and <code>home</code>) whatever you want, i chose ext4. Again, <strong>MAKE SURE YOU ARE SETTING MOUNTPOINTS</strong> and <strong>DO NOT</strong> format <code>/dev/sda2</code>!!!</p>
<div id="attachment_144" class="wp-caption alignnone" style="width: 514px"><a href="http://nedos.net/images/Ubuntu-64-bit-21.png"><img class="size-full wp-image-144  " title="Prepare Partitions" src="http://nedos.net/images/Ubuntu-64-bit-21.png" alt="Remember to select mountpoints, filesystems and format the partitions at this screen." width="504" height="410" /></a><p class="wp-caption-text">Remember to select mountpoints, filesystems and format the partitions at this screen.</p></div>
<h3>Finishing the Installation</h3>
<p>Now click forward and let the installer finish. Remember to <strong>NOT RESTART</strong> at the very end, select &#8220;Continue Testing&#8221;.</p>
<div id="attachment_146" class="wp-caption alignnone" style="width: 514px"><a href="http://nedos.net/images/Ubuntu-64-bit-22.png"><img class="size-full wp-image-146  " title="Installation Complete" src="http://nedos.net/images/Ubuntu-64-bit-22.png" alt="Select &quot;Continue Testing&quot; here!" width="504" height="410" /></a><p class="wp-caption-text">Select &quot;Continue Testing&quot; here!</p></div>
<h2>Getting the missing bits and pieces</h2>
<p>Now, fire up a Terminal again, drop to root (<code>sudo su -l</code>). We will need to mount the new system, create an <code>/etc/crypttab</code> entry and install some missing packages.</p>
<h3>Mount the new system</h3>
<p>To mount the partitions do the following</p>
<ol>
<li>create a mount point: <code>mkdir -p /mnt/newroot</code></li>
<li>mount the root: <code>mount /dev/crypto/root /mnt/newroot</code></li>
<li>mount proc: <code>mount /proc /mnt/newroot/proc -t proc</code></li>
<li>mount your boot partition: <code>mount /dev/sda1 /mnt/newroot/boot</code></li>
<li>mount any other partitions (i.e. /tmp, /home, /var&#8230;): <code>mount /dev/crypto/&lt;vol_name&gt; /mnt/newroot/&lt;mount_name&gt;</code></li>
</ol>
<h3><code>chroot</code> into the new environment</h3>
<p>Now we are going to chroot into this environment, to do this type: chroot /mnt/newroot if you got no errors, and the command pwd returns /, you should be good.</p>
<h3>Create an <code>/etc/crypttab</code></h3>
<p>Now we need to create the <code>/etc/crypttab</code> entry and install the missing packages:</p>
<p>To create an entry in <code>/etc/crypttab</code> simply (replacing any discrepancies in naming) do:<br />
<code><br />
echo "sda2_crypt /dev/sda2 none luks" &gt;&gt; /etc/crypttab<br />
</code></p>
<p>Your /etc/crypttab should now look something like this, when you type <code>cat /etc/crypttab</code>.<br />
<code><br />
# &lt;target name&gt;    &lt;source device&gt;        &lt;key file&gt;    &lt;options&gt;<br />
sda2_crypt /dev/sda2 none luks<br />
</code></p>
<h3>Install the missing packages</h3>
<p>Now we only need to install the missing packages, the rest will be done by dpkg&#8217;s scripts.</p>
<ol>
<li>apt-get update</li>
<li>apt-get install lvm2 cryptsetup</li>
</ol>
<h3>Unmount the partitions</h3>
<p>Thats it! Now exit chroot and unmount all the volumes</p>
<ol>
<li>to exit <code>chroot</code> simply type: <code>exit</code></li>
<li>to <code>unmount</code> all the mountpoints within <code>/mnt/newroot</code>, type comma-seperated in curly-brackets what you want to unmount: <code>umount /mnt/newroot/{boot,home,tmp,proc}</code></li>
<li>you should now be able to unmount <code>/mnt/newroot</code>, if not check if you unmounted all partitions in step 2: <code>umount /mnt/newroot</code></li>
</ol>
<h3>Reboot&#8230; pray</h3>
<p>Now type in <code>reboot</code> and cross your fingers! Hopefully you are welcomed by a screen like this:</p>
<div id="attachment_148" class="wp-caption alignnone" style="width: 514px"><a href="http://nedos.net/images/Ubuntu-64-bit-23.png"><img class="size-full wp-image-148  " title="Enter Passphrase" src="http://nedos.net/images/Ubuntu-64-bit-23.png" alt="If all went well, Ubuntu's splash screen should ask you for the password" width="504" height="410" /></a><p class="wp-caption-text">If all went well, Ubuntu&#39;s splash screen should ask you for the password</p></div>
<h3>Troubleshooting</h3>
<p>Ideally it all went well, and you don&#8217;t have any complaints, however, I will create a troubleshooting section as comments rain in, so please do comment.</p>
<p>Thanks for reading, can&#8217;t wait to see some comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://nedos.net/2010/01/21/ubuntu-luks-lvm/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Ruby .txt to .html link script for Rapidshare</title>
		<link>http://nedos.net/2009/03/04/ruby-txt-to-html-link-script-for-rapidshare/</link>
		<comments>http://nedos.net/2009/03/04/ruby-txt-to-html-link-script-for-rapidshare/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 14:37:30 +0000</pubDate>
		<dc:creator>Dmitry Nedospasov</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://nedos.net/?p=124</guid>
		<description><![CDATA[So you know what&#8217;s really annoying? How many downloaders people are trying to sell! I love DownThemAll for firefox, its a great plug-in that i highly recommend. Unfortunately you can&#8217;t just add a list of links. You have to have &#8220;clickable&#8221; links for it to work. Well that sucks, I guess you have to get [...]]]></description>
			<content:encoded><![CDATA[<p>So you know what&#8217;s really annoying? How many downloaders people are trying to sell! I love DownThemAll for firefox, its a great plug-in that i highly recommend. Unfortunately you can&#8217;t just add a list of links. You have to have &#8220;clickable&#8221; links for it to work. Well that sucks, I guess you have to get one of those 20 dollar apps, right? WRONG! Ruby saves the day! I might make a gui for this script at some point but until then it works flawlessly in terminal.</p>
<p>Just add all the links you want to download to a text file and save it with .txt extension. Now run this script and input the .txt file as the parameter, i.e:</p>
<p><code>./txttohtml links.txt</code></p>
<p>Now you should find an html file in the same folder with the text file, the filename is the, but with an .html extension. Anyway, here&#8217;s the script:</p>
<p><code><br />
#!/usr/bin/ruby<br />
# Dmitry Nedospasov<br />
# Text to HTML<br />
# This script converts a .txt file to an html file with each<br />
# line of the file as a link<br />
#<br />
# I wanted this so that i could use rapidshare with DTA<br />
# Script needs one argument, the .txt file<br />
require 'ftools'<br />
def parseargs(arguments, stdin)<br />
# puts arguments<br />
txtFile = arguments[0]<br />
if txtFile == nil<br />
puts 'Please enter a filename'<br />
elsif txtFile =~ /.txt$/<br />
puts 'Checking the following file: ' + txtFile<br />
convertFromTxtToHtml(txtFile)<br />
else<br />
puts 'Please enter a file that ends with .txt'<br />
end<br />
end<br />
def convertFromTxtToHtml(txtFile)<br />
htmlFile = txtFile.sub(/.txt$/, " .html" )<br />
puts 'Writing results to: ' + htmlFile<br />
myHtmlFile = File.new(htmlFile, " w+" )<br />
myTxtFile = File.open(txtFile, " r" )<br />
if File.zero?(myTxtFile)<br />
puts 'the .txt file is empty'<br />
elsif File.exist?(myTxtFile)<br />
myHtmlFile.puts(" &lt;html&gt;" )<br />
counter = 1<br />
myTxtFile.readlines.each { |curLine|<br />
newLine = '&lt;a href=" '<br />
newLine += curLine<br />
newLine += '" &gt;'<br />
newLine += " #{counter}"<br />
newLine += ' - '<br />
newLine += curLine<br />
newLine += '&lt;/a&gt;'<br />
myHtmlFile.puts(newLine)<br />
myHtmlFile.puts(" &lt;br /&gt;" )<br />
counter += 1<br />
}<br />
myHtmlFile.puts(" &lt;/html&gt;" )<br />
else<br />
puts 'File not found'<br />
end<br />
end<br />
parseargs(ARGV, STDIN)<br />
</code></p>
<p>Now you can fire up firefox and open the html file and start dta, however the &#8220;cool&#8221; way to create the html files and launch firefox from terminal is, in Mac OS:</p>
<p><code><br />
./txttohtml.rb *.txt &amp;&amp; open -a Firefox *.html<br />
</code></p>
<p>And in linux:</p>
<p><code>./txttohtml.rb *.txt &amp;&amp; firefox *.html</code></p>
<p>Have fun and here is the <a href="http://nedos.net/ruby/txttohtml.rb">file for download</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nedos.net/2009/03/04/ruby-txt-to-html-link-script-for-rapidshare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby Batch Rename Script</title>
		<link>http://nedos.net/2009/02/20/ruby-batch-rename-script/</link>
		<comments>http://nedos.net/2009/02/20/ruby-batch-rename-script/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 23:26:03 +0000</pubDate>
		<dc:creator>Dmitry Nedospasov</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[nerd]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://nedos.net/?p=94</guid>
		<description><![CDATA[So I&#8217;ve recently gotten into scripting in ruby and with a couple of scripts you really can save yourself a lot of tedious work in the future. Here&#8217;s one i wrote that does a batch rename of all files in a given folder and its subfolders. You can do either of the following:
Enter 3 parameters:

input [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve recently gotten into scripting in ruby and with a couple of scripts you really can save yourself a lot of tedious work in the future. Here&#8217;s one i wrote that does a batch rename of all files in a given folder and its subfolders. You can do either of the following:</p>
<p>Enter 3 parameters:</p>
<ol>
<li>input directory</li>
<li>search string</li>
<li>replacement string</li>
</ol>
<div>Or just enter 2 parameters in which case the search string will be removed from all files:</div>
<div>
<ol>
<li>input directory</li>
<li>search string</li>
</ol>
<div>Remember, to enter the parameters in that order, &lt;input dir&gt; &lt;search string&gt; [&lt;replacement string&gt;].</div>
</div>
<div><code><br />
#!/usr/bin/ruby<br />
# Dmitry Nedospasov<br />
# Batch Rename<br />
# 2 parameters: batchrename.rb &lt;input dir&gt; &lt;search string&gt;<br />
# &lt;search string&gt; will be completely removed from all occurances<br />
# 3 parameters: batrename.rb &lt;input dir&gt; &lt;search string&gt; &lt;replacement string&gt;<br />
# all occurances of &lt;search string&gt; will be replaced with &lt;replacement string&gt;</code></div>
<div><code><br />
require 'ftools'<br />
def parseargs(arguments, stdin)<br />
# puts arguments<br />
dir = arguments[0]<br />
oldExt = arguments[1]<br />
newExt = arguments[2]<br />
puts dir<br />
puts oldExt<br />
puts newExt<br />
if oldExt == nil or dir == nil<br />
puts 'Please enter atleast the first 2 parameters: '<br />
puts ' &lt;input directory&gt; &lt;search string&gt; [&lt;replacement string&gt;]'<br />
else<br />
convertFromTo(dir,oldExt,newExt)<br />
end<br />
end<br />
def convertFromTo(dir, oldExt, newExt)<br />
files = Dir.entries(dir)<br />
files.each do |f|<br />
next if f == '.' or f == '..'<br />
fullPath = dir + '/' + f<br />
# fullPath = fullPath.gsub(' ','\ ')<br />
if File.directory?(fullPath)<br />
puts 'Found directory: ' + fullPath<br />
convertFromTo(fullPath, oldExt, newExt)<br />
else<br />
if newExt == nil<br />
newName = fullPath.gsub(oldExt,'')<br />
else<br />
newName = fullPath.gsub(oldExt,newExt)<br />
end<br />
if fullPath != newName<br />
puts fullPath + ' -&gt; ' + newName<br />
File.rename(fullPath,newName)<br />
end<br />
end<br />
end<br />
end</code></div>
<div>
<p>parseargs(ARGV, STDIN)</p>
</div>
<div>and what you should get is something like this</div>
<div><code><br />
russo@guevara:~/Desktop$ ./batchrename.rb . stpuid stupid<br />
.<br />
stpuid<br />
stupid<br />
Found directory: ./stupidtypo<br />
./stupidtypo/stpuidtypo1.txt -&gt; ./stupidtypo/stupidtypo1.txt<br />
./stupidtypo/stpuidtypo10.txt -&gt; ./stupidtypo/stupidtypo10.txt<br />
./stupidtypo/stpuidtypo2.txt -&gt; ./stupidtypo/stupidtypo2.txt<br />
./stupidtypo/stpuidtypo3.txt -&gt; ./stupidtypo/stupidtypo3.txt<br />
./stupidtypo/stpuidtypo4.txt -&gt; ./stupidtypo/stupidtypo4.txt<br />
./stupidtypo/stpuidtypo5.txt -&gt; ./stupidtypo/stupidtypo5.txt<br />
./stupidtypo/stpuidtypo6.txt -&gt; ./stupidtypo/stupidtypo6.txt<br />
./stupidtypo/stpuidtypo7.txt -&gt; ./stupidtypo/stupidtypo7.txt<br />
./stupidtypo/stpuidtypo8.txt -&gt; ./stupidtypo/stupidtypo8.txt<br />
./stupidtypo/stpuidtypo9.txt -&gt; ./stupidtypo/stupidtypo9.txt<br />
</code></div>
<div>Enjoy!!! and here&#8217;s the <a href="http://nedos.net/ruby/batchrename.rb">file for download</a></div>
]]></content:encoded>
			<wfw:commentRss>http://nedos.net/2009/02/20/ruby-batch-rename-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hackintosh Bonjour woes (avahi-daemon)</title>
		<link>http://nedos.net/2009/02/09/hackintosh-bonjour-woes-avahi-daemon/</link>
		<comments>http://nedos.net/2009/02/09/hackintosh-bonjour-woes-avahi-daemon/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 11:06:22 +0000</pubDate>
		<dc:creator>Dmitry Nedospasov</dc:creator>
				<category><![CDATA[*nix]]></category>
		<category><![CDATA[Hackintosh]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://nedos.net/?p=90</guid>
		<description><![CDATA[After hours of searching, compiling avahi-daemon myself, crying and sleepless nights it turns out if you are running Mac OS on non-apple hardware, and you have a mainboard with a Realtek r1000 series card (i.e. my ga-ep45-ds4) you should definitely use the RealtekR1000 driver if you want bonjour!
Although the hardware is detected by default, somehting isn&#8217;t supported [...]]]></description>
			<content:encoded><![CDATA[<p>After hours of searching, compiling avahi-daemon myself, crying and sleepless nights it turns out if you are running Mac OS on non-apple hardware, and you have a mainboard with a Realtek r1000 series card (i.e. my <a href="http://www.gigabyte.com.tw/Products/Motherboard/Products_Overview.aspx?ProductID=2840">ga-ep45-ds4</a>) you should definitely use the <a href="http://sourceforge.net/projects/realtekr1000/">RealtekR1000</a> driver if you want bonjour!</p>
<p>Although the hardware is detected by default, somehting isn&#8217;t supported and causes the broadcasts from avahi and Mac OS to be dropped. You will need XCode to build the sources, or look for pre-compiled ones on the net. More on my hackintosh later.</p>
]]></content:encoded>
			<wfw:commentRss>http://nedos.net/2009/02/09/hackintosh-bonjour-woes-avahi-daemon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mosaic Project</title>
		<link>http://nedos.net/2009/02/06/mosaic-project/</link>
		<comments>http://nedos.net/2009/02/06/mosaic-project/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 13:37:36 +0000</pubDate>
		<dc:creator>Dmitry Nedospasov</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://nedos.net/?p=88</guid>
		<description><![CDATA[Hello everyone, and happy new year  
Haven&#8217;t written in a really long time. Anyway, We recently did a project that generates Mosaics in C++. You can check out the results here. And a full write up should be up pretty soon with some detailed explanations and links to paper&#8217;s that will get you started [...]]]></description>
			<content:encoded><![CDATA[<p>Hello everyone, and happy new year <img src='http://nedos.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Haven&#8217;t written in a really long time. Anyway, We recently did a project that generates Mosaics in C++. You can check out the results <a title="Results" href="http://nedos.net/results">here</a>. And a full write up should be up pretty soon with some detailed explanations and links to paper&#8217;s that will get you started on a similar project.</p>
]]></content:encoded>
			<wfw:commentRss>http://nedos.net/2009/02/06/mosaic-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>10.5.3 9D11 Change Log found on PasteBin</title>
		<link>http://nedos.net/2008/04/01/1053-9d11-change-log-found-on-pastebin/</link>
		<comments>http://nedos.net/2008/04/01/1053-9d11-change-log-found-on-pastebin/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 19:43:01 +0000</pubDate>
		<dc:creator>Dmitry Nedospasov</dc:creator>
				<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://nedos.net/blog/?p=59</guid>
		<description><![CDATA[Well there it is&#8230; take it or leave it   I found it interesting. Keeping my fingers crossed for &#8220;unsupported&#8221; TimeMachine Backups.
http://pastebin.ca/966414
]]></description>
			<content:encoded><![CDATA[<p>Well there it is&#8230; take it or leave it <img src='http://nedos.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I found it interesting. Keeping my fingers crossed for &#8220;unsupported&#8221; TimeMachine Backups.</p>
<p><strong><a href="http://pastebin.ca/966414">http://pastebin.ca/966414</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://nedos.net/2008/04/01/1053-9d11-change-log-found-on-pastebin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Restore from an unsupported Time Machine network volume from the Leopard DVD</title>
		<link>http://nedos.net/2008/03/29/restore-from-an-unsupported-time-machine-backup-with-the-leopard-dvd/</link>
		<comments>http://nedos.net/2008/03/29/restore-from-an-unsupported-time-machine-backup-with-the-leopard-dvd/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 00:05:15 +0000</pubDate>
		<dc:creator>Dmitry Nedospasov</dc:creator>
				<category><![CDATA[*nix]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[NFS]]></category>

		<guid isPermaLink="false">http://nedos.net/blog/?p=49</guid>
		<description><![CDATA[So, I&#8217;ve been biting my nails the past week, that was ever since i decided that i want a bigger hard drive. And finally i can stop now, because i got my notebook back and i got time machine to do a &#8220;full&#8221; system restore, from an unsupported volume! I&#8217;m so relieved&#8230; and this means, [...]]]></description>
			<content:encoded><![CDATA[<p>So, I&#8217;ve been biting my nails the past week, that was ever since i decided that i want a bigger hard drive. And finally i can stop now, because i got my notebook back and i got time machine to do a &#8220;full&#8221; system restore, from an unsupported volume! I&#8217;m so relieved&#8230; and this means, that all of you that have NAS and File servers need no longer cry or worry, let me be yet another person to confirm that it can be done. And let me be the first to show you&#8230; how <img src='http://nedos.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>My configuration</h3>
<p>Just in case you were wondering what configuration i used, and continue to use for that matter <img src='http://nedos.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  Here it is:</p>
<ul>
<li>Debian Etch</li>
<li>Self-compiled netatalk (for Leopard compatibility) <a href="http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/">here&#8217;s a good howto.</a></li>
<li>330GB Volume on Raid5 formatted ext3</li>
</ul>
<p>So, if you have the first two you&#8217;re in business, but even if you don&#8217;t use netatalk. All you have to do is mount everything as described in &#8220;Mounting&#8221;.</p>
<h3>Setting up the Harddrive</h3>
<p>Now first things first, boot from your cd. To do that just press and hold the c-key immediately after powering on your computer. You should eventually be greeted by a language selection etc. After all of this you will be welcomed by the installer. We don&#8217;t need it at all. At the top you will see &#8220;Utilities&#8221;, where you will find among others Disk Utility, Terminal and Restore from a Time Machine Backup.You will probably want to start off, especially if its a new harddrive by checking out Disk Utility and creating  any volumes you want to install your system. After you have them configured your pretty much ready to go.</p>
<h3>Network and Jumbo Frames</h3>
<p>So now you should connect make sure you are connect to your network. You can open up disk utility to check connectivity. If you need anything special, like setting up specific network settings, these can be done in terminal. I for example like to have jumbo frames, since all my gigabit devices support it. Open up Terminal from the utilities menu, and type.<code>ifconfig en0 mtu 9000</code>and you should be set.</p>
<h3>Mounting the Volumes</h3>
<p>Let me reitterate that I have not yet tested anything other than netatalk (afp), but this should for any network file sharing protocol. All you have to do is mount your Time Machine volume under /Volumes. The syntax for mounting an afp share is<code>mount -t afp afp://username:password@hostname/ShareName<br />
/Volumes/ShareMount</code>Important here is to remember that the ShareName is a case-sensitive string. So make sure you type \ before a  space, and to check for proper capitalization. Otherwise you get some mount errors, which occur because a volume wasn&#8217;t found with that name, since the actual name doesn&#8217;t match the one you typed. ShareMount is any string you want, it doesn&#8217;t matter what you call it. Same goes for spaces here. If you mount your afp volume just /Volumes (i.e. without ShareMount) you might see multiple TMBackups, as is the case with the images bellow. Still works, just shocking to see 2 of the same thing. Thats basically it, you&#8217;re almost done&#8230;</p>
<h3>Restoring&#8230;</h3>
<p><a style="text-decoration: none; border: initial none initial;" href="http://nedos.net/wordpress/wp-content/uploads/2008/03/dsc01687.JPG"><img title="Select a Backup Source" src="http://nedos.net/wordpress/wp-content/uploads/2008/03/dsc01687thumb.JPG" alt="Select a Backup Source" width="200" align="right" /></a><a style="text-decoration: none; border: initial none initial;" href="http://nedos.net/wordpress/wp-content/uploads/2008/03/dsc01689.JPG"><img title="Select a Backup" src="http://nedos.net/wordpress/wp-content/uploads/2008/03/dsc01689thumb.JPG" alt="Select a Backup" width="200" align="right" /></a><a style="text-decoration: none; border: initial none initial;" href="http://nedos.net/wordpress/wp-content/uploads/2008/03/dsc01691.JPG"><img title="Restoring..." src="http://nedos.net/wordpress/wp-content/uploads/2008/03/dsc01691thumb.JPG" alt="Restoring..." width="200" align="right" /></a>Before you close Terminal, make sure the share actually mounted properly, you can simply ls /Volumes and see if your mount is there. If you didn&#8217;t mount it at /Volumes/ShareMount your /Volumes folder might be litered with the contents of your afp volume, this shouldn&#8217;t cause any problems, just doesn&#8217;t look neat at first site. If everything seems to be there, then select &#8220;Restore from a Time Machine Backup&#8221; from Utilities. Click through the menu and you will come to a screen called &#8220;Select a Backup Source&#8221;, with your shares appearing properly and being recognized. Don&#8217;t ask me why there are two, probably because MacOS in general uses a lot of symlinks&#8230; Anyway, important thing is that it works. Select the first volume, and after selecting the you will come to a screen called &#8220;Select a Backup&#8221;, where you get to chose which backup you wish to use. Afterwards, the system will calculate if there is enough space and will afterwards let you restore. This will now take some time and it went up for me after about 25mins, so don&#8217;t hesitate to let it sit there for 2-3 hours. Afterwards, you will just need to reboot, and you&#8217;ll be back where you left off.</p>
<h3>Hey, I&#8217;ve seen this before!</h3>
<p>One thing some will notice, is that things like Mail and Itunes, will need to reconfigure themselves, i.e. reimport all your emails. Having said that, I&#8217;m still blown away by how well this went over, even if this is &#8220;unsupported&#8221;. Oh and for those of you wondering how to backup to an unsupported volume in the first place, well its simple. All you have to do is:<code>defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1</code>Hope this helps some people, feel free to leave a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://nedos.net/2008/03/29/restore-from-an-unsupported-time-machine-backup-with-the-leopard-dvd/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Moved</title>
		<link>http://nedos.net/2008/03/20/moving/</link>
		<comments>http://nedos.net/2008/03/20/moving/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 18:16:34 +0000</pubDate>
		<dc:creator>Dmitry Nedospasov</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[website]]></category>
		<category><![CDATA[Moving]]></category>

		<guid isPermaLink="false">http://nedos.net/blog/?p=4</guid>
		<description><![CDATA[Well&#8230; it was some cloudy sad weather today, so i did what everyone else would do on such a day, namely moved my blog! This blog will stay up for a while, but will eventually dissapear (when my contract for the hosting runs out) so from now on you can check it out at http://nedos.net/blog.But [...]]]></description>
			<content:encoded><![CDATA[<p>Well&#8230; it was some cloudy sad weather today, so i did what everyone else would do on such a day, namely moved my blog! This blog will stay up for a while, but will eventually dissapear (when my contract for the hosting runs out) so from now on you can check it out at <a href="http://nedos.net/blog">http://nedos.net/blog</a>.But you&#8217;re here already so I guess you knew all that! Anyway enjoy!Oh, and update your rss links <img src='http://nedos.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://nedos.net/2008/03/20/moving/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NFS in Mac OS 10.5 Leopard</title>
		<link>http://nedos.net/2007/11/10/nfs-in-mac-os-105-leopard/</link>
		<comments>http://nedos.net/2007/11/10/nfs-in-mac-os-105-leopard/#comments</comments>
		<pubDate>Sat, 10 Nov 2007 20:55:53 +0000</pubDate>
		<dc:creator>Dmitry Nedospasov</dc:creator>
				<category><![CDATA[*nix]]></category>
		<category><![CDATA[Mac OS]]></category>

		<guid isPermaLink="false">http://nedos.net/blog/?p=46</guid>
		<description><![CDATA[Okay Okay, so I haven&#8217;t posted in while. Well, now Its decided. In this world, one which lacks Leopard howtos, I&#8217;ll do my best to write some posts that will in the end save you the time you would spend searching google.  
NFS and OS X
Anyway, some of us have had Leopard for a [...]]]></description>
			<content:encoded><![CDATA[<p>Okay Okay, so I haven&#8217;t posted in while. Well, now Its decided. In this world, one which lacks Leopard howtos, I&#8217;ll do my best to write some posts that will in the end save you the time you would spend searching google. <img src='http://nedos.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>NFS and OS X</h3>
<p>Anyway, some of us have had Leopard for a couple of weeks, and i recommend it for anyone who has a fairly new mac, by which i mean that the only consideration should be if you have enough performance to get everything out of leopard. Leopard has a lot of new &#8220;features&#8221;, one of which I&#8217;ll be explaing today.</p>
<p>NFS isn&#8217;t something new, and its not even something new for Mac OS. The client to mount NFS is included on almost every *nix, and doesn&#8217;t require any additional installation (usually). It also has better performance than Samba (thats what windows uses to share files), and has a fairly extensive list of configuration options. Of course, nfs isn&#8217;t perfect for everything, but if your computers run *nix (aka BSD/Unix/Mac/Linux), then NFS might be the easiest file sharing protocol to configure. After all, its basically already there, so you save yourself the install.</p>
<p>I&#8217;m going to assume you have NFS configured on the server, this is the computer hosting the files. If not, well its actually pretty simple, and NFS has probably the best howtos out there. You can <a href="http://nfs.sourceforge.net/nfs-howto/">find it here</a>. Anyway back to the client side, running OS X. So in 10.4, mounting NFS was kind of, well a pain. Mac OS connects to an &#8220;insecure&#8221; port by default. In other words it doesn&#8217;t send a request to the server for a port. This means if you run a firewall, you can&#8217;t connect via finder, because Mac OS will attempt to connect to a port that will be blocked, since its not in the firewall rules. Not only that, you have to configure your your shares to be &#8220;insecure&#8221; otherwise <span style="font-style: italic;">/var/log/messages</span> will get something along the lines of:</p>
<p><code>russo@marx:~$ cat /var/log/messages | grep nfsd<br />
Nov  8 16:56:15 marx kernel: nfsd: request from insecure port (192.168.0.4:49204)!</code></p>
<h3>Directory Utility</h3>
<p>There was a solution in 10.4, and it was fairly complicated and involved setting everything up with NetInfo Manager. This procedure was quite tedious, as you can see in <a href="http://i1.dk/misc/automount_nfs_volumes_on_mac_osx/">this howto</a>. But we&#8217;re not in 10.4 anymore (thank god!) And guess what&#8230; NetInfo is gone! And replaced by something, much more user friendly. The new replacement is called, Directory Utility. And can be found in your Utilities folder, imagine that! Fire it up, lets take a look!</p>
<p><img src="http://nedos.net/wordpress/wp-content/uploads/2008/04/dirutil.png" alt="" width="540" /></p>
<p>So at first site, there probably won&#8217;t be much there, especially on a home network. But, this doesn&#8217;t matter we&#8217;re not configuring Directory Services, we&#8217;re here for the NFS mounts. Just click &#8220;Show Advanced Settings&#8221; and you&#8217;ll see &#8220;Mounts&#8221; appear up top. Click that. Next you should see something like this</p>
<p><img src="http://nedos.net/wordpress/wp-content/uploads/2008/04/dirutiladv.png" alt="" width="540" /></p>
<p>Click the lock in the bottom left corner, to allow you to add/edit mounts. Enter the username and password of an Administrator on the computer (Chuck Norris administers mine). Now you should be able to click the + to add a mount. By the way, with Directory Utility you don&#8217;t have to reboot to see changes. You just click that apply in the corner. How sweet is that?</p>
<p>The syntax here is a bit different than mount in CLI, however the syntax still contains that which made many new users make a mistake. <img src='http://nedos.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  The syntax is</p>
<p><code>nfs://&lt;hostname or ip&gt;/&lt;full path to directory&gt;</code></p>
<p>Remember, /full/path/to/dir is the full path on the server!</p>
<p><img src="http://nedos.net/wordpress/wp-content/uploads/2008/04/nfsadd.png" alt="" /></p>
<p>Also enter, the directory where you want this share to be mounted. Its probably best to keep everything under either /Volumes or /Network. This way all users can easily access to the shares. You can always add aliases to your home directory, or wherever you want these mounts to actually appear. Now if you, just want to automount &#8220;insecure&#8221; mounts, than you&#8217;re basically done at this point. However we want to add &#8220;secure&#8221; mounts. This means we need to specify the &#8220;Privelaged&#8221; flag to the mount. This will cause it to use a port designated by the server. Click the little triangle next to &#8220;Advanced Mount Parameters&#8221; And you&#8217;ll see something like this:</p>
<p><img src="http://nedos.net/wordpress/wp-content/uploads/2008/04/nfsaddadv.png" alt="" /></p>
<p>all we have to do is add, &#8220;-P&#8221;. This makes the mount use a privelaged port. Now click &#8220;Verify&#8221;. At this point, its good to mention that if Directory Utility only checks if the server that you entered is running nfs and not if the mount is actually functional. Now click &#8220;Apply&#8221;</p>
<h3>Nothing Happend&#8230;</h3>
<p>Well it did, but you might not be able to see it. At the very least the mount point has been created, and you can check this by opening finder and going to either /Volumes or /Network (<em>EDIT: </em>or wherever you mounted you shaere). To get there you&#8217;ll have to type command (apple) + shift + G, and then type in where you want to go. Okay, so now you should see it there, BUT you probably won&#8217;t be able to write to even if you didn&#8217;t mount it read-only. Why is that, you ask? Well you don&#8217;t have permissions, silly! And even if you your user does have permissions to write, even if your user exists on both machines, he probably won&#8217;t have the same gid/uid. How can you check? Just use the id command:</p>
<p><code>lenin:~ russo$ id<br />
uid=501(russo) gid=20(staff)</code></p>
<p>Just as a side note Mac OS begins with 500, whereas most linux distros begin with 1000. So now you can either change the gid/uid of one of the machines so that they do match, or run &#8220;chmod 777&#8243; the directory on the server&#8230; that should be it. You should be able to write now!</p>
<p><em>EDIT: </em>There are also ways to map IPs, hostnames and authenticated users to users on the machine. Maping ips and hostnames is fairly easy, you simply add anonuid=youruid, anongid=yourgid to the options in the /etc/exports file. (Thanks <span class="comment-footer"><strong><a href="../../2007/11/10/nfs-in-mac-os-105-leopard/" target="_blank">Paolo</a>)</strong> </span></p>
<h3>How do i get the share in my Finder Sidebar?</h3>
<p>Simple! Just click the folder and drag it while holding apple + option. You can place it under &#8220;Places&#8221; in this manner. Even if you&#8217;re not an admin user.</p>
<p><em>EDIT:</em> This wasn&#8217;t clear enough for some. You <strong>cannot</strong> create aliases for the actual mounts, however you can create a folder enclosing the mounts and create an alias for that. I.e /Volumes/Hostname and put all the mounts in /Volumes/Hostname. I hope its a little bit easier to understand now&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://nedos.net/2007/11/10/nfs-in-mac-os-105-leopard/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>2 good Shoutcast streams</title>
		<link>http://nedos.net/2007/06/17/2-good-shoutcast-streams/</link>
		<comments>http://nedos.net/2007/06/17/2-good-shoutcast-streams/#comments</comments>
		<pubDate>Sun, 17 Jun 2007 07:26:54 +0000</pubDate>
		<dc:creator>Dmitry Nedospasov</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Vinyl]]></category>

		<guid isPermaLink="false">http://nedos.net/blog/?p=45</guid>
		<description><![CDATA[Although there are thousands of shoutcast stations some of the cooler ones are the ones with bigger names. 2 ones that I like because they feature some really cool deep house and tech house in the evenings are 2 Ibiza radio stations. Ibiza Global Radio and Ibiza Sonica. Anyway its a good answer to all [...]]]></description>
			<content:encoded><![CDATA[<p>Although there are thousands of shoutcast stations some of the cooler ones are the ones with bigger names. 2 ones that I like because they feature some really cool deep house and tech house in the evenings are 2 Ibiza radio stations. <a href="http://www.ibizaglobalradio.com/">Ibiza Global Radio</a> and <a href="http://www.ibizasonica.com/">Ibiza Sonica</a>. Anyway its a good answer to all the people who say theres no good music out there for free. BTW, both sites have some mixes up for download.</p>
<p>Here are the links to the .pls files, which you can open with winamp or iTunes among anothers, to tune in to the stream.</p>
<p><a href="http://nedos.net/blog/wp-content/uploads/2008/03/ibizaglobal.pls" title="Ibiza Global Radio">Ibiza Global Radio</a>.</p>
<p><a href="http://nedos.net/blog/wp-content/uploads/2008/03/ibizasonica.pls" title="Ibiza Sonica">Ibiza Sonica</a>.</p>
<p style="text-align: right; font-size: 8px">Blogged with <a href="http://www.flock.com/blogged-with-flock" title="Flock" target="_new">Floc</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nedos.net/2007/06/17/2-good-shoutcast-streams/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://nedos.net/blog/wp-content/uploads/2008/03/ibizaglobal.pls" length="68" type="audio/x-scpls" />
<enclosure url="http://nedos.net/blog/wp-content/uploads/2008/03/ibizasonica.pls" length="136" type="audio/x-scpls" />
		</item>
	</channel>
</rss>
