<?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"
	>

<channel>
	<title>Code for thought.</title>
	<atom:link href="http://www.coryborrow.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coryborrow.com</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Tue, 07 Oct 2008 19:46:43 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Simple background removal with PHP and GD.</title>
		<link>http://www.coryborrow.com/2008/09/05/simple-background-removal-with-php-and-gd/</link>
		<comments>http://www.coryborrow.com/2008/09/05/simple-background-removal-with-php-and-gd/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 21:06:36 +0000</pubDate>
		<dc:creator>Cory</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[code.]]></category>

		<guid isPermaLink="false">http://www.coryborrow.com/?p=18</guid>
		<description><![CDATA[I haven&#8217;t posted in awhile, but I got a short, article on background removal in images using PHP and the GD image library.
The way I did this is take a specified image and a specified color to look for as well as a difference or a maximum difference in each color allowed. After that it [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t posted in awhile, but I got a short, article on background removal in images using PHP and the GD image library.</p>
<p>The way I did this is take a specified image and a specified color to look for as well as a difference or a maximum difference in each color allowed. After that it will take the values entered for each of the items just listed and go through each pixel looking for the colors in the range specified. If the pixel color is not within range, it set&#8217;s the color to white, or black depending on the color you are looking for. Anyhow here are the functions which do this.</p>
<p>Firstly HexToRGB which will turn an Hexadecimal color value to RGB integer values.</p>
<pre class="syntax-highlight:php">
function HexToRGB($hex) {
        $hex = str_replace(&quot;#&quot;, &quot;&quot;, $hex);
        $colors = array();

        if(strlen($hex) == 3) {
            $colors[&#039;r&#039;] = hexdec(substr($hex, 0, 1) . $r);
            $colors[&#039;g&#039;] = hexdec(substr($hex, 1, 1) . $g);
            $colors[&#039;b&#039;] = hexdec(substr($hex, 2, 1) . $b);
        }
        else if(strlen($hex) == 6) {
            $colors[&#039;r&#039;] = hexdec(substr($hex, 0, 2));
            $colors[&#039;g&#039;] = hexdec(substr($hex, 2, 2));
            $colors[&#039;b&#039;] = hexdec(substr($hex, 4, 2));
        }
        $colors;
    }
</pre>
<p>Last is the RemoveBackground function, which is the one that does all the hard work. It scans the image and removes unwanted colors. But is quite and simple function. As of right now it just draws the image to the browser as a png, but that is easily modified.</p>
<p>You will have to play around with the difference when calling the RemoveBackground function to get your desired results.</p>
<pre class="syntax-highlight:php">
function RemoveBackground($image, $foregroundColor, $difference = 0) {
        if(file_exists($image)) {
            list($width, $height, $type) = getimagesize($image);
            $ext = strtolower(array_pop(explode(&quot;.&quot;, $image)));
            $img = null;

            switch($ext) {
                case &quot;jpg&quot;:
                case &quot;jpeg&quot;:
                    $img = imagecreatefromjpeg($image);
                    break;
                case &quot;png&quot;:
                    $img = imagecreatefrompng($image);
                    break;
                case &quot;gif&quot;:
                    $img = imagecreatefromgif($image);
                    break;
                case &quot;bmp&quot;:
                    $img = imagecreatefromwbmp($image);
                    break;
                case &quot;xbm&quot;:
                    $img = imagecreatefromxbm($image);
                    break;
                case &quot;xpm&quot;:
                    $img = imagecreatefromxpm($image);
                    break;
            }

            if($img != null) {
                list($r, $g, $b) = HexToRGB($foregroundColor);
                $color = imagecolorallocate($img, $r, $g, $b);
                $white = imagecolorallocate($img, 255, 255, 255);
                $black = imagecolorallocate($img, 0, 0, 0);

                for($x = 0; $x &lt; $width; $x++) {
                    for($y = 0; $y &lt; $height; $y++) {
                        $pixelColor = imagecolorat($img, $x, $y);
                        $pixelR = ($pixelColor &gt;&gt; 16) &amp; 0xFF;
                        $pixelG = ($pixelColor &gt;&gt; 8) &amp; 0xFF;
                        $pixelB = $pixelColor &amp; 0xFF;

                        if($pixelR &lt; ($r - $difference) || $pixelR &gt; ($r + $difference) ||
                            $pixelG &lt; ($g - $difference) || $pixelG &gt; ($g + $difference) ||
                            $pixelB &lt; ($b - $difference) || $pixelB &gt; ($b + $difference)) {
                            if($color != $white) {
                                imagesetpixel($img, $x, $y, $white);
                            }
                            else {
                                imagesetpixel($img, $x, $y, $black);
                            }
                        }
                        else {
                            imagesetpixel($img, $x, $y, $pixelColor);
                        }
                    }
                }
                header(&quot;Content-Type: image/png&quot;);
                imagepng($img, null);
            }
        }
    }
</pre>
<p>It is a simple as that. Below is a zip file containing the functions above, as well as a test image.<br />
<a href="http://www.coryborrow.com/downloads/Background+Removal" title="Version 1.0.0 downloaded 38 times" >Background Removal (38)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryborrow.com/2008/09/05/simple-background-removal-with-php-and-gd/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fuzzy array search using PHP.</title>
		<link>http://www.coryborrow.com/2008/07/26/fuzzy-array-search-using-php/</link>
		<comments>http://www.coryborrow.com/2008/07/26/fuzzy-array-search-using-php/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 02:46:37 +0000</pubDate>
		<dc:creator>Cory</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.coryborrow.com/?p=15</guid>
		<description><![CDATA[Update on the fuzzy string search with PHP article. I&#8217;ve seen a few searches from Google of people try to find out how to do a fuzzy / approximate string search against array values, well today I have the class for doing just that.
The class is simple to use.
It also does multi-level searching, so embed [...]]]></description>
			<content:encoded><![CDATA[<p>Update on the fuzzy string search with PHP article. I&#8217;ve seen a few searches from Google of people try to find out how to do a fuzzy / approximate string search against array values, well today I have the class for doing just that.</p>
<p>The class is simple to use.<br />
It also does multi-level searching, so embed the arrays as far as you want.</p>
<pre class="syntax-highlight:php">
&lt;?php
    include &quot;FuzzyArraySearch.php&quot;;
    $search = new ArraySearch(&quot;test&quot;, array(&quot;pest&quot;);
    $search-&gt;Search();
    $search-&gt;GetResults();
?&gt;
</pre>
<p>As a quick example, the following array.</p>
<pre class="syntax-highlight:php">
array(&quot;rest&quot;, &quot;string&quot;, &quot;blah&quot;, array(&quot;hello&quot;, array(&quot;again&quot;, array(array(array(&quot;reset&quot;), &quot;rest&quot;))), &quot;pest&quot;))
</pre>
<p>Output the following when var_dumping the results.</p>
<pre class="syntax-highlight:php">
array
  0 =&gt; string &#039;rest at Base-&gt;0&#039; (length=15)
  1 =&gt; string &#039;reset at Base-&gt;3-&gt;1-&gt;1-&gt;0-&gt;0-&gt;0&#039; (length=31)
  2 =&gt; string &#039;rest at Base-&gt;3-&gt;1-&gt;1-&gt;0-&gt;0-&gt;1&#039; (length=30)
  3 =&gt; string &#039;pest at Base-&gt;3-&gt;1-&gt;2&#039; (length=21)
</pre>
<p>Quite simple. Anyhow, that is all I wanted to post, the download link is just below.</p>
<p><a href="http://www.coryborrow.com/downloads/Fuzzy+Array+Search" title="Version 1.0.0 downloaded 71 times" >Fuzzy Array Search (71)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryborrow.com/2008/07/26/fuzzy-array-search-using-php/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SimpleMail - Easily send email&#8217;s with attachments from php.</title>
		<link>http://www.coryborrow.com/2008/07/24/simplemail-easily-send-emails-with-attachments-from-php/</link>
		<comments>http://www.coryborrow.com/2008/07/24/simplemail-easily-send-emails-with-attachments-from-php/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 18:07:22 +0000</pubDate>
		<dc:creator>Cory</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[code.]]></category>

		<guid isPermaLink="false">http://www.coryborrow.com/?p=13</guid>
		<description><![CDATA[Here is a pretty simple class that uses the default mail function so no sockets or direct connections to server&#8217;s
have to be used. But this script will allow you to add multiple contacts, as well as multiple attachments, easily.
It is as simple as this.

&#60;?php
    include &#34;SimpleMail.php&#34;;
    $mail = new [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a pretty simple class that uses the default mail function so no sockets or direct connections to server&#8217;s<br />
have to be used. But this script will allow you to add multiple contacts, as well as multiple attachments, easily.</p>
<p>It is as simple as this.</p>
<pre class="syntax-highlight:php">
&lt;?php
    include &quot;SimpleMail.php&quot;;
    $mail = new SimpleMail(&quot;test@domain.com&quot;, &quot;test@test.com&quot;, &quot;This is a test message&quot;);

    $msg = &quot;This is a quick test message, just sending some attachments\n&quot;;
    $msg.= &quot;with this test email, yeah&quot;;

    $mail-&gt;AddMessage($msg);
    $mail-&gt;AddAttachment(&quot;test.txt&quot;);
    $mail-&gt;AddAttachment(&quot;test.png&quot;);
    $mail-&gt;AddAttachment(&quot;test.jpg&quot;);

    if($mail-&gt;SendMessage()) {
        echo &quot;Your message was sussecfully sent&quot;;
    }
    else {
        echo &quot;Your message failed to send, please try again later&quot;;
    }
?&gt;
</pre>
<p>Hope someone finds it useful, enjoy.<br />
<a href="http://www.coryborrow.com/downloads/SimpleMail" title="Version 1.0 downloaded 69 times" >SimpleMail (69)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryborrow.com/2008/07/24/simplemail-easily-send-emails-with-attachments-from-php/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Create image preview of textfile with PHP and the GD library.</title>
		<link>http://www.coryborrow.com/2008/07/23/create-image-preview-of-textfile-with-php-and-the-gd-library/</link>
		<comments>http://www.coryborrow.com/2008/07/23/create-image-preview-of-textfile-with-php-and-the-gd-library/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 00:19:03 +0000</pubDate>
		<dc:creator>Cory</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[code.]]></category>

		<guid isPermaLink="false">http://www.coryborrow.com/?p=9</guid>
		<description><![CDATA[This will be a small tutorial on how to create preview images / thumbnails of textfiles using PHP and the built-in GD library.
Note: This tutorial requires that you have GD2+ with Freetype support.
Ok so lets get started. This is actually quite an easy task, the basic idea is that we read in the lines of [...]]]></description>
			<content:encoded><![CDATA[<p>This will be a small tutorial on how to create preview images / thumbnails of textfiles using PHP and the built-in GD library.<br />
<strong>Note: </strong>This tutorial requires that you have GD2+ with Freetype support.</p>
<p>Ok so lets get started. This is actually quite an easy task, the basic idea is that we read in the lines of the<br />
textfile convert tabs to spaces, and then draw each line to the image file we have created, easy huh?</p>
<p>First things first lets create the function name and arguments.</p>
<pre class="syntax-highlight:php">
function FileToThumb($textSource, $thumbDest, $width, $height, $useEntireFile) {

}
</pre>
<p>Ok we now have are function and are ready to start adding code, but first a brief overview of<br />
what each argument is for.</p>
<p>$textSource - The textfile to read from.<br />
$thumbDesc - The path to save the image, use null to display in browser.<br />
$width - The width of the image.<br />
$height - The height of the image.<br />
$useEntireFile - Use the entire file for the preview or just the first few lines.</p>
<p>Now that we have got that out of the way, lets start adding are code.<br />
Firstly we will want to check a couple of arguments, as well as checking for are<br />
fontfile.</p>
<pre class="syntax-highlight:php">
if(file_exists($textSource) &amp;&amp; is_readable($textSource) &amp;&amp; file_exists(&quot;arial.ttf&quot;)) {
        if($useEntireFile)
            $fontSize = 4;
        else
            $fontSize = 7;
</pre>
<p>Ok that will check that the text file and font file exists as well ad checking whether of not<br />
the text file is readable.</p>
<p>Now we can load are text file, get the maximum number of lines to draw<br />
and set up are image and colors.</p>
<pre class="syntax-highlight:php">
$lines = file($textSource);
$lineHeight = ($fontSize + 2);
$maxLines = ($height / $lineHeight);

$thumb = imagecreatetruecolor($width, $height);
$black = imagecolorallocate($thumb, 0, 0, 0);
$white = imagecolorallocate($thumb, 255, 255, 255);
imagefill($thumb, 0, 0, $white);
</pre>
<p>Ok now all that is left is to draw the lines and save the image.</p>
<pre class="syntax-highlight:php">
for($i = 1; $i &lt; $maxLines + 1; $i++) {
            $line = str_replace(&quot;\t&quot;, &quot;    &quot;, $lines[$i]);
            imagettftext($thumb, $fontSize, 0, 2, ($i * $lineHeight), $black, &quot;arial.ttf&quot;, $line);
        }

        if(!imagepng($thumb, $thumbDest)) {
            return false;
        }
        return true;
</pre>
<p>Ok and there it is, I used png because png is the better format for save images which contain alot of text.<br />
But now you probaly want the whole thing, so here you go.</p>
<pre class="syntax-highlight:php">
&lt;?php
/*
    FileToThumb - Creates a thumbnail preview of a textfile.
    arg1 = textfile to create preview of.
    arg2 = destination of thumbnail preview. (Use null to display to browser)
    arg3 = width of thumbnail.
    arg4 = height of thumbnail.
    arg5 = true or false for using the entire file or the first few
        lines for the thumbnail.
*/

function FileToThumb($textSource, $thumbDest, $width, $height, $useEntireFile) {
    if(file_exists($textSource) &amp;&amp; is_readable($textSource) &amp;&amp; file_exists(&quot;arial.ttf&quot;)) {
        if($useEntireFile)
            $fontSize = 4;
        else
            $fontSize = 7;

        $lines = file($textSource);
        $lineHeight = ($fontSize + 2);
        $maxLines = ($height / $lineHeight);

        $thumb = imagecreatetruecolor($width, $height);
        $black = imagecolorallocate($thumb, 0, 0, 0);
        $white = imagecolorallocate($thumb, 255, 255, 255);
        imagefill($thumb, 0, 0, $white);

        for($i = 1; $i &lt; $maxLines + 1; $i++) {
            $line = str_replace(&quot;\t&quot;, &quot;    &quot;, $lines[$i]);
            imagettftext($thumb, $fontSize, 0, 2, ($i * $lineHeight), $black, &quot;arial.ttf&quot;, $line);
        }

        if(!imagepng($thumb, $thumbDest)) {
            return false;
        }
        return true;
    }
}
?&gt;
</pre>
<p>Here is a simple example of the output of the function using this statment.</p>
<pre class="syntax-highlight:php">
FileToThumb(&quot;test.txt&quot;, &quot;test.png&quot;, 80, 120, false);
</pre>
<p><a href="http://www.coryborrow.com/wp-content/uploads/2008/07/test1.png"><img class="alignnone size-full wp-image-11" title="test" src="http://www.coryborrow.com/wp-content/uploads/2008/07/test1.png" alt="test" width="80" height="120" /></a></p>
<p>There is your ready to use function for creating image previews of textfiles, enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryborrow.com/2008/07/23/create-image-preview-of-textfile-with-php-and-the-gd-library/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Simple Fuzzy Search with PHP</title>
		<link>http://www.coryborrow.com/2008/07/08/fuzzy-search-with-php/</link>
		<comments>http://www.coryborrow.com/2008/07/08/fuzzy-search-with-php/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 19:01:43 +0000</pubDate>
		<dc:creator>Cory</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.coryborrow.com/?p=8</guid>
		<description><![CDATA[Approximate string search or Fuzzy string search, can be a difficult task if you have a very sophisticated searching / matching algorithm. So today I will show you a quite simple Fuzzy string search and use it to create a small efficient search application.
The CompareStrings method that we have ready is what we check a [...]]]></description>
			<content:encoded><![CDATA[<p>Approximate string search or Fuzzy string search, can be a difficult task if you have a very sophisticated searching / matching algorithm. So today I will show you a quite simple Fuzzy string search and use it to create a small efficient search application.</p>
<p>The CompareStrings method that we have ready is what we check a word against our search and give us back a value of difference (or threshold) from our search and the word we are checking. It does this by first checking each character while also checking for case insensitive or not, any difference in case if it applies or the character will add one to the threshold. We then check the length and add one for each single character difference in length. After all that we return the threshold and from there we can check the threshold to see if the word is something we want to keep and do something with. So before we do anything else, lets take a look at the CompareStrings function / method.</p>
<pre class="syntax-highlight:php">
function CompareStrings($str1, $str2, $caseInsensitive = false) {
	$threshold = 0;

	if(strlen($str1) != strlen($str2)) {
		if(strlen($str1) &gt; strlen($str2)) {
			$threshold = strlen($str1) - strlen($str2);
		}
		else if(strlen($str2) &gt; strlen($str1)) {
			$threshold = strlen($str2) - strlen($str1);
		}
	}

	for($i = 0; $i &lt; strlen($str1); $i++) {
		if($i &lt;= strlen($str2) - 1) {
			if($caseInsensitive) {
				if(strtolower($str1{$i}) != strtolower($str2{$i})) {
					$threshold++;
				}
			}
			else {
				if($str1{$i} != $str2{$i}) {
					$threshold++;
				}
			}
		}
	}
	return $threshold;
}
</pre>
<p>So you can now see how it checks words, it&#8217;s not really difficult but also could be much more intelligent. So now lets start with our search method, &#8220;PreformSearch&#8221;. This will be a simple method that just checks the threshold and if it is within are acceptable limits we will store the word in an array, after we have sorted through the entire string we then return the array.</p>
<p>First lets set up the method and it&#8217;s arguments, as well as are array to store are matches.</p>
<pre class="syntax-highlight:php">
function PreformSearch($search, $string, $threshold = 1, $caseSensitive = false) {
	$matches = array();
}
</pre>
<p>Ok we have that now lets start adding some searching abilities into are new function / method.<br />
We are going to check that the string to search is actually a string and is longer then 0 characters.</p>
<pre class="syntax-highlight:php">
if(isset($string) &amp;amp;&amp;amp; strlen($string) &gt; 0) {

}
return $matches;
</pre>
<p>Now that is out of the way, we can now break up the string, loop though it and check for are matches.</p>
<pre class="syntax-highlight:php">
$words = explode(&quot; &quot;, $this-&gt;string);

foreach($words as $word) {
        if(CompareStrings($search, $word, $caseInsensitive) &lt;= $threshold) {
                $matches[] = $word;
        }
}
</pre>
<p>There, that is all that is needed, so lets see the whole thing all together.</p>
<pre class="syntax-highlight:php">
function PreformSearch($search, $threshold = 1, $caseSensitive = false) {
	$matches = array();

	if(isset($this-&gt;string) &amp;amp;&amp;amp; strlen($this-&gt;string) &gt; 0) {
		$words = explode(&quot; &quot;, $this-&gt;string);

		foreach($words as $word) {
			if(CompareStrings($search, $word, $caseInsensitive) &lt;= $threshold) {
                                $matches[] = $word;
                        }
		}
	}
	return $matches;
}
</pre>
<p>and there it is. That is all that is needed for a very simple fuzzy string search using PHP.<br />
So as you can see the above functions give you a base to start a much more sophisticated search then what is seen<br />
here.</p>
<p>Below is a download to a FuzzySearch class, and a couple of test&#8217;s using it.</p>
<p><a href="http://www.coryborrow.com/downloads/Fuzzy+Search+for+PHP" title="Version 1.0.1 downloaded 90 times" >Fuzzy Search for PHP (90)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryborrow.com/2008/07/08/fuzzy-search-with-php/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SpellChecker.</title>
		<link>http://www.coryborrow.com/2008/07/07/spellchecker/</link>
		<comments>http://www.coryborrow.com/2008/07/07/spellchecker/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 03:26:04 +0000</pubDate>
		<dc:creator>Cory</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[code.]]></category>

		<guid isPermaLink="false">http://www.coryborrow.com/?p=7</guid>
		<description><![CDATA[I am currently in the process of writing my own spell checking library, pretty much just because it&#8217;s a good learning experince and because I can. Anyway it seems to work pretty good so far, it is quite simple though uses the following steps to accomplish spell checking.

Check current word in dictionary/list of words.
If no [...]]]></description>
			<content:encoded><![CDATA[<p>I am currently in the process of writing my own spell checking library, pretty much just because it&#8217;s a good learning experince and because I can. Anyway it seems to work pretty good so far, it is quite simple though uses the following steps to accomplish spell checking.</p>
<ol>
<li>Check current word in dictionary/list of words.</li>
<li>If no exact match is found(case insensitive or not) then it starts matching.</li>
<li>Matching the words involves going though each word in list and comparing the strings.</li>
<li>Strings are compared by a CompateStrings method that rates string2 against string1 on a 100 point scale.</li>
<li>Words that come withing a certain point limit of string1 will be added to a list of possible suggestions and returned.</li>
</ol>
<p>This all seems to work pretty good, quite quickly for how it does it, but then I have not done any 10,000+ word dictionary / list searches yet, but I will soon and update with some speed results.</p>
<p>But back to the CompareStrings method, this method gives both strings 100 points, and rates string2 against string1 it first gets how many points each char are worth, afterwards compares each char in string1 to string2 a certain points per char are lost for each character that does not match, afterwards it checkers for the lengths and then multiplies the points per char to the difference in chars and returns the score that string2 got. Pretty simple, but pretty effective so far.</p>
<p>Anyways I will post a downlod to the current version quite soon, I have still got to implement a couple of things, maybe also make suggestion searches a little better.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryborrow.com/2008/07/07/spellchecker/feed/</wfw:commentRss>
		</item>
		<item>
		<title>NotificationBar - Free .NET control.</title>
		<link>http://www.coryborrow.com/2008/07/05/notificationbar-free-net-control/</link>
		<comments>http://www.coryborrow.com/2008/07/05/notificationbar-free-net-control/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 14:55:06 +0000</pubDate>
		<dc:creator>Cory</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[code.]]></category>

		<guid isPermaLink="false">http://coryborrow.com/?p=4</guid>
		<description><![CDATA[So I got a free control here for you. It is a pretty simple control, completly in C#. It is a notification/information bar, like that found in IE when you try to download something.

Features of this control include.

LGPL License.
Easy to use.
Works on Mono.
Automatically resizes to fit text.
Can play system sound when shown.
Can flash control any [...]]]></description>
			<content:encoded><![CDATA[<p>So I got a free control here for you. It is a pretty simple control, completly in C#. It is a notification/information bar, like that found in IE when you try to download something.</p>
<p><a href="http://coryborrow.com/wp-content/uploads/2008/07/infobar03_normal.png"><img class="alignnone size-thumbnail wp-image-5" title="infobar03_normal" src="http://coryborrow.com/wp-content/uploads/2008/07/infobar03_normal-150x150.png" alt="NotificationBar Example." width="150" height="150" /></a><a href="http://www.coryborrow.com/wp-content/uploads/2008/07/snapshot1.png"><img class="alignnone size-thumbnail wp-image-6" title="snapshot1" src="http://www.coryborrow.com/wp-content/uploads/2008/07/snapshot1-150x150.png" alt="Screenshot of notification bar and demo under linux." width="150" height="150" /></a></p>
<p>Features of this control include.</p>
<ul>
<li>LGPL License.</li>
<li>Easy to use.</li>
<li>Works on Mono.</li>
<li>Automatically resizes to fit text.</li>
<li>Can play system sound when shown.</li>
<li>Can flash control any number of times for any number of milliseconds.</li>
<li>Can show a ContextMenuStrip when clicked.</li>
<li>Useful for when you don&#8217;t want to show a MessageBox but want to give the user some info.</li>
<li>Uses .NET 2.0.</li>
<li>Written in C#.</li>
</ul>
<p>It comes with a demo project and you can download it here - <a href="http://www.coryborrow.com/downloads/NotificationBar.zip" title="Version 1.0.4 downloaded 343 times" >NotificationBar.zip (343)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryborrow.com/2008/07/05/notificationbar-free-net-control/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hello world!</title>
		<link>http://www.coryborrow.com/2008/07/03/hello-world/</link>
		<comments>http://www.coryborrow.com/2008/07/03/hello-world/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 15:42:47 +0000</pubDate>
		<dc:creator>Cory</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[code.]]></category>

		<category><![CDATA[First post]]></category>

		<category><![CDATA[Hello]]></category>

		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://coryborrow.com/?p=1</guid>
		<description><![CDATA[Well, here is my first post on my new blog / site (Code for thought).
So to get started, my name is Cory. I like to write code, dabble in electronics and mostly anythng that has to do with computers. On this blog in future posts you will find things such as C#/.NET code as well [...]]]></description>
			<content:encoded><![CDATA[<p>Well, here is my first post on my new blog / site (Code for thought).</p>
<p>So to get started, my name is Cory. I like to write code, dabble in electronics and mostly anythng that has to do with computers. On this blog in future posts you will find things such as C#/.NET code as well as controls for .NET. You may also find some PHP, C/C++, as well as just other random topics.</p>
<p>So welcome and hopefully you&#8217;ll come back later for more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryborrow.com/2008/07/03/hello-world/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
