<?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>Brit Gardner ::: Web Developer ::: Dallas, TX &#187; php</title>
	<atom:link href="http://britg.com/tags/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://britg.com</link>
	<description>The big yellow one&#039;s the sun.</description>
	<lastBuildDate>Sun, 10 Jan 2010 17:25:07 +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>Three Cheers for CakePHP Backwards Compatibility</title>
		<link>http://britg.com/2009/01/27/three-cheers-for-cakephp-backwards-compatibility/</link>
		<comments>http://britg.com/2009/01/27/three-cheers-for-cakephp-backwards-compatibility/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 14:22:50 +0000</pubDate>
		<dc:creator>britg</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://britg.com/?p=746</guid>
		<description><![CDATA[I would make a horrible framework developer.  Why?  Because I don&#8217;t have the patience to put the effort into making my code backwards compatible (unless I really, really have to).  Thankfully, the developers of CakePHP are not like me.
I just had cause to take an old client site that was built on CakePHP 1.0.x and [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-752" href="http://britg.com/2009/01/27/three-cheers-for-cakephp-backwards-compatibility/cake-logo/"><img class="alignright size-full wp-image-752" title="cake-logo" src="http://britg.com/wordpress/wp-content/uploads/2009/01/cake-logo.png" alt="cake-logo" width="180" height="180" /></a>I would make a horrible framework developer.  Why?  Because I don&#8217;t have the patience to put the effort into making my code backwards compatible (unless I really, really have to).  Thankfully, the developers of <a href="http://cakephp.org">CakePHP</a> are not like me.</p>
<p>I just had cause to take an old client site that was built on CakePHP 1.0.x and move it over to a new platform with some upgrades in functionality.  Since we are most likely going to be developing a bunch of new features on the site I felt it was important to go ahead and upgrade the cake core libraries to the <a href="http://bakery.cakephp.org/articles/view/the-gift-of-1-2-final">recently-released 1.2</a> &#8212; a task I was dreading from the moment I thought it.</p>
<p>But, surprise surprise, the whole ordeal wasn&#8217;t an ordeal at all.  In fact was incredibly easy because the Cake devs made it a point to include backwards compatibility.  As a result a lot of my legacy code could remain in place to be upgraded gradually.</p>
<p>Take for instance the following gem.  I was a rough and tumble Cake developer back when I first wrote this and this format was actually never really acceptable in the first place, but it worked in 1.0.x:</p>
<pre lang="php">
$this->Order_frame-&gt;findAll();
// correct way to access the order_frames table: $this-&gt;OrderFrame-&gt;findAll();

// in view
echo $orderFrames['Order_frame']['type'];
// correct way to access the data: $orderFrames['OrderFrame']['type'];
</pre>
<p>Now, having used Cake for a couple of years I know the error of my ways.  But, to my surprise, when I ran this legacy code locally on a fresh 1.2 core it worked.  Huh?  There was no way they would still support this ancient syntax!  Heck, I dont think they ever supported it, really.</p>
<p>Anyways, this is a long way of showing my appreciation to the CakePHP devs for building the framework with all the legacy code out there in mind.</p>
]]></content:encoded>
			<wfw:commentRss>http://britg.com/2009/01/27/three-cheers-for-cakephp-backwards-compatibility/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>It&#8217;s hard to like the PHP &#8216;Elite&#8217; *UPDATE from Terry</title>
		<link>http://britg.com/2009/01/08/its-hard-to-like-the-php-elite/</link>
		<comments>http://britg.com/2009/01/08/its-hard-to-like-the-php-elite/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 05:51:41 +0000</pubDate>
		<dc:creator>britg</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[scaling]]></category>

		<guid isPermaLink="false">http://britg.com/?p=531</guid>
		<description><![CDATA[The latest spat between the rails elite and php elite is over a recent blog post by DHH, Mr. Moore gets to punt on sharding.
His argument can be summed up in a quote found in the comments:
“We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all [...]]]></description>
			<content:encoded><![CDATA[<p>The latest spat between the rails elite and php elite is over a recent blog post by DHH, <a href="http://www.37signals.com/svn/posts/1509-mr-moore-gets-to-punt-on-sharding"><em>Mr. Moore gets to punt on sharding</em></a>.</p>
<p>His argument can be summed up in a quote found in the comments:</p>
<blockquote><p>“We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil”</p>
<p>- Donald Knuth</p></blockquote>
<p>Basically, don&#8217;t jump into complex sharding/horizontal scaling techniques if you really don&#8217;t have to (yet).</p>
<p>Of course, <a href="http://terrychay.com">Terry Chay</a> has to take this opportunity to insert the fact that he works at a big company with tens of millions of daily page views and that vertical scaling is idiotic, blah blah blah.  (<em>looks like he took down his blog post or I would link to it</em>).</p>
<blockquote><p>For every speaking engagement in which I’ve saved someone from a huge architectural misconception, DHH is probably creating 10 more future programmers who will make the mistake.</p></blockquote>
<p>Damn, as a PHP developer I really want to like the PHP &#8216;Elite&#8217; <span style="text-decoration: line-through;">but this guy just doesn&#8217;t get it.  He works at his big desk at a big company and speaks at big PHP conventions and doesn&#8217;t have a clue what it takes to bootstrap a business from the ground up.</span></p>
<p><strong>*UPDATE* &#8211; It appears Terry&#8217;s post got published before he could finish his thoughts.  He&#8217;s responded with the rest of it in the comments.  It&#8217;s a lot more well thought-out than what got published &#8211; so give it a read!</strong></p>
<p>DHH&#8217;s point was that when your development team can fit in a VW Beetle you are going to cause a lot more trouble pre-optimizing with complex setups than simply relying on vertical scaling for as long as you can.</p>
<p>Forget who he is or what programming language he uses, that&#8217;s just damn good advice for anyone trying to bootstrap a startup.</p>
]]></content:encoded>
			<wfw:commentRss>http://britg.com/2009/01/08/its-hard-to-like-the-php-elite/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
