<?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>Stevedev Inc. &#187; Web Development</title>
	<atom:link href="http://stevedev.com/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://stevedev.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 11 Mar 2010 20:31:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zend Framework + Doctrine + ExtJS</title>
		<link>http://stevedev.com/2010/01/05/zend-framework-doctrine-extjs/</link>
		<comments>http://stevedev.com/2010/01/05/zend-framework-doctrine-extjs/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 03:35:35 +0000</pubDate>
		<dc:creator>Steve Thompson</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[doctrine orm]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://stevedev.com/?p=65</guid>
		<description><![CDATA[I started working on a new project today, which I hope to write about as I work through the different parts and challenges presented. I&#8217;m developing the project in PHP using Zend Framework with Doctrine ORM for the database layer. I&#8217;ve used ZF for a few projects now and it just keeps getting better and [...]]]></description>
			<content:encoded><![CDATA[<p>I started working on a new project today, which I hope to write about as I work through the different parts and challenges presented. I&#8217;m developing the project in PHP using <a href="http://framework.zend.com">Zend Framework</a> with <a href="http://www.doctrine-project.org/">Doctrine ORM </a>for the database layer. I&#8217;ve used ZF for a few projects now and it just keeps getting better and more mature. I&#8217;ve been reading about Doctrine ORM and read a few <a href="http://dev.juokaz.com/php/zend-framework-and-doctrine-part-1">articles</a> about integrating it with ZF and so far it&#8217;s been really good, although I&#8217;ve just barely scratched the surface.</p>
<p>The frontend of the project is going to just use the Zend Application MVC tool, but for the backend I&#8217;m using <a href="http://www.extjs.org">ExtJS</a>. I&#8217;ve been a fan of ExtJS and used it for a few projects now but this time I&#8217;m trying something new &#8211; I&#8217;m using Zend_Json_Server to provide the data directly to ExtJS. I&#8217;m still working out how it works, but basically you create the objects on the backend, enable Zend_Json_Server and then your objects and methods are available right within the Ext.Direct and Ext.DataStore objects. Very slick. Once I&#8217;ve figured it out more I&#8217;ll post some links to the resources that helped me the most.</p>
<p>Also, it seems that everytime I log into WP there is a software update&#8230; maybe I need to post more.</p>
]]></content:encoded>
			<wfw:commentRss>http://stevedev.com/2010/01/05/zend-framework-doctrine-extjs/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Working Vacation</title>
		<link>http://stevedev.com/2009/10/31/working-vacation/</link>
		<comments>http://stevedev.com/2009/10/31/working-vacation/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 22:27:49 +0000</pubDate>
		<dc:creator>Steve Thompson</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://stevedev.com/?p=53</guid>
		<description><![CDATA[Heading out on Monday for what was supposed to be a good week and a half off from work. Unfortunately, one of the drawbacks of working for yourself is that sometimes its really hard to get away from work. You try to tell everybody you are going to be away and work a bit harder [...]]]></description>
			<content:encoded><![CDATA[<p>Heading out on Monday for what was supposed to be a good week and a half off from work. Unfortunately, one of the drawbacks of working for yourself is that sometimes its really hard to get away from work. You try to tell everybody you are going to be away and work a bit harder before and after to try and make up for it, but sometimes you can&#8217;t avoid having to do some work. For example, I started a project two weeks ago that I thought would be finished by now, but it turns out it is going to take another week and the deadline is next week, while I&#8217;m gone. Good times! Ah well&#8230; at least I&#8217;ll get some time off. <img src='http://stevedev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://stevedev.com/2009/10/31/working-vacation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Frameworks Review</title>
		<link>http://stevedev.com/2009/09/10/php-frameworks-review/</link>
		<comments>http://stevedev.com/2009/09/10/php-frameworks-review/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 23:50:40 +0000</pubDate>
		<dc:creator>Steve Thompson</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://stevedev.com/?p=46</guid>
		<description><![CDATA[Over the last couple of weeks I&#8217;ve been able to work on projects using Zend Framework, CakePHP, and CodeIgniter. These are just a few of my own thoughts on the different frameworks.
CakePHP
Not a huge fan. My understanding is that CakePHP spawned from a desire to replicate the Ruby on Rails movement in PHP. My experience [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last couple of weeks I&#8217;ve been able to work on projects using Zend Framework, CakePHP, and CodeIgniter. These are just a few of my own thoughts on the different frameworks.</p>
<h3>CakePHP</h3>
<p>Not a huge fan. My understanding is that CakePHP spawned from a desire to replicate the Ruby on Rails movement in PHP. My experience though is that it is slow and poorly documented. They try to get you to do things their way and I&#8217;m just not a big fan of that. I can understand trying to standardize for the sake of rapid development, but then you are stuck with development methods which work for small scale projects and not large complicated ones.</p>
<h3>Zend Framework</h3>
<p>This is the framework I&#8217;ve had the most experience. It&#8217;s got great documentation and a very active community. It does have the biggest learning curve though. While it&#8217;s true that ZF was more of a library in the past, they&#8217;ve made great strides to provide an application framework and a pretty decent one at that. It&#8217;s flexible and extensible. You can quickly whip up a small project and the system is adaptable enough that you can also build out large scalable projects.</p>
<h3>CodeIgniter</h3>
<p>CI is a great choice for those who don&#8217;t want to deal with the learning curve of ZF. It&#8217;s fast, well documented and has a great development community. It&#8217;s supported by a great company who has done a great job developing and promoting the framework. After working with CakePHP it felt refreshing to work with CI. Things were cleaner, faster, and just made more sense to me.</p>
<h3>Summary</h3>
<p>You can probably tell that I&#8217;m not a CakePHP fan. If I hadn&#8217;t picked up ZF for a few projects earlier in the year I probably would use CodeIgniter for everything. It&#8217;s still a bit of a toss up.</p>
]]></content:encoded>
			<wfw:commentRss>http://stevedev.com/2009/09/10/php-frameworks-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Typekit</title>
		<link>http://stevedev.com/2009/08/18/typekit/</link>
		<comments>http://stevedev.com/2009/08/18/typekit/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 05:17:51 +0000</pubDate>
		<dc:creator>Steve Thompson</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[typekit]]></category>

		<guid isPermaLink="false">http://stevedev.com/?p=41</guid>
		<description><![CDATA[Got my invitation to the Typekit beta today!
First thoughts &#8211; great interface! The UI design makes it super easy to pick which font you want and assign it to the elements of your site. I just picked a couple just to test things out but I&#8217;m not a designer so it might take me a [...]]]></description>
			<content:encoded><![CDATA[<p>Got my invitation to the Typekit beta today!</p>
<p>First thoughts &#8211; great interface! The UI design makes it super easy to pick which font you want and assign it to the elements of your site. I just picked a couple just to test things out but I&#8217;m not a designer so it might take me a while to figure out what I want.</p>
<p>I can&#8217;t wait until there are more fonts &#8211; it would be great to see some there from some of the big foundries. Also, it would speed up things if they could use a bit of AJAX in the interface. I find that looking for fonts is a process where I need to scan a lot of them fairly quickly and speeding up the UI would be great for that. One last thing I think is missing, but isn&#8217;t a huge deal, is a search field. I think that is something which would be more important when they have more fonts, but it will be great if I have a specific font in mind to just quickly search for it by name.</p>
<p>I am very impressed though and I can&#8217;t wait to sign up my designer friends so they can start working with fonts other than the usual, and so they can stop using image replacement.</p>
]]></content:encoded>
			<wfw:commentRss>http://stevedev.com/2009/08/18/typekit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML 5</title>
		<link>http://stevedev.com/2009/07/16/html-5/</link>
		<comments>http://stevedev.com/2009/07/16/html-5/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 14:48:52 +0000</pubDate>
		<dc:creator>Steve Thompson</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://stevedev.com/?p=28</guid>
		<description><![CDATA[I&#8217;m fascinated by the huge amount of discussion going on right now around HTML 5. Both John Allsop and Jeffrey Zeldman have written some interesting commentary in the last couple of days outlining what they believe is wrong with both the spec and the process involved in developing the spec. Most interesting to me is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m fascinated by the huge amount of discussion going on right now around HTML 5. Both <a href="http://www.zeldman.com/2009/07/13/html-5-nav-ambiguity-resolved/#comment-44699">John Allsop</a> and <a href="http://www.zeldman.com/2009/07/16/html-5-is-a-mess-now-what/"><cite></cite>Jeffrey Zeldman</a> have written some interesting commentary in the last couple of days outlining what they believe is wrong with both the spec and the process involved in developing the spec. Most interesting to me is that a lot of the so called mess is a result from an open process. A lot of us who work with clients on a daily basis have had the experience of working with a client that makes design decisions by committee and the pain if it there isn&#8217;t a strong leader in place to guide the process. Sometimes even if you have a strong leader you can end producing a lower quality product or a partial solution.</p>
<p>The openness of the web has created an environment where anybody can make a website without having to go to university or accept a specific standard to follow. You can choose to follow a spec but you can also choose to make your website work only on specific browsers or to develop very very messy code that can still work. I think that this is good – it is an open medium to which anybody can potentially publish – and bad – it&#8217;s now impossible to start over developing a new one-standard-fits-all solution.</p>
<p>HTML 5 attempts to address the web as it is and I think that all of this discussion is great. Let&#8217;s get it out in the open and have thoughtful commentary from seasoned pros and from new developers. Let&#8217;s not forget though that there does need to be guidance and direction otherwise we will never see HTML 5 move beyond draft status.</p>
]]></content:encoded>
			<wfw:commentRss>http://stevedev.com/2009/07/16/html-5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Working With Legacy Code &#8211; magic_quotes_gpc</title>
		<link>http://stevedev.com/2009/07/14/working-with-legacy-code-magic_quotes_gpc/</link>
		<comments>http://stevedev.com/2009/07/14/working-with-legacy-code-magic_quotes_gpc/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 14:06:00 +0000</pubDate>
		<dc:creator>Steve Thompson</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[hacks]]></category>

		<guid isPermaLink="false">http://stevedev.com/?p=24</guid>
		<description><![CDATA[Sometimes you have to work with legacy code and you don't have the budget to refactor it to remove practices that are deprecated. magic_quotes_gpc was a setting that was turned on for a lot of PHP 4 installations but it is now no longer a best practice to have it on.]]></description>
			<content:encoded><![CDATA[<p>Sometimes you have to work with legacy code and you don&#8217;t have the budget to refactor it to remove practices that are deprecated. magic_quotes_gpc was a setting that was turned on for a lot of PHP 4 installations but it is now no longer a best practice to have it on. If you aren&#8217;t sure what that is, it automatically adds slashes or quotes data that comes in to PHP via cookies or a GET or POST HTTP request.</p>
<p>The PHP website has a good method of stripping out those slashes if you are unable to turn off magic_quotes_gpc (<a href="http://ca3.php.net/manual/en/security.magicquotes.disabling.php">http://ca3.php.net/manual/en/security.magicquotes.disabling.php</a>). But what if you need it on to run your legacy code? Here is the inverse of the solution that is provided on the PHP website:</p>
<pre>if (!get_magic_quotes_gpc()) {
	function addslashes_deep($value)
	{
		$value = is_array($value) ?
		array_map('addslashes_deep', $value) :
		addslashes($value);
		return $value;
	}

	$_POST = array_map('addslashes_deep', $_POST);
	$_GET = array_map('addslashes_deep', $_GET);
	$_COOKIE = array_map('addslashes_deep', $_COOKIE);
	$_REQUEST = array_map('addslashes_deep', $_REQUEST);
}
</pre>
<p>Put that at the beginning of your script and it will add all of the slashes back in. Not ideal, but if you have no other option it will get you going again.</p>
]]></content:encoded>
			<wfw:commentRss>http://stevedev.com/2009/07/14/working-with-legacy-code-magic_quotes_gpc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Thoughts</title>
		<link>http://stevedev.com/2009/06/12/wordpress-thoughts/</link>
		<comments>http://stevedev.com/2009/06/12/wordpress-thoughts/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 23:17:33 +0000</pubDate>
		<dc:creator>Steve Thompson</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://stevedev.com/?p=12</guid>
		<description><![CDATA[This site is now running WordPress, pretty much the best blogging software out there, and so I thought it might be good to quickly write about the process and why I love working with it.
Installation
WordPress is fairly straight forward to install, provided you know how to create a database and change some permissions on your [...]]]></description>
			<content:encoded><![CDATA[<p>This site is now running <a href="http://www.wordpress.org/">WordPress</a>, pretty much the best blogging software out there, and so I thought it might be good to quickly write about the process and why I love working with it.</p>
<h2>Installation</h2>
<p>WordPress is fairly straight forward to install, provided you know how to create a database and change some permissions on your webserver. A typical install for me goes like this:</p>
<ol>
<li>Create a Database and User &#8211; Login to MySQL and add a new db, and create a user that has access only to this table. This is important because I do have some other sites running on my server. Although you could do this from the command line, I often find it faster to just load up <a href="http://navicat.com/en/products/navicat_mysql/mysql_overview.html">Navicat for MySQL</a>.</li>
<li>Download the wordpress archive. You can download this from your browser or ssh in to your server and type:
<ul>
<li>wget http://wordpress.org/latest.tar.gz</li>
<li>tar -zxvf latest.tar.gz, and move the files to the right place.</li>
</ul>
</li>
<li>Load up the site in my browser and fill in the details. I also always change the password that is assigned to you. I have no idea why it assigns you one instead of asking for an admin password.</li>
</ol>
<h2>Theming</h2>
<p>Theming WP is really easy. I take the design, usually a PSD, slice it up and write HTML as if I was doing a static page. Next I duplicate the default theme and rename the folder. I drop in my CSS and my images, and edit the header and footer files. That&#8217;s pretty much it. You can write the HTML how you want, but I find it easiest to stick to the default theme&#8217;s structure: #header, #footer, #sidebar, and #content divs.</p>
<h2>Using WP</h2>
<p>WP&#8217;s admin makes extensive use of AJAX which makes the interface snappy. They&#8217;ve really done great job working on the layout and design of the admin. It&#8217;s really simple to start using and very powerful once you get into the more advanced details.</p>
]]></content:encoded>
			<wfw:commentRss>http://stevedev.com/2009/06/12/wordpress-thoughts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AJAX in Corporate and Retail Websites</title>
		<link>http://stevedev.com/2009/06/12/ajax-in-corporate-and-retail-websites/</link>
		<comments>http://stevedev.com/2009/06/12/ajax-in-corporate-and-retail-websites/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 22:13:29 +0000</pubDate>
		<dc:creator>Steve Thompson</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ajax]]></category>

		<guid isPermaLink="false">http://stevedev.com/?p=3</guid>
		<description><![CDATA[If you spend a lot of time on the Internet reading up on web technologies you likely have come across the term AJAX. While you might be thinking this might just be the domain of indie web apps and social media sites such as Facebook, there are a lot of good reasons to look at [...]]]></description>
			<content:encoded><![CDATA[<p>If you spend a lot of time on the Internet reading up on web technologies you likely have come across the term AJAX. While you might be thinking this might just be the domain of indie web apps and social media sites such as Facebook, there are a lot of good reasons to look at implementing the technology on corporate, sales, customer service and other client facing websites.</p>
<p><a href="http://www.inspirestudios.ca/about/blog/2009/05/ajax-in-corporate-and-retail-websites/">Read more over at Inspire Studios&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stevedev.com/2009/06/12/ajax-in-corporate-and-retail-websites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
