<?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>Nick&#039;s Blog</title>
	<atom:link href="http://blog.lifebloodnetworks.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.lifebloodnetworks.com</link>
	<description>Personal projects, ideas, and the occasional comments on life</description>
	<lastBuildDate>Thu, 29 Jul 2010 19:14:14 +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>Microsoft Visual Studio C++ 2010</title>
		<link>http://blog.lifebloodnetworks.com/?p=739&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=microsoft-visual-studio-c-2010</link>
		<comments>http://blog.lifebloodnetworks.com/?p=739#comments</comments>
		<pubDate>Tue, 20 Jul 2010 19:59:03 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Problems]]></category>
		<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[Software Deveolopment]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=739</guid>
		<description><![CDATA[I just built myself a new Windows VM. After I spent the next ~six hours patching  and rebooting several thousand times I went to install Microsoft Visual C++ Express. I had not yet had a chance to play with it before today but 2010 has been released into the wild. So I download it ]]></description>
			<content:encoded><![CDATA[<p>I just built myself a new Windows <a href="http://www.vmware.com/" target="_blank">VM</a>. After I spent the next ~six hours patching  and rebooting several thousand times I went to install <a href="http://msdn.microsoft.com/en-us/visualc/" target="_blank">Microsoft Visual C++ Express</a>. I had not yet had a chance to play with it before today but 2010 has been released into the wild. So I download it and start the installer. To my absolute surprise the bare-bones install is 2.4GBs. Two, point, four gigabytes. <strong>Two, point, four gigabytes.</strong> I was floored.</p>
<p>I <a href="?p=716">have</a> <a href="?p=646">not</a> <a href="?p=615">been</a> <a href="?p=533">quiet</a> about my great exodus not so much towards Linux but away from Windows. I used to get phone calls every week from family and friends about how their computers were slow, something stopped working out of the blue, or whatever. I have since moved most of them to 100% free software built by <a href="http://www.linux.org/" target="_blank">the community</a> and have never hear of any problems since. As a matter of fact my father (who requires Windows-based software for work that mandated he stay with Windows) uses my mother&#8217;s Ubuntu-based laptop whenever possible because he is absolutely sick of the headaches. This is a man who does not know a mouse from a trackball and given his inexperience even he is sick of the God-damned horror show that is Microsoft Windows.</p>
<p>Any way, back to the point before I wrap up my short rant. I will now move all of my software development over to other operating systems and <a href="http://en.wikipedia.org/wiki/Cross_compile" target="_blank">cross-compile</a> from now on.</p>
<p>Hey, Microsoft. I am disgusted by you. I have a choice and I no longer choose you.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=739</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatic Games</title>
		<link>http://blog.lifebloodnetworks.com/?p=728&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=automatic-games</link>
		<comments>http://blog.lifebloodnetworks.com/?p=728#comments</comments>
		<pubDate>Fri, 09 Jul 2010 13:08:21 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[Software Deveolopment]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=728</guid>
		<description><![CDATA[I have always loved games that masterba&#8230; er, play themselves out. In such games the player sets the initial conditions&#8211; perhaps even writes a little code or designs something&#8211; and then lets it all hit the fan.
As of late I have been staring at Gratuitous Space Battles. In this one you design a small fleet ]]></description>
			<content:encoded><![CDATA[<p>I have always loved games that masterba&#8230; er, play themselves out. In such games the player sets the initial conditions&#8211; perhaps even writes a little code or designs something&#8211; and then lets it all hit the fan.</p>
<p>As of late I have been staring at <a href="http://www.positech.co.uk/gratuitousspacebattles/" target="_blank">Gratuitous Space Battles</a>. In this one you design a small fleet of space ships, complete with hulls, engines, weapons, shields, and the like, and then set them against waves of enemies. The beauty of the game is no setup with work equally well against every enemy (at least once you are past the first few levels, that is).</p>
<p>This has re-sparked interest in my idea for something I am currently calling <em>Evolution Battle</em> (yes, yes, it is a dumb name). I envision it as <a href="http://en.wikipedia.org/wiki/SimLife" target="_blank">SimLife</a> mixed with something similar to Gratuitous Space Battles. Players wold create the &#8220;life&#8221; with its basic attributes and then stick them in with other &#8220;life&#8221; to compete for food and the like. I think it would be a great project for me since it would involves a few technical challenges I am not sure I have encountered before.</p>
<p>Just an honorable mention of a few of my other favorites: <a href="http://www.viva-media.com/?title=cm" target="_blank">Crazy Machines</a> (a near-clone of <a href="http://en.wikipedia.org/wiki/The_Incredible_Machine" target="_blank">The Incredible Machine</a>), the classic <a href="http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life" target="_blank">Conway&#8217;s Game of Life</a>, <a href="http://robocode.sourceforge.net/" target="_blank">Robocode</a>, <a href="http://www.ninjakiwi.com/Games/Tower-Defense/Bloons-Tower-Defense-3.html" target="_blank">Bloons Tower Defense 3</a>, and <a href="http://en.wikipedia.org/wiki/Lemmings_%28video_game%29" target="_blank">Lemmings</a> (sort of).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=728</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Force an fsck Check</title>
		<link>http://blog.lifebloodnetworks.com/?p=716&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=force-an-fsck-check</link>
		<comments>http://blog.lifebloodnetworks.com/?p=716#comments</comments>
		<pubDate>Thu, 01 Jul 2010 14:11:11 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=716</guid>
		<description><![CDATA[In order to force an fsck check on reboot simply stick a file in the root of the filesystem you wish checked named forcefsck and reboot. You can use the line touch /forcefsck to create it. If you have the filesystem mounted under another path edit the line accordingly. fsck will automatically remove this file ]]></description>
			<content:encoded><![CDATA[<p>In order to force an <code>fsck</code> check on reboot simply stick a file in the root of the filesystem you wish checked named <em>forcefsck</em> and reboot. You can use the line <code>touch /forcefsck</code> to create it. If you have the filesystem mounted under another path edit the line accordingly. <em>fsck</em> will automatically remove this file when it is done with it.</p>
<p>If you wish to check a filesystem you can not mount for whatever reason boot into a live-CD (such as <a href="http://www.ubuntu.com/" target="_blank">Ubuntu</a>) and run <code>fsck /dev/sdXY</code> where X and Y are your device and partition. Assuming the issue is not with your partition table you can use <code>fdisk -l /dev/sdX</code> to help figure out which partition is which.</p>
<p>These commands may require root privileges depending on your distribution.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=716</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache 2.2 with SSL on Windows</title>
		<link>http://blog.lifebloodnetworks.com/?p=677&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=apache2-2-with-ssl-on-windows</link>
		<comments>http://blog.lifebloodnetworks.com/?p=677#comments</comments>
		<pubDate>Fri, 25 Jun 2010 14:21:38 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=677</guid>
		<description><![CDATA[There are a few services I run that I need to access over the web that I do not want anyone watching (phpMyAdmin, for example). The simple solution is to encrypt this traffic with SSL certificates. Here is how I did it on Windows with Apache 2.2:

Install the latest Apache 2.2 with OpenSSL: http://httpd.apache.org/download.cgi.
Open the ]]></description>
			<content:encoded><![CDATA[<p>There are a few services I run that I need to access over the web that I do not want anyone watching (<a href="http://www.phpmyadmin.net/" target="_blank">phpMyAdmin</a>, for example). The simple solution is to encrypt this traffic with SSL certificates. Here is how I did it on Windows with <a href="http://httpd.apache.org/" target="_blank">Apache 2.2</a>:</p>
<ul>
<li>Install the latest Apache 2.2 with OpenSSL: <a href="http://httpd.apache.org/download.cgi" target="_blank">http://httpd.apache.org/download.cgi</a>.</li>
<li>Open the <em>Command Prompt</em> and browse to <em>[apache 2.2 path]/bin</em>.</li>
<li>Enter <code>openssl req -config ../conf/openssl.cnf -new -out foo.csr -keyout foo.pem</code>. Fill out this information the best you can but you can leave most of it blank. The most notable exceptions are the <em>PEM Pass Phrase</em> fields and the <em>Common Name</em> field (which should be the domain name you will use this certificate on). It is best that you leave the <em>Challenge Password</em> at the end blank.</li>
<li>Enter <code>openssl rsa -in foo.pem -out foo.key</code>. You will be asked to reenter the password you entered in the last step.</li>
<li>Enter <code>openssl x509 -in foo.csr -out foo.crt -req -signkey foo.key -days 3650</code>. You can replace 3560 with however long you want to certificate to be valid for.</li>
<li>You will now wind up with four files: <em>foo.crt</em>, <em>foo.csr</em>, <em>foo.key</em>, and <em>foo.pem</em>. At this point you really only need <em>foo.crt</em> and <em>foo.key</em> and may delete the other two (unless you want to sign more certificates later on).</li>
<li>Move your two remaining files somewhere safe (not any place where the web server will be able to serve them to clients).</li>
<li>Open <em>[apache 2.2 path]/conf/httpd.conf</em> in your favorite text editor. Uncomment out the line <code>LoadModule ssl_module modules/mod_ssl.so</code>.</li>
<li>Open <em>[apache 2.2 path]/conf/extra/httpd-ssl.conf</em>. Uncomment out the line <code>Listen 443</code>.</li>
<li>In <em>Windows Explorer</em> browse to <em>[apache 2.2 path]/conf</em> and open up the configuration for the site you want to SSL enable. Make sure you are setup to listen on port 443 if you are running a virtual host. Add the lines <code>SSLEngine on</code>, <code>SSLCertificateFile "<em>[foo.crt path]</em>"</code>, and <code>SSLCertificateKeyFile "<em>[foo.key path]</em>"</code>.</li>
<li>Restart Apache 2.2: <code>net stop apache2.2</code> and <code>net start apache2.2</code></li>
</ul>
<p>Some notes:</p>
<ul>
<li>Certificates can only be used for whole domains or virtual hosts as opposed to a single directory. However with some clever allows, denies, and redirects in your web root you can do just about anything.</li>
<li>Only one SSL connection per IP on the same server is allowed. This is by design within SSL.</li>
<li>These certificates are self-signed. That means that anyone who views your new secure site will most likely be greeted with a warning they must accept before continuing. You setup the certificates yourself so you know there is nothing fishy going on but they might not know that. If you want to avoid this you will have to put out the cash to <a href="http://www.verisign.com/" target="_blank">Verisign</a> or someone else who can offer the same service.</li>
<li>Check out the <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslciphersuite" target="_blank">SSLCipherSuite</a> and <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcarevocationfile" target="_blank">SSLCARevocationFile</a> directives (which you will notice are missing in my instructions) to further lock down your site.</li>
<li>Remember that if you ever change your certificate in any way the client may need to remove their old certificate before they will be able to view the site again.</li>
<li>I generally replace foo with the domain name.</li>
<li>Since this was always meant as a quick-and-dirty howto you can find <a href="http://httpd.apache.org/docs/2.2/ssl/" target="_blank">more information at the Apache site</a>.</li>
<li>I am running Windows XP SP3, Apache 2.2.14, and the included OpenSSL 0.9.8k.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=677</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manually Empty Linux Swap and Control Linux Swap Usage</title>
		<link>http://blog.lifebloodnetworks.com/?p=646&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=manually-empty-linux-swap</link>
		<comments>http://blog.lifebloodnetworks.com/?p=646#comments</comments>
		<pubDate>Thu, 10 Jun 2010 20:57:36 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=646</guid>
		<description><![CDATA[I have noticed that the Linux versions of VMware products love their swap usage. I do not know if this is a &#8220;fault&#8221; of Linux or the VMware software but it annoys and slows me down. After looking around for an elegant solution I just decided to take the brute force method to emptying my ]]></description>
			<content:encoded><![CDATA[<p>I have noticed that the Linux versions of <a href="http://www.vmware.com/" target="_blank">VMware</a> products love their swap usage. I do not know if this is a &#8220;fault&#8221; of Linux or the VMware software but it annoys and slows me down. After looking around for an elegant solution I just decided to take the brute force method to emptying my swap: running <code>swapoff -a &amp;&amp; swapon -a</code> as root (make sure you have enough free RAM to fit the contents of swap).</p>
<p>There is also the option of <em>swappiness</em> included with the 2.6.x kernel. Just edit <em>/etc/sysctl.conf</em> to include the line <code>vm.swappiness=0</code>. Either change the existing value or, if it does not exist, add it (changing this value will require a reboot). <code>vm.swappiness</code> can be between <code>0</code> and <code>100</code> (inclusive) where <code>0</code> will <em>try</em> to never swap anything and <code>100</code> will aggressively swap. If you would rather just change the value until next reboot use the line <code>sysctl vm.swappiness=<em>X</em></code>. You can view the current value with the command <code>cat /proc/sys/vm/swappiness</code>. <a href="http://www.ubuntu.com/" target="_blank">Ubuntu 10.04</a>, for example, has a default value of <code>60</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=646</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tether Motorola Droid with Windows 7</title>
		<link>http://blog.lifebloodnetworks.com/?p=630&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=tether-motorola-droid-with-windows-7</link>
		<comments>http://blog.lifebloodnetworks.com/?p=630#comments</comments>
		<pubDate>Wed, 09 Jun 2010 22:16:58 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=630</guid>
		<description><![CDATA[As a follow up to my Tether Motorola Droid with Ubuntu 9.10 and Ubuntu 10.04 article I have decided to post the steps for Windows 7.

Grab and install the latest Droid Drivers: http://www.motorola.com/Support/US-EN/Support-Homepage/Software_and_Drivers/USB-and-PC-Charging-Drivers/
Grab and install the latest OpenVPN: http://www.openvpn.net/index.php/open-source/downloads.html
Grab the latest Android SDK and extract it: http://developer.android.com/sdk/
Create a file called azilink.ovpn file and enter into ]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-255" title="Azilink" src="http://blog.lifebloodnetworks.com/wp-content/uploads/2010/01/azilink.png" alt="" width="48" height="48" />As a follow up to my <a href="http://blog.lifebloodnetworks.com/?p=238">Tether Motorola Droid with Ubuntu 9.10 and Ubuntu 10.04</a> article I have decided to post the steps for <a href="http://www.microsoft.com/windows7/" target="_blank">Windows 7</a>.</p>
<ul>
<li>Grab and install the latest Droid Drivers: <a href="http://www.motorola.com/Support/US-EN/Support-Homepage/Software_and_Drivers/USB-and-PC-Charging-Drivers/" target="_blank">http://www.motorola.com/Support/US-EN/Support-Homepage/Software_and_Drivers/USB-and-PC-Charging-Drivers/</a></li>
<li>Grab and install the latest OpenVPN: <a href="http://www.openvpn.net/index.php/open-source/downloads.html" target="_blank">http://www.openvpn.net/index.php/open-source/downloads.html</a></li>
<li>Grab the latest Android SDK and extract it: <a href="http://developer.android.com/sdk/" target="_blank">http://developer.android.com/sdk/</a></li>
<li>Create a file called <em>azilink.ovpn</em> file and enter into it:<br />
<blockquote><p><code>dev tun<br />
route-method exe<br />
remote 127.0.0.1 41927 tcp-client<br />
ifconfig 192.168.56.2 192.168.56.1<br />
route 0.0.0.0 128.0.0.0<br />
route 128.0.0.0 128.0.0.0<br />
socket-flags TCP_NODELAY<br />
ping 10<br />
dhcp-option DNS 192.168.56.1</code></p></blockquote>
</li>
<li>Create a file called <em>azilink.bat</em> and enter into it:<br />
<blockquote><p><code>"[<em>path to android sdk</em>]\tools\adb.exe" forward tcp:41927 tcp:41927<br />
openvpn "[<em>path to azilink.ovpn</em>]"</code></p></blockquote>
</li>
<li>Set your Droid to debugging mode: <em>Settings -&gt; Applications -&gt; Development -&gt; USB debugging</em></li>
<li>Grab and install the latest Azilink <em>.apk</em> file onto your Droid: <a href="http://azilink.googlecode.com/" target="_blank">http://azilink.googlecode.com/</a> (This can be done by pointing the Droid&#8217;s web browser directly to the download link or loading it onto the SD card. Either way you may need to go to <em>Settings -&gt; Applications -&gt; Unknown sources</em> to allow it to be installed.)</li>
<li>Start up <em>Azilink</em> on your Droid and select <em>Service active</em>.</li>
<li>Right-click <em>azilink.bat</em> and select <em>Run as Administrator</em>.</li>
</ul>
<p>If all these steps went well you should be able to access the Internet on your computer via Azilink&#8217;s tethering capabilities. Be sure to check out the About screen in the Azilink application on the Droid to see if any of that applies to you.</p>
<p>A few things worth mentioning:</p>
<ul>
<li>This method <strong>does not</strong> require your Droid to be rooted.</li>
<li>I am under the impression that these steps will also work for <a href="http://www.microsoft.com/windows/windows-vista/" target="_blank">Windows Vista</a> but I can not confirm that.</li>
<li>I am under the impression that these steps will also work for <a href="http://www.microsoft.com/windows/windows-xp/" target="_blank">Windows XP</a> with the <code>route-method exe</code> line removed from <em>azilink.ovpn</em> but I can not confirm that.</li>
<li>I am running Droid firmware 2.1, OpenVPN 2.1.1, Azilink 2.0.2, and MotoConnect 4.6.0.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=630</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intalling VMware Tools on Linux</title>
		<link>http://blog.lifebloodnetworks.com/?p=622&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=intalling-vmware-tools-on-linux</link>
		<comments>http://blog.lifebloodnetworks.com/?p=622#comments</comments>
		<pubDate>Fri, 21 May 2010 15:48:06 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=622</guid>
		<description><![CDATA[Installing VMware Tools on a Linux host is very simple. All you need to do is make sure the headers for your current kernel and GCC are installed. Here is an example of the commands you would run for Debian/Ubuntu:
sudo apt-get install linux-headers-generic gcc
sudo mount /dev/cdrom /media/cdrom
cp /media/cdrom/VMware*.tar.gz /tmp
sudo umount /media/cdrom
cd /tmp
tar xzvf VMware*.gz
cd vmware-tools-distrib/
sudo ]]></description>
			<content:encoded><![CDATA[<p>Installing VMware Tools on a Linux host is very simple. All you need to do is make sure the headers for your current kernel and GCC are installed. Here is an example of the commands you would run for Debian/Ubuntu:</p>
<blockquote><p>sudo apt-get install linux-headers-generic gcc<br />
sudo mount /dev/cdrom /media/cdrom<br />
cp /media/cdrom/VMware*.tar.gz /tmp<br />
sudo umount /media/cdrom<br />
cd /tmp<br />
tar xzvf VMware*.gz<br />
cd vmware-tools-distrib/<br />
sudo ./vmware-install.pl</p></blockquote>
<p>You should now notice your Linux VMs are more responsive and have a few more options.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=622</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Swap File</title>
		<link>http://blog.lifebloodnetworks.com/?p=615&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=linux-swap-file</link>
		<comments>http://blog.lifebloodnetworks.com/?p=615#comments</comments>
		<pubDate>Sun, 16 May 2010 23:01:33 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=615</guid>
		<description><![CDATA[For some unexplainable reason it annoyed me that most Linux distros use a swap partition instead of a swap file. Depending on your setup a swap file will be just as fast and will even allow you to suspend to disk. Here is how you do it.
Enter the following lines at the Terminal:
sudo dd if=/dev/zero ]]></description>
			<content:encoded><![CDATA[<p>For some unexplainable reason it annoyed me that most Linux distros use a swap partition instead of a swap file. Depending on your setup a swap file will be just as fast and will even allow you to suspend to disk. Here is how you do it.</p>
<p>Enter the following lines at the Terminal:</p>
<blockquote><p>sudo dd if=/dev/zero of=/swap bs=1M count=<em>X</em><br />
sudo chown root:root /swap<br />
sudo chmod 600 /swap<br />
sudo mkswap /swap<br />
sudo swapon /swap</p></blockquote>
<p>Replace &#8220;<em>X</em>&#8221; in the first line with how many megabytes you want your swap file to be (~1.5 times your amount of RAM is a good rough guess). Now add the line &#8220;<code>/swap none swap sw 0 0</code>&#8221; to your <em>/etc/fstab</em> file.</p>
<p>If you already have a swap partition you can safely remove the corresponding line from <em>/etc/fstab</em>, reboot, and then remove the swap partition completely with a tool like <a href="http://gparted.sourceforge.net/" target="_blank">GParted</a>.</p>
<p>If you get a error from <code>dd</code> indicating you do not have enough RAM you can use <code>sudo dd if=/dev/zero of=/swap bs=1G count=<em>X</em></code> instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=615</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;What Every Programmer Should Know About Floating-Point Arithmetic&#8221;</title>
		<link>http://blog.lifebloodnetworks.com/?p=609&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=what-every-programmer-should-know-about-floating-point-arithmetic</link>
		<comments>http://blog.lifebloodnetworks.com/?p=609#comments</comments>
		<pubDate>Tue, 04 May 2010 20:41:46 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Software Deveolopment]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=609</guid>
		<description><![CDATA[I just came across a very good Slashdot article that links to a bunch of information on floating-point numbers geared towards programmers.

What Every Computer Scientist Should Know About Floating-Point Arithmetic
More of a technical paper
The Floating-Point Guide
More of an every-mans guide

]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-610" title="Pi" src="http://blog.lifebloodnetworks.com/wp-content/uploads/2010/05/pi-300x288.png" alt="" width="180" height="173" />I just came across a very good <a href="http://slashdot.org/" target="_blank">Slashdot</a> <a href="http://developers.slashdot.org/story/10/05/02/1427214/" target="_blank">article</a> that links to a bunch of information on floating-point numbers geared towards programmers.</p>
<dl>
<dt><a href="http://docs.sun.com/source/806-3568/ncg_goldberg.html" target="_blank">What Every Computer Scientist Should Know About Floating-Point Arithmetic</a></dt>
<dd>More of a technical paper</dd>
<dt><a href="http://floating-point-gui.de/" target="_blank">The Floating-Point Guide</a></dt>
<dd>More of an every-mans guide</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=609</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Future of Shopping</title>
		<link>http://blog.lifebloodnetworks.com/?p=581&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=the-future-of-shopping</link>
		<comments>http://blog.lifebloodnetworks.com/?p=581#comments</comments>
		<pubDate>Mon, 19 Apr 2010 19:47:42 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=581</guid>
		<description><![CDATA[I am often amazed at what other people find amazing. For example, my mother recently sent me the below video entitled &#8220;The Future of Shopping.&#8221; In this video a women is at a clothing retailer and browsing a digitised catalogue of their wares. She is able to &#8220;turn the page&#8221; by waving an arm and ]]></description>
			<content:encoded><![CDATA[<p>I am often amazed at what other people find amazing. For example, my mother recently sent me the below video entitled &#8220;<em>The Future of Shopping</em>.&#8221; In this video a women is at a clothing retailer and browsing a digitised catalogue of their wares. She is able to &#8220;turn the page&#8221; by waving an arm and interact with on-screen buttons to select an item.</p>
<p>However cool such an interface may be&#8211; do not get me wrong, it is very, very cool&#8211; I fail to be as taken as the people around me. The reason behind this is probably the fact that I tend to view things as their individual parts rather than the subject as a whole. Take, for example, the <a href="http://www.google.com/sky/skymap/" target="_blank">Google Sky Map</a> application on my phone. This application allows you to point your phone in any direction and show you what stars, constellations, planets, ect one would see if the Earth was not in their way and in the absence of bright lights. All the required technologies have not only existed for a while but everyone is familiar with them in one form or another. Google Sky Map is just a clever application of nearly static images combined with a compass and GPS; They are old horses with new tricks. A neat application but hardly as amazing as everyone seems to think that it is.</p>
<p>Is everyones head that far in the sand? There seems to be a huge market for companies intentionally underestimating people&#8230;</p>
<p style="text-align: center;"><!-- YouTube Embed v1.2 | http://www.artiss.co.uk/youtube-embed -->
<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/jDi0FNcaock&amp;fs=1&amp;rel=0&amp;autoplay=0&amp;loop=0&amp;egm=0&amp;border=1&amp;color1=0x282828&amp;color2=0xFFFFFF&amp;hd=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;cc_load_policy=1" width="425" height="355">
<param name="movie" value="http://www.youtube.com/v/jDi0FNcaock&amp;fs=1&amp;rel=0&amp;autoplay=0&amp;loop=0&amp;egm=0&amp;border=1&amp;color1=0x282828&amp;color2=0xFFFFFF&amp;hd=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;cc_load_policy=1" />
<param name="allowFullScreen" value="true" />
</object>
<!-- End of YouTube Embed code -->
<br />
<em>The Future of Shopping</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=581</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8220;I made it to Jersey&#8221;</title>
		<link>http://blog.lifebloodnetworks.com/?p=574&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=i-made-it-to-jersey</link>
		<comments>http://blog.lifebloodnetworks.com/?p=574#comments</comments>
		<pubDate>Fri, 16 Apr 2010 20:18:02 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=574</guid>
		<description><![CDATA[
Spider-Man Knows
]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-577" title="Made it to Jersey" src="http://blog.lifebloodnetworks.com/wp-content/uploads/2010/04/made-it-to-jersey2.png" alt="" width="500" height="469" /></p>
<p style="text-align: center;"><em>Spider-Man Knows</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=574</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Design with No Images?</title>
		<link>http://blog.lifebloodnetworks.com/?p=568&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=web-design-with-no-images</link>
		<comments>http://blog.lifebloodnetworks.com/?p=568#comments</comments>
		<pubDate>Sat, 10 Apr 2010 17:01:58 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=568</guid>
		<description><![CDATA[I am working with a local business. After some back-and-forth it was decided that the web page has to go. In its place should be a new, simple, easy-to-use site.
While pondering this&#8211; and considering I have absolutely zero ability when it comes to these things&#8211; I decided to propose an image-less site. CSS can do ]]></description>
			<content:encoded><![CDATA[<p>I am working with a local business. After some back-and-forth it was decided that the web page has to go. In its place should be a new, simple, easy-to-use site.</p>
<p>While pondering this&#8211; and considering I have absolutely zero ability when it comes to these things&#8211; I decided to propose an image-less site. CSS can do some pretty neat things in a standardised way but not everything works in every browser. On the other hand, if done correctly, the desktop and mobile versions of the site can be one.</p>
<p>Can I pull this off and have something appealing to show these people?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=568</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developers of Facebook</title>
		<link>http://blog.lifebloodnetworks.com/?p=563&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=developers-of-facebook</link>
		<comments>http://blog.lifebloodnetworks.com/?p=563#comments</comments>
		<pubDate>Thu, 08 Apr 2010 16:34:20 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[Software Deveolopment]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=563</guid>
		<description><![CDATA[Facebook maintains a large community developer base. Some of these developers are responsible for the well-off Farmville and the like. If the user base is there so will there be developers with dollar signs in their eyes.
Anyone who likes can view the API for free and start writing code. This availability&#8211; plus the large user ]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-564" title="Facebook Developer" src="http://blog.lifebloodnetworks.com/wp-content/uploads/2010/04/Colt-Facebook-Developer-300x146.png" alt="" width="180" height="88" /><a href="http://www.facebook.com/" target="_blank">Facebook</a> maintains a large community developer base. Some of these developers are responsible for the well-off <a href="http://www.facebook.com/FarmVille" target="_blank">Farmville</a> and the like. If the user base is there so will there be developers with dollar signs in their eyes.</p>
<p>Anyone who likes can <a href="http://developers.facebook.com/" target="_blank">view the API</a> for free and start writing code. This availability&#8211; plus the large user base&#8211; is proving to be a fertile ground for mom &#8216;n pop-style, web-based applications. Perhaps this is <a href="http://developers.facebook.com/get_started.php" target="_blank">worth a look</a>?</p>
<p><strong>Update 2010.04.10</strong><br />
After spending days researching this I have come to the conclusion that there is virtually no documentation of substance. Even the Facebook-supplied examples do not function as promised. Although there are some great, complex applications out there I do not consider this worth my time right now. My hat (and my pitty) go off to the people who got a job working with these APIs. May your families find another way to eat.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=563</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bitch, Bitch, Bitch</title>
		<link>http://blog.lifebloodnetworks.com/?p=554&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=bitch-bitch-bitch</link>
		<comments>http://blog.lifebloodnetworks.com/?p=554#comments</comments>
		<pubDate>Mon, 05 Apr 2010 14:47:00 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Problems]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=554</guid>
		<description><![CDATA[I have bitched about it before and I will bitch about it again: I have no free time. This past week has been one non-stop head ache after another. I all but slept in the office all last week under very stressful conditions. I had to try to do everything I did not get to ]]></description>
			<content:encoded><![CDATA[<p>I have <a href="?p=263" target="_self">bitched about it before</a> and I will bitch about it again: <strong>I have no free time</strong>. This past week has been one non-stop head ache after another. I all but slept in the office all last week under very stressful conditions. I had to try to do everything I did not get to do over the work week during the weekend (which I failed at, thank you Easter).</p>
<p>That is all.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=554</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SmoothWall Express</title>
		<link>http://blog.lifebloodnetworks.com/?p=533&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=smoothwall-express-3-0-sp1</link>
		<comments>http://blog.lifebloodnetworks.com/?p=533#comments</comments>
		<pubDate>Wed, 24 Mar 2010 18:48:24 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=533</guid>
		<description><![CDATA[I have recently stumbled upon SmoothWall Express 3.0 SP1. I am getting down-right giddy thinking about all the neat things I can do at home with this thing.
SmoothWall Express is a stand-alone, open-source firewall project. It has a large, active community full of helpful people. Some of these helpful people create mods to extend the ]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-534" title="SmoothWall Express Logo" src="http://blog.lifebloodnetworks.com/wp-content/uploads/2010/03/smoothie.png" alt="" width="83" height="66" />I have recently stumbled upon <a href="http://www.smoothwall.org/" target="_blank">SmoothWall Express 3.0 SP1</a>. I am getting down-right giddy thinking about all the neat things I can do at home with this thing.</p>
<p>SmoothWall Express is a stand-alone, open-source firewall project. It has a <a href="http://community.smoothwall.org/" target="_blank">large, active community</a> full of helpful people. Some of these helpful people create mods to extend the functionality such as the ultra useful <a href="http://community.smoothwall.org/forum/viewtopic.php?f=56&amp;t=28244" target="_blank">Full Firewall Control</a> mod.</p>
<p>In my experiments I was able to create a very tiny box with two NICs, little RAM (256MB), a spare Pentium 4 I had laying around, and a <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820171353" target="_blank">2GB Compact Flash card</a> as the <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16812200158" target="_blank">local storage</a>. This poor excuse for a machine was able to stand up to some pretty heavy traffic&#8211; without ever passing .25 load, mind you&#8211; including a few test <a href="http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29" target="_blank">torrents</a> totaling over 1,000 connected peers.</p>
<p>My ultimate goal is the separation of all traffic according to use. I might have one public, outward-facing interface for the Internet connection and three inward-facing interfaces for the local traffic (private wired, private wireless, and an internal <a href="http://en.wikipedia.org/wiki/Demilitarized_zone_%28computing%29" target="_blank">DMZ</a>). I also plan to build a beefy <a href="http://www.vmware.com/products/esxi//" target="_blank">VMware ESXi</a> box so I can sandbox each of my services (vpn, web, SQL, e-mail, ect) and do nearly all of the networking within virtual hardware.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=533</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dungeons Keeper 2 on Ubuntu 9.10 (Karmic Koala) with Wine</title>
		<link>http://blog.lifebloodnetworks.com/?p=503&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=dungeons-keeper-2-on-linux-ubuntu-9-10-karmic-koala-with-wine-1-1-x</link>
		<comments>http://blog.lifebloodnetworks.com/?p=503#comments</comments>
		<pubDate>Tue, 23 Mar 2010 22:21:16 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=503</guid>
		<description><![CDATA[When Microsoft announced Windows 7 I went to my favorite retailer and pre-ordered my copy of Ultimate. Of course the more versions of Windows we get the less older games we can play on them.
Dungeon Keeper 2 was always one of my personal favorites. Seeing my lovely girl playing it on Windows Vista made me ]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-504" title="Dungeon Keeper 2" src="http://blog.lifebloodnetworks.com/wp-content/uploads/2010/03/dk1-300x240.jpg" alt="" width="180" height="144" />When <a href="http://www.microsoft.com/" target="_blank">Microsoft</a> announced <a href="http://www.microsoft.com/windows7/" target="_blank">Windows 7</a> I went to <a href="http://www.newegg.com/" target="_blank">my favorite retailer</a> and pre-ordered my copy of <a href="http://www.microsoft.com/windows/windows-7/compare/ultimate.aspx" target="_blank">Ultimate</a>. Of course the more versions of Windows we get the less older games we can play on them.</p>
<p><a href="http://en.wikipedia.org/wiki/Dungeon_Keeper_2" target="_blank">Dungeon Keeper 2</a> was always one of my personal favorites. Seeing my lovely girl playing it on Windows Vista made me want to play a game so I dug it out from a pile of old discs and installed it on Windows 7. It would not start. I tried compatibility modes, sacrificing a dog, and a third thing. It simply, positively would not start. So I thought &#8220;screw this, I am going to Linux.&#8221;</p>
<p>These are the steps I took to get <em>Dungeon Keeper 2</em> 1.7 working on Ubuntu 9.10 x64:</p>
<ul>
<li>Prepare Apt: In a terminal type <code>sudo add-apt-repository ppa:ubuntu-wine/ppa</code></li>
<li>Update Apt: In a terminal type <code>sudo apt-get update</code></li>
<li>Update Wine: In a terminal type <code>sudo apt-get upgrade</code><br />
(<em>Note that this will upgrade everything. You can use</em> System -&gt; Administration -&gt; Update Manager <em>to upgrade only the related Wine packages.</em>)</li>
<li>Fire up <em>regedit</em> and set the following keys: In a terminal type <code>wine regedit</code><br />
<blockquote><p>HKEY_CURRENT_USER -&gt; Software -&gt; Bullfrog Productions Ltd -&gt; Dungeon Keeper II -&gt; Configuration -&gt; Video -&gt; EngineID = 4<br />
HKEY_CURRENT_USER -&gt; Software -&gt; Bullfrog Productions Ltd &#8211; &gt;Dungeon Keeper II -&gt; Configuration -&gt; Video -&gt; ScreenHardware3D = 0<br />
HKEY_CURRENT_USER -&gt; Software -&gt; Wine -&gt; DirectInput -&gt; MouseWarpOverride = &#8220;disable&#8221;</p></blockquote>
<p>If any of these keys do not exist create them. (<code>MouseWarpOverride</code> <em>had to be created in my case and I set it as a string.</em>)</li>
<li>Run the game: In a terminal browse to the <em>Dungeon Keeper 2</em> directory and type <code>wine DKII.exe</code></li>
</ul>
<p>One might note that I never actually installed the game. I had it installed on Windows and I simply moved the files over to my EXT4 partition (running them off of my NTFS partition probably would have worked just as well). I also grabbed a no-CD crack so I would not need the disc (buy the game because it is damn well worth it). I have not yet gotten the mouse perfect but I am pretty happy with it right now. All the applications I had open at the time seemed to disappear but were still running. I do not know why this was and I currently have no idea where to look to fix it.</p>
<p>[<a href="http://appdb.winehq.org/objectManager.php?sClass=version&amp;iId=3696" target="_blank">Source</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=503</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RoboCode Tournament</title>
		<link>http://blog.lifebloodnetworks.com/?p=495&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=robocode-tournament</link>
		<comments>http://blog.lifebloodnetworks.com/?p=495#comments</comments>
		<pubDate>Fri, 19 Mar 2010 14:51:37 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[Software Deveolopment]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=495</guid>
		<description><![CDATA[I have become very interested in playing with RoboCode as of late. Wikipedia sums it up pretty nicley:
Competitors write software that controls a miniature tank that fights other identically-built (but differently programmed) tanks in a playing field. Robots can move, shoot at each other, scan for each other, and hit the walls (or other robots) ]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-497" title="RoboCode Logo" src="http://blog.lifebloodnetworks.com/wp-content/uploads/2010/03/robocode_logo_tanks-300x112.png" alt="" width="180" height="67" />I have become very interested in playing with <a href="http://robocode.sourceforge.net/" target="_blank">RoboCode</a> as of late. <a href="http://en.wikipedia.org/wiki/Robocode">Wikipedia</a> sums it up pretty nicley:</p>
<blockquote><p>Competitors write software that controls a miniature tank that fights other identically-built (but differently programmed) tanks in a playing field. Robots can move, shoot at each other, scan for each other, and hit the walls (or other robots) if they aren&#8217;t careful. Though the idea of this &#8220;game&#8221; may seem simple, the actual strategy needed to win is not. Good robots can have thousands of lines in their code dedicated to strategy. Some of the more successful robots use techniques such as statistical analysis or attempts at neural networks in their designs.</p></blockquote>
<p>I do go on with <a href="?p=146" target="_self">my rants about Java</a> however I have gone as far as proposing an in-house tournament between friends. I have even drawn up game types and rules for this tournament. This could prove to be a great introduction to programming for them and a lot of fun for everyone.</p>
<p>Also I get to crush their robots with great prejudice in robo-combat.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=495</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nick&#8217;s Choose Your Own Adventure</title>
		<link>http://blog.lifebloodnetworks.com/?p=484&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=nicks-choose-your-own-adventure</link>
		<comments>http://blog.lifebloodnetworks.com/?p=484#comments</comments>
		<pubDate>Tue, 16 Mar 2010 19:26:57 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=484</guid>
		<description><![CDATA[There has been a surprising amount of activity in my Choose Your Own Adventure game. The most popular page? The one where a robot &#8220;looks at you&#8230; [and] beeps in an obnoxious manner&#8230;&#8221;
This activity makes me want to reboot the project while keeping the already-created user data. The project was never finished and still lacks ]]></description>
			<content:encoded><![CDATA[<p>There has been a surprising amount of activity in my <a href="http://cyoa.lifebloodnetworks.com/" target="_blank">Choose Your Own Adventure</a> game. The most popular page? The one where a robot &#8220;<a href="http://cyoa.lifebloodnetworks.com/?page=15" target="_blank">looks at you&#8230; [and] beeps in an obnoxious manner</a>&#8230;&#8221;</p>
<p>This activity makes me want to reboot the project while keeping the already-created user data. The project was never finished and still lacks a decent user management system and proper linking facilities (<em>IE</em> linking to other, already created pages). Plus once it is finished I will feel comfortable releasing the code and whoever wants to will be able to host their own version.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=484</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 9.10 (Karmic Koala) Sound Not Working Issue</title>
		<link>http://blog.lifebloodnetworks.com/?p=459&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ubuntu-9-10-sound-issue</link>
		<comments>http://blog.lifebloodnetworks.com/?p=459#comments</comments>
		<pubDate>Thu, 04 Mar 2010 15:59:56 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Problems]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=459</guid>
		<description><![CDATA[I run Ubuntu 9.10 x64 using PulseAudio (the Ubuntu 9.10 default) on my primary computer for everything except gaming. About kernel 2.6.31-17 I noticed my sound stopped working. The volume controls still seemed to work but, alas, no audio. I tried everything I could think of or find online. As it turned out there was ]]></description>
			<content:encoded><![CDATA[<p>I run <a href="http://www.ubuntu.com/" target="_blank">Ubuntu</a> 9.10 x64 using <a href="http://www.pulseaudio.org/" target="_blank">PulseAudio</a> (the Ubuntu 9.10 default) on my primary computer for everything except gaming. About kernel <code>2.6.31-17</code> I noticed my sound stopped working. The volume controls still seemed to work but, alas, no audio. I tried everything I could think of or find online. As it turned out there was nothing wrong with PulseAudio. The problem was that my modem was grabbing the sound device before PulseAudio could (which also accounted for why every ~25th boot my sound would work fine).</p>
<p>Below are the simple steps I took to fix my issue.</p>
<blockquote><p><code>sudo fuser -v /dev/dsp* /dev/snd/* /dev/seq*<br />
sudo killall slmodemd<br />
sudo killall pulseaudio</code></p></blockquote>
<p><em>Note that <code>fuser</code> is only used to confirm the modem is the issue while <code>pulseaudio</code> will restart after killed, thus properly grabbing the sound device.</em></p>
<p>Since I not using my modem these steps worked for me. Obviously this would cause a problem for you if you were using your modem. If that is the case check out one of the <a href="https://wiki.ubuntu.com/DebuggingSoundProblems/KarmicCaveats#slmodemd" target="_blank">other proposed solutions</a> and see if one of those works for you.</p>
<p>[<a href="https://wiki.ubuntu.com/DebuggingSoundProblems/KarmicCaveats" target="_blank">Source</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=459</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One-Man Wrecking Ball</title>
		<link>http://blog.lifebloodnetworks.com/?p=450&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=one-man-wrecking-ball</link>
		<comments>http://blog.lifebloodnetworks.com/?p=450#comments</comments>
		<pubDate>Wed, 03 Mar 2010 02:39:22 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=450</guid>
		<description><![CDATA[I have been working from when I wake up into the late hours of the night every day. For weeks I have designed, built, and tweaked. My projects and visions for them are coming closer and closer to completion. Most of my work has been secret and the information I have shared with the few ]]></description>
			<content:encoded><![CDATA[<p>I have been working from when I wake up into the late hours of the night every day. For weeks I have designed, built, and tweaked. My projects and visions for them are coming closer and closer to completion. Most of my work has been secret and the information I have shared with the few has been intentionally sparse. It has been a long time since I have felt such pride and worked so hard for it.</p>
<p>If I can keep up this pace up for a few more weeks big things for everyone who wants them are coming.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=450</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating is Hard 2</title>
		<link>http://blog.lifebloodnetworks.com/?p=423&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=creating-is-hard-2</link>
		<comments>http://blog.lifebloodnetworks.com/?p=423#comments</comments>
		<pubDate>Sun, 28 Feb 2010 02:52:43 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Problems]]></category>
		<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=423</guid>
		<description><![CDATA[In a previous post I talked about a failed board game idea and I implied I might try it as a web-based game. Well after a lot of work on that I decided to take a break and try a game on Steam. Turns out I bought a game a while ago by the name ]]></description>
			<content:encoded><![CDATA[<p>In a <a href="?p=374" target="_self">previous post</a> I talked about a failed board game idea and I implied I might try it as a web-based game. Well after a lot of work on that I decided to take a break and try a game on <a href="http://www.steampowered.com/" target="_blank">Steam</a>. Turns out I bought a game a while ago by the name of <a href="http://www.inventivedingo.com/mayhemig/" target="_blank">Mayhem Intergalactic</a> but never played it.</p>
<p>Upon reading the text on the Help screen is when I realised this is basically the same game. Liking the basic concept&#8211; obviously&#8211; I started up a quick single player game versus the AI. Turns out it is nearly identical to my vision. Sure, I previously figured out my ideas were not all that original, but how many clones of the same game can the public tolerate? If someone likes my game over the competitions I would like to think it has to do with the features. Not because they simply did not already have alliance to another, similar game.</p>
<p>I still feel my version brings something to the table that the others lack (at least as far as I have seen). However, I need to ask myself if I still want to continue; Time is not something I have a lot of and I might rather work on something a bit more unique. After all, the sub-systems I have already built (login, chat, security mechanisms, ect) could be moved to another project virtually unmodified so it is not like scraping this project would mean I wasted most of my time&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=423</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missing JavaScript Functionality</title>
		<link>http://blog.lifebloodnetworks.com/?p=398&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=missing-javascript-functionality</link>
		<comments>http://blog.lifebloodnetworks.com/?p=398#comments</comments>
		<pubDate>Wed, 24 Feb 2010 16:28:47 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=398</guid>
		<description><![CDATA[JavaScript does not offer a lot of things one would imagine would be included in such a seasoned scripting language. Below are a few functions I wrote to fill some gaps.
Trimming the whitespace off both sides of a string
function trim(str) {
return str.replace(/^\s\s*/, "").replace(/\s\s*$/, "");
};
Padding the start of a string
function pad(str, len, padding) {
str += "";
if ]]></description>
			<content:encoded><![CDATA[<p>JavaScript does not offer a lot of things one would imagine would be included in such a seasoned scripting language. Below are a few functions I wrote to fill some gaps.</p>
<p><strong>Trimming the whitespace off both sides of a string</strong></p>
<blockquote><p><code>function trim(str) {<br />
return str.replace(/^\s\s*/, "").replace(/\s\s*$/, "");<br />
};</code></p></blockquote>
<p><strong>Padding the start of a string</strong></p>
<blockquote><p><code>function pad(str, len, padding) {<br />
str += "";</code></p>
<p>if ( str.length &lt;= len ) {<br />
var str_new = <code>""</code>;<br />
for ( i = 0; i &lt; len &#8211; str.length; i++ )<br />
str_new += padding;</p>
<p>return str_new + str;<br />
}</p>
<p>return str;<br />
};</p></blockquote>
<p><strong>Getting the mouse position</strong></p>
<blockquote><p><code>var mouse_x = mouse_y = 0;</code></p>
<p>function mouse_position_update() {<br />
if ( document.all &amp;&amp; !window.opera ) {<br />
mouse_x = event.clientX + document.documentElement.scrollLeft;<br />
mouse_y = event.clientY + document.documentElement.scrollTop;<br />
}<br />
else {<br />
mouse_x = e.pageX;<br />
mouse_y = e.pageY;<br />
}<br />
};</p></blockquote>
<p><strong>Getting an elements absolute position</strong></p>
<blockquote><p><code>function element_position(element) {<br />
var x = y = 0;</code></p>
<p>if ( element.offsetParent ) {<br />
x = element.offsetLeft;<br />
y = element.offsetTop;<br />
while ( element = element.offsetParent ) {<br />
x += element.offsetLeft;<br />
y += element.offsetTop;<br />
}</p>
<p>return [x, y];<br />
};</p></blockquote>
<p>All of these were tested in <a href="http://www.microsoft.com/windows/internet-explorer/" target="_blank">Microsoft Internet Explorer 8</a>, <a href="http://www.mozilla.com/firefox/" target="_blank">Mozilla FireFox 3.5.8</a>, <a href="http://www.google.com/chrome/" target="_blank">Google Chrome 5.0.307.9 beta</a>, and <a href="http://www.apple.com/safari/" target="_blank">Apple Safari 4.0.4</a>.</p>
<p><em>Please note I have not touched JavaScript in years and I am a bit rusty.</em></p>
<p><strong>Update 2010.03.02</strong><br />
I noticed an extra bracket in <code>element_position()</code> which is now fixed. Sorry about that.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=398</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating is Hard</title>
		<link>http://blog.lifebloodnetworks.com/?p=374&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=creating-is-hard</link>
		<comments>http://blog.lifebloodnetworks.com/?p=374#comments</comments>
		<pubDate>Sat, 13 Feb 2010 14:37:01 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Board Games]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[Software Deveolopment]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=374</guid>
		<description><![CDATA[I was working on a combat-based board game for a number of months. I started off with some ideas I thought were unique and built from there. After a lot of work and begging threatening bribing asking people to help me play test I was slowly forced to either modify or remove my unique ideas ]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-379" title="Generic Board Game" src="http://blog.lifebloodnetworks.com/wp-content/uploads/2010/02/boardgame-thumb-425x282-300x199.jpg" alt="" width="180" height="119" />I was working on a combat-based board game for a number of months. I started off with some ideas I thought were unique and built from there. After a lot of work and <span style="text-decoration: line-through;">begging</span> <span style="text-decoration: line-through;">threatening</span> <span style="text-decoration: line-through;">bribing</span> asking people to help me play test I was slowly forced to either modify or remove my unique ideas (it turns out that it is difficult to be objective in these situations). It became clear that no matter how cool my ideas were they may simply not work. It seems, in retrospect, that these ideas were never all that unique in the first place but were absent from the market place because of the same problems I ran into.</p>
<p>I grew up playing video games a lot more than playing board games. As such while designing board games I brought to the table a lot of odd things; Some were good, some were bad. One of my biggest problem to this day is the limitation of the human brain for computation vs a computer. When I think of the gears of gameplay I think in numbers. Numbers, however useful, are not fun. I need a way to mix these two worlds.</p>
<p>One idea that comes to mind is the web as a gaming platform. I am not necessarily talking about <a href="http://en.wikipedia.org/wiki/Web_2.0" target="_blank">Web 2.0</a> or <a href="http://en.wikipedia.org/wiki/AJAX" target="_blank">AJAX</a>. I am talking about a technology that even mobile phones have access to. The World Wide Web is so ubiquitous and easy to script for that I would be dumb not to at least consider it. A lot of my ideas transfer very well to this platform and I think I may give an old, failed idea a shot in this medium.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=374</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing Encrypted DVDs on Ubuntu 10.04</title>
		<link>http://blog.lifebloodnetworks.com/?p=363&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=playing-encrypted-dvds-on-linux</link>
		<comments>http://blog.lifebloodnetworks.com/?p=363#comments</comments>
		<pubDate>Tue, 09 Feb 2010 01:02:16 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=363</guid>
		<description><![CDATA[Most DVDs you will come across are CSS encrypted. When you rely on a open source operating system that aims to be free, like Linux, this can prove to be a problem for you. The following script will allow Debian (including Ubuntu) to play commercial DVDs.
#!/bin/sh
# Shell script to install libdvdcss under Debian GNU Linux
# ]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-370" title="DVD Disc" src="http://blog.lifebloodnetworks.com/wp-content/uploads/2010/02/Flat_for_Linux-DVD-19-DVD_256x256.png-256x256.png" alt="" width="154" height="154" />Most DVDs you will come across are <a href="http://en.wikipedia.org/wiki/Content_Scramble_System" target="_blank">CSS encrypted</a>. When you rely on a open source operating system that aims to be free, like Linux, this can prove to be a problem for you. The following script will allow <a href="http://www.debian.com/" target="_blank">Debian</a> (including <a href="http://www.ubuntu.com/" target="_blank">Ubuntu</a>) to play commercial DVDs.</p>
<blockquote><p><code>#!/bin/sh<br />
# Shell script to install libdvdcss under Debian GNU Linux<br />
# Many DVDs use css for encryption.  To play these discs, a special library<br />
# is needed to decode them, libdvdcss.  Due to legal problems, Debian and most<br />
# Linux distibutions cannot distribute libdvdcss<br />
# Use this shell script to install the libdvdcss under DEBIN GNU/Linux<br />
# --------------------------------------------------------------------------<br />
# Refer url for more info:<br />
# Copyright info -  http://www.dtek.chalmers.se/~dvd/<br />
# -------------------------------------------------------------------------<br />
# This script is part of nixCraft shell script collection (NSSC)<br />
# Visit http://bash.cyberciti.biz/ for more information.<br />
# -------------------------------------------------------------------------</code></p>
<p><code>set -e</p>
<p>site=http://www.dtek.chalmers.se/groups/dvd/deb/<br />
arch=$(dpkg --print-installation-architecture)</p>
<p>soname=2<br />
uversion=1.2.5<br />
#available="alpha hppa i386 ia64 powerpc s390 sparc"<br />
available="i386"<br />
version=${uversion}-1</p>
<p>if ! type wget &gt; /dev/null ; then<br />
echo "Install wget and run this script again"<br />
exit 1<br />
fi</p>
<p>for a in $available; do<br />
if [  "$a" = "$arch" ]; then<br />
wget ${site}libdvdcss${soname}_${version}_${arch}.deb -O /tmp/libdvdcss.deb<br />
dpkg -i /tmp/libdvdcss.deb<br />
exit $?<br />
fi<br />
done</p>
<p>echo "No binary deb available.  Will try to build and install it."<br />
echo "You need to have debhelper, dpkg-dev and fakeroot installed."<br />
echo "If not, interrupt now, install them and rerun this script."<br />
echo ""<br />
echo "This is higly experimental, look out for what happens below."<br />
echo "If you want to stop, interrupt now (control-c), else press"<br />
echo "return to proceed"<br />
read dum</p>
<p></code><code>mkdir -p /tmp/dvd<br />
cd /tmp/dvd<br />
wget ${site}libdvdcss_${uversion}.orig.tar.gz<br />
wget ${site}libdvdcss_${version}.diff.gz<br />
wget ${site}libdvdcss_${version}.dsc<br />
dpkg-source -x libdvdcss_${version}.dsc<br />
cd libdvdcss-${uversion}<br />
fakeroot ./debian/rules binary<br />
echo "Any problems?  Interrupt now (control-c) and try to fix"<br />
echo "manually, else go on and install (return)."<br />
dpkg -i ../libdvdcss${soname}_${version}_${arch}.deb</code></p></blockquote>
<p>Just stick this into a shell script, make it executable, and run it from the command line as root. Make sure you have the <code>debhelper</code>, <code>dpkg-dev</code>, and <code>fakeroot</code> packages installed as required in the comments. You may also need to change the <code>available</code> variable at the start of the script to whatever architecture you happen to be running (I used <code>i386</code> in place of <code>amd64</code> and it worked great but I am not sure if that was because I already had <code>ia32-libs</code> installed).</p>
<p><em>In some countries this is illegal. Take a look at your local laws to make sure you will not bring the fuzz down on yourself.</em></p>
<p>[<a href="http://bash.cyberciti.biz/desktop/install-libdvdcss/" target="_blank">Source</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=363</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Hope for Psychosis Patients</title>
		<link>http://blog.lifebloodnetworks.com/?p=343&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=new-hope-for-psychosis-patients</link>
		<comments>http://blog.lifebloodnetworks.com/?p=343#comments</comments>
		<pubDate>Fri, 05 Feb 2010 01:11:41 +0000</pubDate>
		<dc:creator>Nicholas J Ingrassellino</dc:creator>
				<category><![CDATA[Medicine]]></category>

		<guid isPermaLink="false">http://blog.lifebloodnetworks.com/?p=343</guid>
		<description><![CDATA[An article [original, free registration required] over at Medscape mentions some finding that may be a step forward in the fight against psychosis for some patients. Researchers found that a 12-month regiment of omega-3 fatty acids reduced or eliminated full-blown psychosis compared to placebo by 22.6%. They also found that these benefits continued for up ]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-345" title="Fish Oil Pills" src="http://blog.lifebloodnetworks.com/wp-content/uploads/2010/02/fish-oil-300x199.jpg" alt="" width="180" height="119" />An <a href="http://blog.lifebloodnetworks.com/wp-content/uploads/2010/02/fish-oil-may-reduce-psychosis-in-high-risk-individuals.pdf" target="_blank">article</a> [<a href="http://www.medscape.com/viewarticle/716397" target="_blank">original</a>, free registration required] over at <a href="http://www.medscape.com/" target="_blank">Medscape</a> mentions some finding that may be a step forward in the fight against psychosis for some patients. Researchers found that a 12-month regiment of omega-3 fatty acids reduced or eliminated full-blown psychosis compared to placebo by 22.6%. They also found that these benefits continued for up to one year.</p>
<p>For now the standard treatment is pharmaceuticals which, like many other classifications of drugs, can have negative side effects. Since it has been said that patients families can suffer more than the patient it would make sense that the patient would opt off said stigmatised pharmaceuticals. If, in the next ~10 years, this turns into a viable treatment it could help to eliminate otherwise avoidable situations due to a refusal to take medications.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lifebloodnetworks.com/?feed=rss2&amp;p=343</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
