<?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>PHP Musings</title>
	<atom:link href="http://www.charles-reace.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.charles-reace.com/blog</link>
	<description>Random thoughts about PHP, MySQL, and life in general</description>
	<pubDate>Sat, 25 Oct 2008 08:18:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Sub-Domains on Windows localhost</title>
		<link>http://www.charles-reace.com/blog/2008/10/25/sub-domains-on-windows-localhost/</link>
		<comments>http://www.charles-reace.com/blog/2008/10/25/sub-domains-on-windows-localhost/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 08:18:05 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
		
		<category><![CDATA[General]]></category>

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

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=131</guid>
		<description><![CDATA[I find it useful when working on a web project to set up a sub-domain on my development PC's "localhost" Apache installation. This allows me to test the project by accessing pages via that sub-domain, treating the directory being used as the root of that sub-domain as if it were the web document root directory [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2008/10/25/sub-domains-on-windows-localhost/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Filtering MS Word Text</title>
		<link>http://www.charles-reace.com/blog/2008/10/15/filtering-ms-word-text/</link>
		<comments>http://www.charles-reace.com/blog/2008/10/15/filtering-ms-word-text/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 21:04:26 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
		
		<category><![CDATA[HTML]]></category>

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

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

		<category><![CDATA[UTF-8]]></category>

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=121</guid>
		<description><![CDATA[A common annoyance when dealing with user-supplied content is the way MS Word uses some non-standard character encodings (at least non-standard in terms of the web). Among others, these include the directional (a.k.a. "smart") quotes. The problem occurs when you output text that contains those characters as a result of a user copying and pasting [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2008/10/15/filtering-ms-word-text/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UTF8 in PHP and MySQL</title>
		<link>http://www.charles-reace.com/blog/2008/10/03/utf8-in-php-and-mysql/</link>
		<comments>http://www.charles-reace.com/blog/2008/10/03/utf8-in-php-and-mysql/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 20:15:35 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
		
		<category><![CDATA[PHP]]></category>

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

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

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=103</guid>
		<description><![CDATA[The intent of this article is to tie together some things I've learned to do in order to get my web apps to "play nicely" with the UTF8 character set. Before we go any further, let me state that I do not claim to be an expert on this; the following is simply a collection [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2008/10/03/utf8-in-php-and-mysql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Calculate Age: One-Liner Fun</title>
		<link>http://www.charles-reace.com/blog/2008/09/20/calculate-age-one-liner-fun/</link>
		<comments>http://www.charles-reace.com/blog/2008/09/20/calculate-age-one-liner-fun/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 17:06:45 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
		
		<category><![CDATA[PHP]]></category>

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

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=96</guid>
		<description><![CDATA[Here's a little one-liner I thought up today for this PHPBuilder forum thread. It's purpose is to calculate someone's age when you know the year, month, and day of their birth (integer values). In this snippet it is assumed that $year, $month, and $day hold the integer values for the birthday of interest.
$today = time();
for($yr [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2008/09/20/calculate-age-one-liner-fun/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using Akismet to Detect Spam Email</title>
		<link>http://www.charles-reace.com/blog/2008/09/06/using-akismet-to-detect-spam-email/</link>
		<comments>http://www.charles-reace.com/blog/2008/09/06/using-akismet-to-detect-spam-email/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 05:48:44 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
		
		<category><![CDATA[PHP]]></category>

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

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

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=86</guid>
		<description><![CDATA[After seeing the effectiveness of the Akisment WordPress plug-in at filtering out spam comments here, I decided to see if I could use it in conjunction with a email contact form. I thought it might be interesting to some of my readers (there are at least a couple) to keep a sort of journal here [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2008/09/06/using-akismet-to-detect-spam-email/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tabbed Ouput with Tidy</title>
		<link>http://www.charles-reace.com/blog/2008/09/05/tabbed-ouput-with-tidy/</link>
		<comments>http://www.charles-reace.com/blog/2008/09/05/tabbed-ouput-with-tidy/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:21:30 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
		
		<category><![CDATA[HTML]]></category>

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

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=73</guid>
		<description><![CDATA[In response to this thread at WebDeveloper.com, I came up with the idea of using PHP's Tidy functions to format the HTML output from a script. The basic idea was to capture all the output by using ob_start() to buffer the output and then ob_get_clean() to save it to a variable. Then just run it [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2008/09/05/tabbed-ouput-with-tidy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Chrome Beta</title>
		<link>http://www.charles-reace.com/blog/2008/09/03/google-chrome-beta/</link>
		<comments>http://www.charles-reace.com/blog/2008/09/03/google-chrome-beta/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 20:17:49 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
		
		<category><![CDATA[General]]></category>

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

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

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=63</guid>
		<description><![CDATA[Note: See the comments section regarding the change in the EULA.
As I posted at PHPBuilder.com, Ghrome, Google's entry into the browser wars, now has a beta version available for public download (Windows XP/Vista only, for now).
My initial impression is that it works just fine and seems pretty "peppy". For me it has one bug so [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2008/09/03/google-chrome-beta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blog Comments and Spam</title>
		<link>http://www.charles-reace.com/blog/2008/08/31/blog-comments-and-spam/</link>
		<comments>http://www.charles-reace.com/blog/2008/08/31/blog-comments-and-spam/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 17:13:25 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=61</guid>
		<description><![CDATA[Due to the recent number of "Spam" comments received on this blog, I have been forced to implement the restriction that all users must be registered and logged in before they can submit comments. Sorry for any inconvenience; once again you can thank the spamming scum of the world who do their best to ruin [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2008/08/31/blog-comments-and-spam/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Aptana IDE, New PHP File</title>
		<link>http://www.charles-reace.com/blog/2008/08/17/aptana-ide-new-php-file/</link>
		<comments>http://www.charles-reace.com/blog/2008/08/17/aptana-ide-new-php-file/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 17:54:12 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
		
		<category><![CDATA[PHP]]></category>

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

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

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=54</guid>
		<description><![CDATA[I recently downloaded and installed the Community Edition (i.e.: free) of the Aptana Studio IDE, which includes a PHP plug-in. My initial impression is a good one, and at some point I'll probably write a review here; but for now I just wanted to report on a problem I encountered and the very simple fix [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2008/08/17/aptana-ide-new-php-file/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Securing Uploaded Image Files</title>
		<link>http://www.charles-reace.com/blog/2008/08/05/securing-uploaded-image-files/</link>
		<comments>http://www.charles-reace.com/blog/2008/08/05/securing-uploaded-image-files/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 16:00:10 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
		
		<category><![CDATA[PHP]]></category>

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

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

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=48</guid>
		<description><![CDATA[I just saw this post by "jazz_snob" posted at PHPBuilder.com, suggesting a means to secure untrusted image files. The basic idea is to use PHP's GD image functions to create a copy of the file. As doing so would decompose the specified file into GD's native bitmap format, and then recompose it into the desired [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2008/08/05/securing-uploaded-image-files/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
