<?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>travisj &#187; PHP</title>
	<atom:link href="http://travisj.org/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://travisj.org</link>
	<description>cooking up the offense like he&#039;s cooking ravioli</description>
	<lastBuildDate>Sun, 14 Mar 2010 19:19:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Swap-bot switched servers over the weekend</title>
		<link>http://travisj.org/2007/02/19/swap-bot-switched-servers-over-the-weekend/</link>
		<comments>http://travisj.org/2007/02/19/swap-bot-switched-servers-over-the-weekend/#comments</comments>
		<pubDate>Mon, 19 Feb 2007 08:18:19 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.eightfivethree.com/2007/02/19/swap-bot-switched-servers-over-the-weekend/</guid>
		<description><![CDATA[I spent most of Saturday moving Swap-bot to its new server. In the past, moving servers wasn&#8217;t too big a deal since I never really got any traffic. A day or two downtime wasn&#8217;t anything I worried about. But, the reason I had to even move in the first place was because Swap-bot has started ]]></description>
			<content:encoded><![CDATA[<p>I spent most of Saturday moving <a href="http://www.swap-bot.com">Swap-bot</a> to its new server. In the past, moving servers wasn&#8217;t too big a deal since I never really got any traffic. A day or two downtime wasn&#8217;t anything I worried about. But, the reason I had to even move in the first place was because Swap-bot has started to decent amount of traffic. On the old host, when Swap-bot would go down for a couple minutes I would hear about it from the users. With this move, a day or two downtime was not a real option. I luckily came up with something that resulted in about 2 minutes of downtime and it would have been shorter, but I took about a minute to track down a typo I made.</p>

<p>The reason coordination is even an issue is because changing a domain&#8217;s DNS records takes time to propagate throughout the internet. It isn&#8217;t instant and it doesn&#8217;t happen at the same time for all users. So at the exact same time one user could be browsing the new server and another could be browsing the old server because they are using different nameservers that have different information for my domain.</p>

<p>The first thing I had to do was setup the new server and test it. One mistake I made when setting up Swap-bot in the first place was setting up the SVN repository on the swap-bot.com domain. Once my DNS was changed, I would have no way of getting to the repository on the old server. So, the first thing I had to do was create a new repository on a different domain. The next step was to check out the swap-bot code and copy over all the user images from the old server. To copy everything over I chose to use rsync. rsync allowed me to copy everything over and then continually check for new images added throughout the day. Anything new that was added could easily be transfered over to the new server. Over the last year, we have accumulated nearly 1 GB of images, so copying the images over multiple times wasn&#8217;t something I really wanted to do. After transferring over a copy of the database to the new server, I added a record for the new server in my /etc/hosts file, telling my computer which IP address to use for swap-bot.com, instead of asking some other nameserver for it. This way, I could go in my browser to swap-bot.com and look at the new server. I found a few minor things that needed to be changed based on the way the new server is setup, but nothing major. It looked like everything was ready to go.</p>

<p>Then came the moment of truth. I was ready to make the switch. To do this, I setup my new mysql server to accept a remote connection from the old host. I then shut swap-bot down and transferred the database from the old server to the new one. Updated the database information on the old host and started swap-bot back up. At this point, swap-bot was now running on the old server, but pointing to the database on the new host. This way, I wouldn&#8217;t have to worry about any data syncing issues as DNS records changed at random throughout the next 24-48 hours. I gave a quick test of the old site and everything looked good, so I updated my DNS records to point to the new server.</p>

<p>It was actually a pretty uneventful move. I had a few people using AOL have a little trouble because, I think, they would get switched from one server to the other at random, but that was about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisj.org/2007/02/19/swap-bot-switched-servers-over-the-weekend/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ZCE</title>
		<link>http://travisj.org/2006/05/17/zce/</link>
		<comments>http://travisj.org/2006/05/17/zce/#comments</comments>
		<pubDate>Thu, 18 May 2006 03:10:00 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.eightfivethree.com/2006/05/17/zce/</guid>
		<description><![CDATA[I finally heard back about the test I took a few weeks ago. I passed. I am now a Zend Certified Engineer.

The test covered PHP, which happens to be the programming language I spent all day (and night) using.
]]></description>
			<content:encoded><![CDATA[<p>I finally heard back about the test I took a few weeks ago. <a href="http://www.zend.com/store/education/certification/authenticate.php?ClientCandidateID=ZEND901292&amp;RegistrationID=0405003">I passed</a>. I am now a Zend Certified Engineer.</p>

<p>The test covered <a href="http://www.php.net/">PHP</a>, which happens to be the programming language I spent all day (<a href="http://www.swap-bot.com/">and night</a>) using.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisj.org/2006/05/17/zce/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Zend Framework Update</title>
		<link>http://travisj.org/2006/03/04/zend-framework-update/</link>
		<comments>http://travisj.org/2006/03/04/zend-framework-update/#comments</comments>
		<pubDate>Sun, 05 Mar 2006 05:47:06 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.eightfivethree.com/2006/03/04/zend-framework-update/</guid>
		<description><![CDATA[I got some time to play around with the Zend Framework today and I am not exactly crazy about it yet. I think that once some of the bugs get worked out it is going to be great. That said, I have decided not to use it right now.

I tried ZendServiceFlickr out and it was ]]></description>
			<content:encoded><![CDATA[<p>I got some time to play around with the Zend Framework today and I am not exactly crazy about it yet. I think that once some of the bugs get worked out it is going to be great. That said, I have decided not to use it right now.</p>

<p>I tried <a href="http://framework.zend.com/manual/zend.service.flickr.html">Zend<em>Service</em>Flickr</a> out and it was really slow. I wrote <a href="http://www.mechroboticon.com/">my own code</a> that essentially used the Flickr API in the same way and it was much faster than Zend&#8217;s. Also, just getting the Flickr stuff to work, I had to go into their code and fix a few bugs.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisj.org/2006/03/04/zend-framework-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zend Framework</title>
		<link>http://travisj.org/2006/03/04/zend-framework/</link>
		<comments>http://travisj.org/2006/03/04/zend-framework/#comments</comments>
		<pubDate>Sat, 04 Mar 2006 21:34:02 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.eightfivethree.com/2006/03/04/zend-framework/</guid>
		<description><![CDATA[I saw today that Zend has released its Framework for download. I guess I don&#8217;t really know where to start playing with it. I am most excited for ZendXmlRpc, ZendPdf, ZendJson, ZendInputFilter and maybe ZendFeed. I also am curious how ZendController and Zend_View work. I have played with MVC&#8217;s before and ended up not really ]]></description>
			<content:encoded><![CDATA[<p>I saw today that <a href="http://www.zend.com/">Zend</a> has released its <a href="http://framework.zend.com/download">Framework</a> for download. I guess I don&#8217;t really know where to start playing with it. I am most excited for Zend<em>XmlRpc, Zend</em>Pdf, Zend<em>Json, Zend</em>InputFilter and maybe Zend<em>Feed. I also am curious how Zend</em>Controller and Zend_View work. I have played with MVC&#8217;s before and ended up not really liking them because they were too restrictive. With Zend&#8217;s, I like that it says you can use a third-party template engine (like <a href="http://smarty.php.net/">Smarty</a>, maybe). I hope they get SVN access working soon. It will make it a lot easier to update the framework as they add new components.</p>

<p>I plan to play around with it and see what I can get working. I will keep you posted.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisj.org/2006/03/04/zend-framework/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>More on the PHP Easter Eggs</title>
		<link>http://travisj.org/2006/02/04/more-on-the-php-easter-eggs/</link>
		<comments>http://travisj.org/2006/02/04/more-on-the-php-easter-eggs/#comments</comments>
		<pubDate>Sat, 04 Feb 2006 21:34:19 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://www.eightfivethree.com/2006/02/04/more-on-the-php-easter-eggs/</guid>
		<description><![CDATA[Chris Shiflett has more info on the PHP Easter Eggs I wrote about earlier. I find it very humorous that he uses 37signals as his example site for the demo. 37signals has been receiving a lot of press recently for all the work with Ruby on Rails.
]]></description>
			<content:encoded><![CDATA[<p>Chris Shiflett <a href="http://shiflett.org/archive/191">has more info</a> on the PHP Easter Eggs <a href="http://www.travisj.org/2006/01/11/php-easter-egg/">I wrote about earlier</a>. I find it very humorous that he uses 37signals as his example site for the demo. 37signals has been receiving a lot of press recently for all the work with Ruby on Rails.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisj.org/2006/02/04/more-on-the-php-easter-eggs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Easter Egg</title>
		<link>http://travisj.org/2006/01/11/php-easter-egg/</link>
		<comments>http://travisj.org/2006/01/11/php-easter-egg/#comments</comments>
		<pubDate>Thu, 12 Jan 2006 04:39:08 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.eightfivethree.com/2006/01/11/php-easter-egg/</guid>
		<description><![CDATA[I came across a funny PHP Easter Egg today. Append the string &#8220;?=PHPE9568F36-D428-11d2-A769-00AA001ACF42&#8243; to the end of URI of any PHP script and you get to see the easter egg. For example, my site runs PHP, so going to http://travisj.org/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 shows the dog picture. Try it out on other PHP sites.

And for a bonus, &#8220;?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000&#8243; ]]></description>
			<content:encoded><![CDATA[<p>I came across a funny PHP Easter Egg today. Append the string &#8220;?=PHPE9568F36-D428-11d2-A769-00AA001ACF42&#8243; to the end of URI of any PHP script and you get to see the easter egg. For example, my site runs PHP, so going to <a href="http://travisj.org/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42">http://travisj.org/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42</a> shows the dog picture. Try it out on other PHP sites.</p>

<p>And for a bonus, &#8220;?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000&#8243; shows PHP credits.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisj.org/2006/01/11/php-easter-egg/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Easy Photo Uploading</title>
		<link>http://travisj.org/2006/01/02/easy-photo-uploading/</link>
		<comments>http://travisj.org/2006/01/02/easy-photo-uploading/#comments</comments>
		<pubDate>Tue, 03 Jan 2006 02:14:29 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.eightfivethree.com/?p=1005</guid>
		<description><![CDATA[Photo uploading in WordPress 2.0 has gotten much easier. You can now upload photos directly from the &#8220;Write Post&#8221; page, rather than on a separate page like previous WP versions. There is a little bit of a trick to get the photo uploaded the way you probably want it. I might not be doing it ]]></description>
			<content:encoded><![CDATA[<p>Photo uploading in WordPress 2.0 has gotten much easier. You can now upload photos directly from the &#8220;Write Post&#8221; page, rather than on a separate page like previous WP versions. There is a little bit of a trick to get the photo uploaded the way you probably want it. I might not be doing it correct, but this is what I have figured out so far:</p>

<p>To upload a photo to be used in your post, scroll down to the Upload section and Browse for your photo to upload. Add a title and description if you want and click &#8220;Upload&#8221;. The photo you chose to upload should appear under the &#8220;Browse&#8221; section. Click on the photo, click &#8220;Using Thumbnail&#8221; which then changes it to &#8220;Using Original&#8221;.</p>

<p><img id="image1004" alt="using_demo.png" style="border: 1px solid #999999; padding: 2px" src="http://travisj.org/files/uploads/2006/01/using_demo.png" />
Then click &#8220;Send to editor&#8221; and the original image is sent to your post. The only problem is that the image is not sent fullsize to the editor.</p>

<p><img alt="resize_first.png" id="image1006" style="border: 1px solid #999999; padding: 2px" src="http://travisj.org/files/uploads/2006/01/resize_first.png" /></p>

<p>You then can click on the insertest image and grab the lower right corner of the image. Drag it to the right and the current size shows up. Just drag the image to the width of the original image. Do not drag the image to a size larger than the original. It will appear distorted.</p>

<p><img alt="resize_second.png" id="image1007" style="border: 1px solid #999999; padding: 2px" src="http://travisj.org/files/uploads/2006/01/resize_second.png" /></p>

<p>That&#8217;s it! If anyone knows of an easier way to get the original image to its actual size please let me know. The image I used for this demonstration is of Rachel and my cousin&#8217;s son, Gabe (Rachel just loves Gabe) and is posted below.</p>

<p><img width="450" height="337" id="image1003" alt="DSC02609.jpg" src="http://travisj.org/files/uploads/2006/01/dsc02609.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://travisj.org/2006/01/02/easy-photo-uploading/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Blocking WordPress spam with Akismet</title>
		<link>http://travisj.org/2006/01/02/blocking-wordpress-spam-with-akismet/</link>
		<comments>http://travisj.org/2006/01/02/blocking-wordpress-spam-with-akismet/#comments</comments>
		<pubDate>Tue, 03 Jan 2006 01:05:49 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.eightfivethree.com/?p=1002</guid>
		<description><![CDATA[One of the biggest features of the new WordPress release is the integration with the spam blocking service, Akismet. Everything you need to know about setting up the Akismet plugin can pretty much be found at Wordpress.com. For even easier setup, follow these instructions:

    Signup for a WordPress.com account. In addition to ]]></description>
			<content:encoded><![CDATA[<p>One of the biggest features of the new WordPress release is the integration with the spam blocking service, <a href="http://www.akismet.com">Akismet</a>. Everything you need to know about setting up the Akismet plugin can pretty much be found at <a href="http://wordpress.com/api-keys/">Wordpress.com</a>. For even easier setup, follow these instructions:
<ol>
    <li><a href="http://wordpress.com/signup/">Signup for a WordPress.com account</a>. In addition to creating an account, you are creating a blog. You don&#8217;t have to use this blog, you just need the account for the API key.</li>
    <li>Login to your WordPress.com account and click on &#8220;My Account&#8221; in the upper right corner.</li>
    <li>Find the line that says: &#8220;Your WordPress.com API key is: XXXXXXXXXX. Don&#8217;t share your API key, it&#8217;s like a password.&#8221;</li>
    <li>Copy your key and log into your WordPress 2.0 blog.</li>
    <li>Activate the Akismet plugin by clicking on &#8220;Plugins&#8221; and then &#8220;Activate&#8221; on the Akismet Plugin line.</li>
    <li>Find the line that says: &#8220;Akismet is not active. You must enter your WordPress.com API key for it to work.&#8221;</li>
    <li>Click the link to enter your WordPress.com API key.</li>
    <li>Enter your key and click &#8220;Update API Key&#8221;.</li>
</ol>
Hope this helps someone. Let me know if you have any troubles getting the Akismet plugin configured.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisj.org/2006/01/02/blocking-wordpress-spam-with-akismet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Typo to Wordpress Migration</title>
		<link>http://travisj.org/2005/12/18/typo-to-wordpress-migration/</link>
		<comments>http://travisj.org/2005/12/18/typo-to-wordpress-migration/#comments</comments>
		<pubDate>Mon, 19 Dec 2005 00:18:11 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.eightfivethree.com/?p=992</guid>
		<description><![CDATA[I had been underwhelmed with Typo, so I switched back to Wordpress today. I searched google for a script to do so, but found very few references to anyone doing so. This meant I had to write my own script to migrate back to Wordpress.

If anyone else wants to make the same switch as me, ]]></description>
			<content:encoded><![CDATA[<p>I had been underwhelmed with Typo, so I switched back to Wordpress today. I searched google for a script to do so, but found very few references to anyone doing so. This meant I had to write my own script to migrate back to Wordpress.</p>

<p>If anyone else wants to make the same switch as me, check out <a href="http://www.travisj.org/files/migrate.tar.gz">my script</a> to make the move. Just save the file to your server, remove the .txt and run it from the command line. Be sure to update the values mentioned in the file.</p>

<p>If you have any trouble with it or want to make changes, please contact me.</p>

<p>Note that rather than worry about my offset from GMT, I just made the post time be GMT. So that means that my posts were actually written a few hours earlier than the system thinks, but since I have spent time in multiple timezones, I am just not going to worry about it. If you do want to worry about it, it is a simple fix.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisj.org/2005/12/18/typo-to-wordpress-migration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blog Update</title>
		<link>http://travisj.org/2005/12/15/blog-update-2/</link>
		<comments>http://travisj.org/2005/12/15/blog-update-2/#comments</comments>
		<pubDate>Thu, 15 Dec 2005 23:17:57 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://www.eightfivethree.com/?p=989</guid>
		<description><![CDATA[I realize the posts have gotten to be pretty infrequent lately, but I am going to fix that. I am moving my blog back over to Wordpress (typo is just to slow on my host and they can&#8217;t seem to fix it). Before any of that can happen, I am going to have to write ]]></description>
			<content:encoded><![CDATA[<p>I realize the posts have gotten to be pretty infrequent lately, but I am going to fix that. I am moving my blog back over to <a href='http://www.wordpress.org/'>Wordpress</a> (<a href='http://typo.leetsoft.com/'>typo</a> is just to slow on <a href='http://www.site5.com/'>my host</a> and they can&#8217;t seem to fix it). Before any of that can happen, I am going to have to write the script to move all my posts, comments, and categories back to Wordpress. Typo seems to be too new for anyone to have done this, so I will be doing it on my own. Hopefully with the faster weblog, I will be more apt to post.</p>

<p>Oh, and my host doesn&#8217;t support <a href='http://www.php.net/'>PHP5</a> yet. What was I thinking when I picked them!</p>
]]></content:encoded>
			<wfw:commentRss>http://travisj.org/2005/12/15/blog-update-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
