<?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>UH.LEE.KA</title>
	<atom:link href="http://www.uhleeka.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.uhleeka.com/blog</link>
	<description>If you think nobody cares about you, try missing a few car payments.</description>
	<lastBuildDate>Fri, 29 Jan 2010 09:50:21 +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>Essential Freeware</title>
		<link>http://www.uhleeka.com/blog/2010/01/essential-freeware/</link>
		<comments>http://www.uhleeka.com/blog/2010/01/essential-freeware/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 09:45:04 +0000</pubDate>
		<dc:creator>uhleeka</dc:creator>
				<category><![CDATA[Helpful Applications]]></category>

		<guid isPermaLink="false">http://www.uhleeka.com/blog/?p=503</guid>
		<description><![CDATA[Firefox &#8211; web browser
http://www.mozilla.com/en-US/firefox/personal.html
Firefox plugins

Adblock Plus &#8211; https://addons.mozilla.org/en-US/firefox/addon/1865
BetterPrivacy &#8211; https://addons.mozilla.org/en-US/firefox/addon/6623
DownThemAll &#8211; https://addons.mozilla.org/en-US/firefox/addon/201
Firebug &#8211; https://addons.mozilla.org/en-US/firefox/addon/1843

7-zip &#8211; file compression/decompression library
http://7-zip.org
CutePDF &#8211; virtual printer: print to a PDF
http://www.cutepdf.com
Avast &#8211; antivirus
http://www.avast.com
Picasa &#8211; picture and video organizer
http://picasa.google.com/
]]></description>
			<content:encoded><![CDATA[<p>Firefox &#8211; web browser<br />
<a href="http://www.mozilla.com/en-US/firefox/personal.html">http://www.mozilla.com/en-US/firefox/personal.html</a></p>
<p>Firefox plugins</p>
<ul>
<li>Adblock Plus &#8211; <a href="https://addons.mozilla.org/en-US/firefox/addon/1865">https://addons.mozilla.org/en-US/firefox/addon/1865</a></li>
<li>BetterPrivacy &#8211; <a href="https://addons.mozilla.org/en-US/firefox/addon/6623">https://addons.mozilla.org/en-US/firefox/addon/6623</a></li>
<li>DownThemAll &#8211; <a href="https://addons.mozilla.org/en-US/firefox/addon/201">https://addons.mozilla.org/en-US/firefox/addon/201</a></li>
<li>Firebug &#8211; <a href="https://addons.mozilla.org/en-US/firefox/addon/1843">https://addons.mozilla.org/en-US/firefox/addon/1843</a></li>
</ul>
<p>7-zip &#8211; file compression/decompression library<br />
<a href="http://7-zip.org">http://7-zip.org</a></p>
<p>CutePDF &#8211; virtual printer: print to a PDF<br />
<a href="http://www.cutepdf.com">http://www.cutepdf.com</a></p>
<p>Avast &#8211; antivirus<br />
<a href="http://www.avast.com">http://www.avast.com</a></p>
<p>Picasa &#8211; picture and video organizer<br />
<a href="http://picasa.google.com/">http://picasa.google.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.uhleeka.com/blog/2010/01/essential-freeware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generic List&lt;T&gt; to DataTable using Reflection</title>
		<link>http://www.uhleeka.com/blog/2010/01/generic-list-to-datatable-using-reflection/</link>
		<comments>http://www.uhleeka.com/blog/2010/01/generic-list-to-datatable-using-reflection/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 04:31:23 +0000</pubDate>
		<dc:creator>uhleeka</dc:creator>
				<category><![CDATA[Code Snippits]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[snippit]]></category>

		<guid isPermaLink="false">http://www.uhleeka.com/blog/?p=498</guid>
		<description><![CDATA[
The following function takes in a System.Collections.Generic.List&#60;T&#62; and returns a System.Data.DataTable with the properties (via reflection) of T as columns.  


public static System.Data.DataTable ListToDataTable&#60;T&#62;(
&#160; &#160; System.Collections.Generic.IList&#60;T&#62; elements)
{
&#160; &#160; System.Reflection.PropertyInfo[] arrPropInfo = typeof(T).GetProperties();
&#160; &#160; System.Data.DataTable dt = new DataTable();
&#160; &#160; System.Data.DataRow dr;

&#160; &#160; foreach (System.Reflection.PropertyInfo pInfo in arrPropInfo)
&#160; &#160; {
&#160; &#160; &#160; &#160; dt.Columns.Add(pInfo.Name, pInfo.PropertyType);
&#160; [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left;width:93px;height:93px;margin:8px 8px 0px 0px;border:solid 1px #006;background-color:#fff;background-repeat:no-repeat;background-position:15px center;background-image:url('http://www.uhleeka.com/blog/wp-content/uploads/2009/08/windows-150x150.png');"></div>
<p>The following function takes in a System.Collections.Generic.List&lt;T&gt; and returns a System.Data.DataTable with the properties (via reflection) of T as columns.  <span id="more-498"></span></p>
<div style="overflow:hidden;clear:both;"><!-- --></div>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>public static System.Data.DataTable ListToDataTable&lt;T&gt;(
&nbsp; &nbsp; System.Collections.Generic.IList&lt;T&gt; elements)
{
&nbsp; &nbsp; System.Reflection.PropertyInfo[] arrPropInfo = typeof(T).GetProperties();
&nbsp; &nbsp; System.Data.DataTable dt = new DataTable();
&nbsp; &nbsp; System.Data.DataRow dr;

&nbsp; &nbsp; foreach (System.Reflection.PropertyInfo pInfo in arrPropInfo)
&nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; dt.Columns.Add(pInfo.Name, pInfo.PropertyType);
&nbsp; &nbsp; }
&nbsp; &nbsp; foreach(object elem in elements)
&nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; dr = dt.NewRow();
&nbsp; &nbsp; &nbsp; &nbsp; foreach (System.Reflection.PropertyInfo pInfo in arrPropInfo)
&nbsp; &nbsp; &nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dr[pInfo.Name] = pInfo.GetValue(elem, null);
&nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; dt.Rows.Add(dr);
&nbsp; &nbsp; }

&nbsp; &nbsp; return dt;
}</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.uhleeka.com/blog/2010/01/generic-list-to-datatable-using-reflection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# Serialization</title>
		<link>http://www.uhleeka.com/blog/2010/01/c-serialization/</link>
		<comments>http://www.uhleeka.com/blog/2010/01/c-serialization/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 04:15:46 +0000</pubDate>
		<dc:creator>uhleeka</dc:creator>
				<category><![CDATA[Code Snippits]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[snippit]]></category>

		<guid isPermaLink="false">http://www.uhleeka.com/blog/?p=490</guid>
		<description><![CDATA[
Xml Serialization and Binary Serialization to a Base64 string
Xml Serialization
Snippit: Take a serializable object and serialize it into an xml string, stored in a System.Text.StringBuilder

System.Xml.Serialization.XmlSerializer serializer = 
&#160; &#160; new System.Xml.Serialization.XmlSerializer(typeof(ObjectToSerialize));
System.Text.StringBuilder sb = new System.Text.StringBuilder();
using (System.IO.StringWriter stringWriter = new System.IO.StringWriter(sb))
{
&#160; &#160; serializer.Serialize(stringWriter,  myObject);
&#160; &#160; stringWriter.Close();
}

Binary Serialization to Base64 string
Snippit:  Take a serializable object [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left;width:93px;height:93px;margin:8px 8px 0px 0px;border:solid 1px #006;background-color:#fff;background-repeat:no-repeat;background-position:15px center;background-image:url('http://www.uhleeka.com/blog/wp-content/uploads/2009/08/windows-150x150.png');"></div>
<p>Xml Serialization and Binary Serialization to a Base64 string<span id="more-490"></span></p>
<h4 style="clear:both;">Xml Serialization</h4>
<p>Snippit: Take a serializable object and serialize it into an xml string, stored in a System.Text.StringBuilder</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>System.Xml.Serialization.XmlSerializer serializer = 
&nbsp; &nbsp; new System.Xml.Serialization.XmlSerializer(typeof(<em>ObjectToSerialize</em>));
System.Text.StringBuilder sb = new System.Text.StringBuilder();
using (System.IO.StringWriter stringWriter = new System.IO.StringWriter(sb))
{
&nbsp; &nbsp; serializer.Serialize(stringWriter,  <em>myObject</em>);
&nbsp; &nbsp; stringWriter.Close();
}</pre></div></div>

<h4>Binary Serialization to Base64 string</h4>
<p>Snippit:  Take a serializable object and serialize it into a Base64 string</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>byte[] bResult;
System.Runtime.Serialization.IFormatter formatter =
&nbsp; &nbsp; new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
using (System.IO.MemoryStream s = new System.IO.MemoryStream())
{
&nbsp; &nbsp; formatter.Serialize(s, <em>myObject</em>);
&nbsp; &nbsp; bResult = s.ToArray();
&nbsp; &nbsp; s.Close();
}
string s = Convert.ToBase64String(bResult);</pre></div></div>

<p>Snippit: Deserialize</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre><em>ObjectToSerialize myObject</em> = null;
byte[] b = Convert.FromBase64String(str);
System.Runtime.Serialization.IFormatter formatter =
&nbsp; &nbsp; new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
using (System.IO.MemoryStream ms = System.IO.new MemoryStream(b))
{
&nbsp; &nbsp; <em>myObject</em> = (<em>ObjectToSerialize</em>)formatter.Deserialize(ms);
&nbsp; &nbsp; ms.Close();
}</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.uhleeka.com/blog/2010/01/c-serialization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VirtualBox 3.1 &#8211; Install Windows XP Guest on Ubuntu 9.04 Host</title>
		<link>http://www.uhleeka.com/blog/2009/12/virtualbox-3-1-install-windows-xp-guest-on-ubuntu-9-04-host/</link>
		<comments>http://www.uhleeka.com/blog/2009/12/virtualbox-3-1-install-windows-xp-guest-on-ubuntu-9-04-host/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 03:50:54 +0000</pubDate>
		<dc:creator>uhleeka</dc:creator>
				<category><![CDATA[Installs and Configs]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VirtualBox]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://www.uhleeka.com/blog/?p=472</guid>
		<description><![CDATA[
VirtualBox 3.1 significantly changed the way that harddisks, dvd/cd drives and floppies are mounted.  The following steps are to install Windows XP as a guest on an Ubuntu 9.04 host with a IntelAhci SATA controller.
Make sure you download the Windows XP Intel SATA Drivers and unzip to extract &#8220;F32.IMA&#8221;.



sudo -i

To begin the install process, [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left;width:93px;height:93px;margin:8px 8px 16px 0px;border:solid 1px #036;background-repeat:no-repeat;background-position:center center;background-image:url('http://www.uhleeka.com/blog/wp-content/uploads/2009/02/virtualbox.png');"></div>
<p>VirtualBox 3.1 significantly changed the way that harddisks, dvd/cd drives and floppies are mounted.  The following steps are to install Windows XP as a guest on an Ubuntu 9.04 host with a IntelAhci SATA controller.</p>
<p>Make sure you download the <a href="http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&#038;ProductID=1809&#038;DwnldID=14796&#038;strOSs=44&#038;OSFullName=Windows*%20XP%20Professional&#038;lang=eng" target="_blank">Windows XP Intel SATA Drivers</a> and unzip to extract &#8220;F32.IMA&#8221;.<br />
<span id="more-472"></span></p>
<div style="clear:both;height:1px;overflow:hidden;"><!-- --></div>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>sudo -i</pre></div></div>

<p>To begin the install process, do the following steps:</p>
<ul>
<li>Create a new VirtualMachine.</li>
<li>Add three controllers (sata, ide, floppy).</li>
<li>Attach the Intel SATA floppy and the Windows XP dvd iso.</li>
<li>Set the memory, boot order and bridged network connection.</li>
</ul>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>VBoxManage createhd --filename /srv/virtualbox/harddisks/CHANGEME.vdi --size 20480 \
    --variant Standard
VBoxManage createvm --name CHANGEME --ostype "WindowsXP" --register \
    --basefolder /srv/virtualbox/machines
VBoxManage storagectl CHANGEME --name "SATA Controller" --add sata \
    --controller IntelAhci
VBoxManage storageattach CHANGEME --storagectl "SATA Controller" \
    --port 0 --device 0 --type hdd \
    --medium /srv/virtualbox/harddisks/CHANGEME.vdi
VBoxManage storagectl CHANGEME --name "IDE Controller" --add ide
VBoxManage storagectl CHANGEME --name "Floppy Controller" --add floppy
VBoxManage storageattach CHANGEME --storagectl "IDE Controller" \
    --port 0 --device 0 --type dvddrive \
    --medium "/srv/virtualbox/isos/WindowsXP_sp3.iso"
VBoxManage storageattach CHANGEME --storagectl "Floppy Controller" \
    --port 0 --device 0 --type fdd --medium /srv/virtualbox/floppy/F32.IMA
VBoxManage modifyvm CHANGEME --memory 1024 --nic1 bridged --bridgeadapter1 eth0 \
    --boot1 dvd --boot2 disk --boot3 none --boot4 none</pre></div></div>

<p>Start the VM using a specified port (8888) for VRDP.  You will then be able to attach via RDP to the Host IP on the specified port.</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>VBoxHeadless --startvm CHANGEME --vrdpport 8888 --vrdp on &</pre></div></div>

<p>When the Windows XP installation begins, Hit F6 during setup and select the <strong>Intel(R) 82801HEM/HBM SATA AHCI Controller (Mobile ICH8M-E/M)</strong> driver.  Proceed with the Windows XP install until reboot is required.  </p>
<p>At some point, post install, you may optionally take the following steps:</p>
<ul>
<li>Eject the Windows XP dvd iso.</li>
<li>Attach (and then install) the VirtualBox Guest Additions dvd iso.</li>
<li>Eject the Intel SATA floppy.  Note: it can only be ejected while the machine is powered off; it should be ejected because it will otherwise be locked, such that other VM&#8217;s cannot use it.</li>
<li>Change the boot order.</li>
</ul>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>VBoxManage storageattach CHANGEME --storagectl "IDE Controller" \
    --port 0 --device 0 --medium none
VBoxManage storageattach CHANGEME --storagectl "IDE Controller" \
    --port 0 --device 0 --type dvddrive \
    --medium /usr/share/virtualbox/VBoxGuestAdditions.iso 
VBoxManage storageattach CHANGEME --storagectl "FLOPPY Controller" \
    --port 0 --device 0 --type fdd --medium none
VBoxManage modifyvm CHANGEME --boot1 disk --boot2 none</pre></div></div>

<p>Don&#8217;t forget to run windows updates!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uhleeka.com/blog/2009/12/virtualbox-3-1-install-windows-xp-guest-on-ubuntu-9-04-host/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>bubbletip! A jQuery Coda-style bubble tooltip plugin</title>
		<link>http://www.uhleeka.com/blog/2009/11/bubbletip/</link>
		<comments>http://www.uhleeka.com/blog/2009/11/bubbletip/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 02:26:46 +0000</pubDate>
		<dc:creator>uhleeka</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[bubbletip]]></category>
		<category><![CDATA[Coda]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[ToolTip]]></category>

		<guid isPermaLink="false">http://www.uhleeka.com/blog/?p=436</guid>
		<description><![CDATA[Download
http://code.google.com/p/bubbletip/downloads/list
Demo page
http://uhleeka.com/demo/bubbletip/
Features

multiple tips on a page
multiple tips per jQuery element
tips open outward in four directions:

up
down
left
right


tips can be:

anchored to the triggering jQuery element
absolutely positioned
opened at the current mouse coordinates
anchored to a specified jQuery element


IE png transparency is handled via filters

Tested (lightly)

IE 6 on XP
IE 7 and 8 on Vista
Firefox 3.5 on Vista
Chrome 3.0 on Vista
Safari 3.2 [...]]]></description>
			<content:encoded><![CDATA[<h4>Download</h4>
<p><a href="http://code.google.com/p/bubbletip/downloads/list">http://code.google.com/p/bubbletip/downloads/list</a></p>
<h4>Demo page</h4>
<p><a href="http://uhleeka.com/demo/bubbletip/">http://uhleeka.com/demo/bubbletip/</a></p>
<h4>Features</h4>
<ul>
<li>multiple tips on a page</li>
<li>multiple tips per jQuery element</li>
<li>tips open outward in four directions:
<ul>
<li>up</li>
<li>down</li>
<li>left</li>
<li>right</li>
</ul>
</li>
<li>tips can be:
<ul>
<li>anchored to the triggering jQuery element</li>
<li>absolutely positioned</li>
<li>opened at the current mouse coordinates</li>
<li>anchored to a specified jQuery element</li>
</ul>
</li>
<li>IE png transparency is handled via filters</li>
</ul>
<h4>Tested (lightly)</h4>
<ul>
<li>IE 6 on XP</li>
<li>IE 7 and 8 on Vista</li>
<li>Firefox 3.5 on Vista</li>
<li>Chrome 3.0 on Vista</li>
<li>Safari 3.2 on Vista</li>
</ul>
<h4>Examples</h4>
<p>MOUSEOVER to open a tooltip <a id="a1_up" href="#">above</a>, <a id="a1_down" href="#">below</a>, <a id="a1_left" href="#">to the left</a> or <a id="a1_right" href="#">to the right</a> of any element.</p>
<p>MOUSEOVER a <a id="a1_trigger" href="#">trigger element</a> to open a tooltip above and below a <a id="a1_target" href="#">target element</a>.<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script><script src="http://www.uhleeka.com/blog/wp-content/uploads/2009/11/jQuery.bubbletip-1.0.4.js" type="text/javascript"></script>
<link href="http://www.uhleeka.com/blog/wp-content/uploads/2009/11/bubbletip/bubbletip.css" rel="stylesheet" type="text/css" /><!--[if IE]>
<link href="http://www.uhleeka.com/blog/wp-content/uploads/2009/11/bubbletip/bubbletip-IE.css" rel="stylesheet" type="text/css" /><![endif]--><script type="text/javascript">
		$(document).ready(function() {
			$('#a1_up').bubbletip($('#tip1_up'));
			$('#a1_down').bubbletip($('#tip1_down'), {
				deltaDirection: 'down',
				deltaPosition: 50,
				offsetTop: 20
			});
			$('#a1_left').bubbletip($('#tip1_left'), {
				deltaDirection: 'left',
				animationDuration: 100,
				offsetLeft: -20
			});
			$('#a1_right').bubbletip($('#tip1_right'), { deltaDirection: 'right' });
			$('#a1_trigger').bubbletip($('#tip1_trigger1'), { positionAtElement: $('#a1_target') });
			$('#a1_trigger').bubbletip($('#tip1_trigger2'), {
				positionAtElement: $('#a1_target'),
				deltaDirection: 'down'
			});
		});
	</script><br />
<style type="text/css">
pre.tip
		{
			margin: 0px;
			padding: 5px;
			font-size: 0.9em;	
		}
</style>
<div style="display:none;">
<div id="tip1_up" style="display:none;">
<pre class="tip">{ deltaDirection: 'up' }</pre>
</div>
<div id="tip1_down" style="display:none;">
<pre class="tip">{
    deltaDirection: 'down',
    deltaPosition: 100,
    offsetTop: 10
}</pre>
</div>
<div id="tip1_left" style="display:none;">
<pre class="tip">{
    deltaDirection: 'left',
    animationDuration: 100,
    offsetLeft: -20
}</pre>
</div>
<div id="tip1_right" style="display:none;"><img src="http://www.uhleeka.com/blog/wp-content/uploads/2009/11/bubble.jpg" width="128" height="128" /></div>
<div id="tip1_trigger1" style="display:none;">
<pre class="tip">{
    deltaDirection: 'up',
    positionAtElement: $('#a1_target')
}</pre>
</div>
<div id="tip1_trigger2" style="display:none;">
<pre class="tip">{
    deltaDirection: 'down',
    positionAtElement: $('#a1_target')
}</pre>
</div>
</div>
<p><span id="more-436"></span><br />
<h4>Using it?</h4>
<p>If you enjoy using it, I&#8217;d love to hear about it.  Drop a comment with a link!</p>
<h4>Credit</h4>
<p>bubbletip was inspired by <a href="http://jqueryfordesigners.com/coda-popup-bubbles/" rel="nofollow">http://jqueryfordesigners.com/coda-popup-bubbles/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uhleeka.com/blog/2009/11/bubbletip/feed/</wfw:commentRss>
		<slash:comments>83</slash:comments>
		</item>
		<item>
		<title>VirtualBox BSOD p3.sys</title>
		<link>http://www.uhleeka.com/blog/2009/10/virtualbox-bsod-p3-sys/</link>
		<comments>http://www.uhleeka.com/blog/2009/10/virtualbox-bsod-p3-sys/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 05:29:31 +0000</pubDate>
		<dc:creator>uhleeka</dc:creator>
				<category><![CDATA[Installs and Configs]]></category>
		<category><![CDATA[BSOD]]></category>
		<category><![CDATA[VirtualBox]]></category>

		<guid isPermaLink="false">http://www.uhleeka.com/blog/2009/10/virtualbox-bsod-p3-sys/</guid>
		<description><![CDATA[
After converting a physical machine to .vmdk via VMWare Converter, I got a BSOD indicating that there was a problem with p3.sys when trying to boot.  The Windows XP system was running on a PII 600mHz Dell Optiplex from the year 2000.

To fix, boot in Safe Mode and run the following at a command [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left;width:93px;height:93px;margin:8px 8px 16px 0px;border:solid 1px #036;background-repeat:no-repeat;background-position:center center;background-image:url('http://www.uhleeka.com/blog/wp-content/uploads/2009/02/virtualbox.png');"></div>
<p>After converting a physical machine to .vmdk via VMWare Converter, I got a BSOD indicating that there was a problem with <strong>p3.sys</strong> when trying to boot.  The Windows XP system was running on a PII 600mHz Dell Optiplex from the year 2000.</p>
<div style="clear:both;"></div>
<p>To fix, boot in Safe Mode and run the following at a command prompt:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>sc config p3 start= disabled</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.uhleeka.com/blog/2009/10/virtualbox-bsod-p3-sys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Windows XP Guest on Ubuntu 9.04 Host</title>
		<link>http://www.uhleeka.com/blog/2009/10/install-windows-xp-guest-on-ubuntu-9-04-host/</link>
		<comments>http://www.uhleeka.com/blog/2009/10/install-windows-xp-guest-on-ubuntu-9-04-host/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 04:46:26 +0000</pubDate>
		<dc:creator>uhleeka</dc:creator>
				<category><![CDATA[Installs and Configs]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VirtualBox]]></category>

		<guid isPermaLink="false">http://www.uhleeka.com/blog/?p=416</guid>
		<description><![CDATA[Create a Windows XP VirtualBox guest from scratch using a SATA harddrive.  

Download the Windows XP Intel SATA Drivers and unzip to extract F32.IMA
Hit F6 during setup to select the Intel(R) 82801HEM/HBM SATA AHCI Controller (Mobile ICH8M-E/M)


sudo -i


VBoxManage createhd --filename /srv/virtualbox/harddisks/CHANGEME.vdi --size 20480 \
    --variant Standard
VBoxManage createvm --name CHANGEME --ostype "WindowsXP" [...]]]></description>
			<content:encoded><![CDATA[<p>Create a Windows XP VirtualBox guest from scratch using a SATA harddrive.  </p>
<ul>
<li>Download the <a href="http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&#038;ProductID=1809&#038;DwnldID=14796&#038;strOSs=44&#038;OSFullName=Windows*%20XP%20Professional&#038;lang=eng" target="_blank">Windows XP Intel SATA Drivers</a> and unzip to extract F32.IMA</li>
<li>Hit F6 during setup to select the <strong>Intel(R) 82801HEM/HBM SATA AHCI Controller (Mobile ICH8M-E/M)</strong></li>
</ul>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>sudo -i</pre></div></div>


<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>VBoxManage createhd --filename /srv/virtualbox/harddisks/CHANGEME.vdi --size 20480 \
    --variant Standard
VBoxManage createvm --name CHANGEME --ostype "WindowsXP" --register \
    --basefolder /srv/virtualbox/machines
VBoxManage modifyvm CHANGEME --memory 1024 \
    --boot1 dvd --boot2 disk --boot3 none --boot4 none \
    --sata on --sataportcount 1 \
    --sataport1 /srv/virtualbox/harddisks/CHANGEME.vdi \
    --dvd /srv/virtualbox/iso/WindowsXP_sp3.iso \
    --floppy /srv/virtualbox/floppy/F32.IMA \
    --nic1 bridged --bridgeadapter1 eth0</pre></div></div>

<p><span id="more-416"></span>Start the VM without a gui (note: the ampersand executes the command and returns you to the prompt)</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>VBoxHeadless --startvm CHANGEME &</pre></div></div>

<p>Start the VM without a gui and without VRDP (after you have loaded the os and configured remote desktop accessability).</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>VBoxHeadless --startvm CHANGEME --vrdp off &</pre></div></div>

<p>Stop the VM in a saved state</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>VBoxManage controlvm CHANGEME savestate</pre></div></div>

<p>Power off the VM (like pulling the plug)</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>VBoxManage controlvm CHANGEME poweroff</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.uhleeka.com/blog/2009/10/install-windows-xp-guest-on-ubuntu-9-04-host/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Limiting network file transfer throughput with rsync</title>
		<link>http://www.uhleeka.com/blog/2009/10/limiting-network-file-transfer-throughput-with-rsync/</link>
		<comments>http://www.uhleeka.com/blog/2009/10/limiting-network-file-transfer-throughput-with-rsync/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 19:42:32 +0000</pubDate>
		<dc:creator>uhleeka</dc:creator>
				<category><![CDATA[Installs and Configs]]></category>
		<category><![CDATA[ntop]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.uhleeka.com/blog/?p=404</guid>
		<description><![CDATA[To transfer a large amount of data (200GB) across a 100mbps network without saturating the connection, I used rsync with the &#8211;bwlimit=KBps flag.
Transferring from Windows to Ubuntu 9.04, I first mounted the windows share:

sudo mkdir /mnt/winshare
sudo mount -t smbfs -o username=user,password=pass //winserver/share /mnt/winshare

Next, run rsync with a specified bwlimit. Optionally, unmount the share

sudo rsync -vrR [...]]]></description>
			<content:encoded><![CDATA[<p>To transfer a large amount of data (200GB) across a 100mbps network without saturating the connection, I used <strong>rsync</strong> with the <strong>&#8211;bwlimit=KBps</strong> flag.</p>
<p>Transferring from Windows to Ubuntu 9.04, I first mounted the windows share:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>sudo mkdir /mnt/winshare
sudo mount -t smbfs -o username=user,password=pass //winserver/share /mnt/winshare</pre></div></div>

<p>Next, run <strong>rsync</strong> with a specified <strong>bwlimit</strong>. Optionally, unmount the share</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>sudo rsync -vrR --delete --delete-excluded --bwlimit=6144 /mnt/winshare/* /destination/
sudo umount /mnt/winshare</pre></div></div>

<p><span id="more-404"></span><br />
Note that the bwlimit is in <strong>kilobytes</strong> not kilobits &#8212; 6144 KB ~= 48 Mbps.  Also note that the bwlimit is limiting the I/O bandwidth&#8230;whatever that means.</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>    --bwlimit=KBPS          limit I/O bandwidth; KBytes per second</pre></div></div>

<p>NTop (<a href="http://www.ntop.org" target="_blank">http://www.ntop.org</a>) is great for tracking bandwidth usage:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>sudo apt-get update
sudo apt-get install ntop</pre></div></div>

<p>Set the administrative account password for ntop to run under:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>sudo ntop -A</pre></div></div>

<p>Start the service:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>sudo /etc/init.d/ntop start</pre></div></div>

<p>Browse the reports on the default port, 3000.  http://yourserver:3000/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uhleeka.com/blog/2009/10/limiting-network-file-transfer-throughput-with-rsync/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 9.04 Server Install with Software RAID1 and LVM</title>
		<link>http://www.uhleeka.com/blog/2009/10/ubuntu-9-04-server-install-wit-software-raid1-and-lvm/</link>
		<comments>http://www.uhleeka.com/blog/2009/10/ubuntu-9-04-server-install-wit-software-raid1-and-lvm/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 22:47:58 +0000</pubDate>
		<dc:creator>uhleeka</dc:creator>
				<category><![CDATA[Installs and Configs]]></category>
		<category><![CDATA[LVM]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.uhleeka.com/blog/?p=367</guid>
		<description><![CDATA[
For the sake of reliability and flexability, I wanted to install Ubuntu 9.04 Server on a Dell PowerEdge using Software RAID1 (reliability) and LVM (flexability).  Software RAID1 was also considerably cheaper (except for the time it took to figure this out) than adding in the $200 Dell SATA RAID contoller.
I consider myself to be [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left;width:93px;height:93px;margin:8px 8px 10px 0px;border:solid 1px #600;background-repeat:no-repeat;background-position:center center;background-image:url('http://www.uhleeka.com/blog/wp-content/uploads/2009/02/ubuntu.png');"></div>
<p>For the sake of reliability and flexability, I wanted to install Ubuntu 9.04 Server on a Dell PowerEdge using Software RAID1 (reliability) and LVM (flexability).  Software RAID1 was also considerably cheaper (except for the time it took to figure this out) than adding in the $200 Dell SATA RAID contoller.<span id="more-367"></span></p>
<p>I consider myself to be a <strong>novice</strong> Linux/Ubuntu user, so feel free to <strong>blindly</strong> follow my actions.</p>
<h4 style="clear:both;">Hardware</h4>
<p>Dell PowerEdge T100<br />
2 SATA Hard drives @ 160GB; No RAID Controller<br />
8GB RAM</p>
<p>From the factory, the T100 comes with 2 primary partitions on the primary hard drive for utility/diagnostics purposes.  I decided to keep the two partitions as they only use approximately 2GB space.</p>
<h4>Installation</h4>
<p>The <strong>Partition Disks</strong> section occurs after booting from the CD, setting up the keyboard, network, clock, etc.</p>
<p>Upon selecting a <strong>Partitioning Method</strong> of <strong>Manual</strong>, the following configuration is presented.</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>SCSI1 (0,0,0) (sda) - 160.0 GB ATA WDC WD1602ABKS-1
    #1 primary    41.1 MB        fat16
    #2 primary     1.5 GB        fat32
       pri/log   158.5 GB        FREE SPACE
SCSI2 (0,0,0) (sdb) - 160.0 GB ATA WDC WD1602ABKS-1
       pri/log   160.0 GB        FREE SPACE</pre></div></div>

<p>The space needs to be split into two additional partitions on each physical disk.  One partition will be for SWAP, the other for LVM.  I have seen differing recommendations for SWAP sizes from 1.5 to 2.0 times the RAM.</p>
<p>For symmetry sake&#8211;I wanted to keep the partition IDs symmetric between drives&#8211;I added and removed some partitions to end up with the following.</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>SCSI1 (0,0,0) (sda) - 160.0 GB ATA WDC WD1602ABKS-1
    #1 primary    41.1 MB        fat16
    #2 primary     1.5 GB        fat32
       unusable  452.4 MB        unusable
    #3 primary   142.0 GB  B  K  raid
    #4 primary    16.0 GB     K  raid
SCSI2 (0,0,0) (sdb) - 160.0 GB ATA WDC WD1602ABKS-1
       pri/log   2.0 GB          FREE SPACE
    #3 primary   142.0 GB  B  K  raid
    #4 primary    16.0 GB     K  raid</pre></div></div>

<p>When creating #3, specify:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>Use as: physical volume for RAID
Bootable flag: on</pre></div></div>

<p>When creating #4, specify</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>Use as: physical volume for RAID</pre></div></div>

<p>The next step is to bind the partition pairs in a RAID1 configuration.  To do this, select the <strong>Configure software RAID</strong> menu item, located above the disk partition information.  You should get a dialog saying:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>Before RAID can be configured, the changes...

When RAID is configured, no additional changes...

The partition tables of the following devices...

Write the changes to the storage devices and configure RAID?</pre></div></div>

<p>Select <strong>Yes</strong>.</p>
<p>For each of the two partition pairs:<br />
Select <strong>Create MD device</strong><br />
Multidisk device type: <strong>RAID1</strong><br />
Number of active devices for the RAID1 array: <strong>2</strong><br />
Number of spare devices for the RAID1 array: <strong>0</strong><br />
Active devices for the RAID1 multidisk device: <strong>/dev/sda3, /dev/sdb3</strong> and <strong>/dev/sda4, /dev/sdb4</strong> respectively</p>
<p>Select <strong>Finish</strong> to exit the multidisk config menu.  The partition config should now include the following:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>RAID1 device #0 - 142.0 GB Software RAID device
     #1            142.0 GB
RAID1 device #1 - 16.0 GB Software RAID device
     #1            16.0 GB</pre></div></div>

<p>Change the properties of <strong>device #0</strong> to:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>Use as: physical volume for LVM</pre></div></div>

<p>Change the properties of <strong>device #1</strong> to:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>Use as: swap</pre></div></div>

<p>Next step is to <strong>Configure the Logical Volume Manager</strong> located at the top of the config.  A dialog pops up with the following:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>Before the Logical Volume Manager can...

After the Logical Volume Manager is...

The partition tables of the following devices are...

The following partitions are...

Write the changes to disks and configure LVM?</pre></div></div>

<p>Select <strong>Yes</strong>.</p>
<p>LVM configuration action: <strong>Create volume group</strong><br />
Volume group name: <strong>vg</strong><br />
Devices for the new group: <strong>/dev/md0 (142001MB)</strong></p>
<p>Now that the <strong>volume group</strong> has been created, we need to create the associated <strong>logical volumes</strong>.</p>
<p>For each partition you wish to create (/, /usr, /home, /opt, /var, /tmp, /srv) do the following steps:<br />
LVM configuration action: <strong>Create logical volume</strong><br />
Volume group: <strong>vg (141998MB)</strong><br />
Logical volume name: <strong>root</strong><br />
Logical volume size: <strong>5GB</strong></p>
<p>Specify the volume sizes as you see fit.  LVM how-to&#8217;s generally recommend that smaller sizes are better, as it is much easier to increase the size than decrease it.</p>
<p>After creating all the logical volumes, select <strong>Display configuration details</strong>:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>Unallocated physical volumes:
  * none

Volume groups:
  * vg                                         (141998MB)
    - Uses physical volume:       /dev/md0     (141998MB)
    - Provides logical volume:    home         (4999MB)
    - Provides logical volume:    opt          (4999MB)
    - Provides logical volume:    root         (4999MB)
    - Provides logical volume:    srv          (49996MB)
    - Provides logical volume:    tmp          (4999MB)
    - Provides logical volume:    usr          (4999MB)
    - Provides logical volume:    var          (9999MB)</pre></div></div>

<p>Select <strong>Finish</strong> to get back to the main partition config menu.</p>
<p>For <strong>each</strong> logical volume created, there is now an entry in the config:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>LVM VG vg, LV home - 5.0 GB Linux device-mapper (linear)
     #1              5.0 GB</pre></div></div>

<p>Select the <strong>#1 5.0 GB</strong> line and specify the following:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>Use as: Ext3 journaling file system
Mount point: /home (respectively)
Label: home (respectively)</pre></div></div>

<p>After all logical volumes have been configured, select <strong>Finish partitioning and write changes to disk</strong>.  You will see a dialog:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>If you continue, the changes listed below will...

WARNING:  This will destroy all data...

The partition tables of the following devices are...

The following partitions are...

Write the changes to disk?</pre></div></div>

<p>Select <strong>Yes</strong>, and your install should continue as normal until you reach a screen titled, &#8220;<strong>Install the LILO boot loader on a hard disk</strong>.&#8221;</p>
<p>LILO installation target: <strong>/dev/md0: software RAID array</strong></p>
<p>Another dialog occurs, titled &#8220;<strong>Configuring lilo</strong>.&#8221;  Select <strong>Yes</strong>&#8230; or <strong>No</strong>.  Was that helpful?  </p>
<p>Another dialog:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>It was detected that it's necessary to run /sbin/lilo in order to...

WARNING: This procedure will write data in your MBR...

Do you want to run /sbin/lilo now?</pre></div></div>

<p>Select <strong>Yes</strong> and the install should complete.</p>
<hr />
<h4>References</h4>
<p><a href="https://help.ubuntu.com/9.04/serverguide/C/advanced-installation.html">https://help.ubuntu.com/9.04/serverguide/C/advanced-installation.html</a><br />
<a href="http://tldp.org/HOWTO/Software-RAID-HOWTO.html">http://tldp.org/HOWTO/Software-RAID-HOWTO.html</a><br />
<a href="https://help.ubuntu.com/community/Installation/RAID1%2BLVM">https://help.ubuntu.com/community/Installation/RAID1%2BLVM</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.uhleeka.com/blog/2009/10/ubuntu-9-04-server-install-wit-software-raid1-and-lvm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows XP Change HTTPS Port Binding</title>
		<link>http://www.uhleeka.com/blog/2009/10/windows-xp-change-https-port-binding/</link>
		<comments>http://www.uhleeka.com/blog/2009/10/windows-xp-change-https-port-binding/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 21:06:47 +0000</pubDate>
		<dc:creator>uhleeka</dc:creator>
				<category><![CDATA[Installs and Configs]]></category>
		<category><![CDATA[IIS5]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://www.uhleeka.com/blog/?p=359</guid>
		<description><![CDATA[On Windows XP, to change the HTTPS secure port binding (e.g. to port 444 instead of 443), run the following adsutil script at the command prompt:

C:\Inetpub\AdminScripts>cscript adsutil.vbs set w3svc/1/securebindings ":444:"

Return:

Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.

securebindings              [...]]]></description>
			<content:encoded><![CDATA[<p>On Windows XP, to change the HTTPS secure port binding (e.g. to port 444 instead of 443), run the following adsutil script at the command prompt:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>C:\Inetpub\AdminScripts>cscript adsutil.vbs set w3svc/1/securebindings ":444:"</pre></div></div>

<p>Return:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.

securebindings                  : (LIST) ":444:"</pre></div></div>

<p><span id="more-359"></span>You can verify the new setting by opening IIS Manager and clicking the &#8220;Advanced&#8230;&#8221; IP Address button on the properties page of the default website.</p>
<p>You can also verify using the following netstat command to view all TCP ports:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>C:\Inetpub\AdminScripts>netstat -an -p tcp</pre></div></div>

<p>Return:</p>

<div class="uhleeka_codebox"><div class="uhleeka_codebox_in"><pre>Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:25             0.0.0.0:0              LISTENING
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:444            0.0.0.0:0              LISTENING
  ...</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.uhleeka.com/blog/2009/10/windows-xp-change-https-port-binding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
