<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.1" -->
<rss version="0.92">
<channel>
	<title>Ray Morgan</title>
	<link>http://raymorgan.net</link>
	<description>Web Development, Travel, Photography, and more</description>
	<lastBuildDate>Sat, 16 Jan 2010 02:30:40 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>The Firefox &#8216;Work Offline&#8217; Bug</title>
		<description><![CDATA[Here&#8217;s a maddening problem I observed while using Firefox 3.5 for PHP development. (My laptop dev environment consists of Windows 7, PHP 5.3, MySQL 5 and Apache 2.2.)
The Problem
Without warning, Firefox suddenly stopped showing the changes I was making to my PHP code. Refreshes (including hard refreshes) simply resulted in the last cached version of [...]]]></description>
		<link>http://raymorgan.net/web-development/the-firefox-work-offline-bug/</link>
			</item>
	<item>
		<title>How to Use the User Interface to Discover All the Use Cases</title>
		<description><![CDATA[If you build software for a living, it&#8217;s a matter of time before you find yourself discovering too late in a project that some important piece of functionality wasn&#8217;t accounted for. Often this is the result of assumptions &#8212; whoever was responsible for writing the functional spec assumed that some piece of functionality must be [...]]]></description>
		<link>http://raymorgan.net/web-development/using-the-ui-to-discover-use-cases/</link>
			</item>
	<item>
		<title>How to Validate Objects in PHP</title>
		<description><![CDATA[(Note: This article is incomplete &#8211; I&#8217;m just using it to work out some kinks with the new site tools)
One of the most tedious aspects of large projects is handling validation on all the objects they use.
Validation of user input is important to all software, but it has some special security implications for web-based software. [...]]]></description>
		<link>http://raymorgan.net/programming/how-to-validate-objects/</link>
			</item>
	<item>
		<title>How to Obfuscate Integer IDs</title>
		<description><![CDATA[Abstract
Many web sites and applications expose information about themselves by using plain integers as IDs. URIs often identify entities like pages, content elements, and even users in the form http://example.com/content.php?page=42. For example:

Using simple integers may expose certain information about a system, such as how many items a site has in its catalog or how quickly [...]]]></description>
		<link>http://raymorgan.net/web-development/how-to-obfuscate-integer-ids/</link>
			</item>
	<item>
		<title>Write the Client Code First</title>
		<description><![CDATA[<strong>Any time you have code that will provide a service and client code that will use that service, <em>write the client code first</em>.</strong> In other words, don't lock down lower-level code and then wrestle to make higher-level code use it. Whenever possible, let the client code set the requirement for the code it uses.]]></description>
		<link>http://raymorgan.net/web-development/write-the-client-code-first/</link>
			</item>
</channel>
</rss>
