<?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>Refreshingly Blue</title>
	<atom:link href="http://www.refreshinglyblue.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.refreshinglyblue.com</link>
	<description>Notes by Lee Blue</description>
	<lastBuildDate>Fri, 05 Mar 2010 16:16:58 +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>Git Archive Like SVN Export But Better</title>
		<link>http://www.refreshinglyblue.com/2010/03/05/git-archive-like-svn-export-but-better/</link>
		<comments>http://www.refreshinglyblue.com/2010/03/05/git-archive-like-svn-export-but-better/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 16:16:58 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[Mac OSX]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.refreshinglyblue.com/?p=206</guid>
		<description><![CDATA[If you are switching from Subversion to Git and want to know the best way to export your code similar to svn export then here is a great command to know about.
git archive -o ~/Desktop/project.zip HEAD
That will extract your most recent stuff in your current branch, zip it up, and drop it on your desktop. [...]]]></description>
			<content:encoded><![CDATA[<p>If you are switching from Subversion to Git and want to know the best way to export your code similar to svn export then here is a great command to know about.</p>
<pre>git archive -o ~/Desktop/project.zip HEAD</pre>
<p>That will extract your most recent stuff in your current branch, zip it up, and drop it on your desktop. We do a lot of WordPress plugin development and with this single command we can get our plugin code ready for installation extremely quickly. Here is more information about <a href="http://ftp.sunet.se/pub/Linux/kernel.org/software/scm/git/docs/git-archive.html">git archive</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.refreshinglyblue.com/2010/03/05/git-archive-like-svn-export-but-better/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Custom Query To Select Posts From A Category</title>
		<link>http://www.refreshinglyblue.com/2010/02/26/wordpress-custom-query-to-select-posts-from-a-category/</link>
		<comments>http://www.refreshinglyblue.com/2010/02/26/wordpress-custom-query-to-select-posts-from-a-category/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 19:37:55 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.refreshinglyblue.com/?p=197</guid>
		<description><![CDATA[A friend asked how he could pull the three most recent WordPress posts from a particular category on a non-WordPress site. He has the ability to connect to the WordPress database. So here is the code you need to pull this off.


mysql_connect("localhost","username","password");
mysql_select_db("database");

// Change the category name to whatever category you want to use
$categoryName = 'Music';

$query [...]]]></description>
			<content:encoded><![CDATA[<p>A friend asked how he could pull the three most recent WordPress posts from a particular category on a non-WordPress site. He has the ability to connect to the WordPress database. So here is the code you need to pull this off.</p>
<p><span id="more-197"></span></p>
<pre name="code" class="php">
mysql_connect("localhost","username","password");
mysql_select_db("database");

// Change the category name to whatever category you want to use
$categoryName = 'Music';

$query = "SELECT post_title, guid
  FROM
    wp_posts,
    wp_terms,
    wp_term_taxonomy,
    wp_term_relationships
  WHERE
   wp_terms.name = '$categoryName' and
   wp_terms.term_id = wp_term_taxonomy.term_id and
   wp_term_relationships.term_taxonomy_id
      = wp_term_taxonomy.term_taxonomy_id and
   wp_term_relationships.term_taxonomy_id
      = wp_term_taxonomy.term_taxonomy_id and
   wp_term_relationships.object_id = wp_posts.ID
  ORDER BY post_date DESC LIMIT 3";

$q = mysql_query($query);
while ($row = mysql_fetch_assoc($q)) {
    echo "
<li><a href=\"";
    echo "{$row['guid']}";
    echo "\">";
    echo "{$row['post_title']}";
    echo "</a></li>

";
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.refreshinglyblue.com/2010/02/26/wordpress-custom-query-to-select-posts-from-a-category/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setup Subversion with cPanel and Apache</title>
		<link>http://www.refreshinglyblue.com/2010/01/21/setup-subversion-with-cpanel-and-apache/</link>
		<comments>http://www.refreshinglyblue.com/2010/01/21/setup-subversion-with-cpanel-and-apache/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 16:58:04 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[Everyday Tips]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sys Admin]]></category>

		<guid isPermaLink="false">http://www.refreshinglyblue.com/?p=187</guid>
		<description><![CDATA[This is a  summary of how to set up a new svn repository that you can access through apache when your server is configured with cPanel. This is not a tutorial on installing cPanel and Subversion.  The assumption is that you already have subversion installed on your cPanel managed server.

1) Set up an account where [...]]]></description>
			<content:encoded><![CDATA[<p>This is a  summary of how to set up a new svn repository that you can access through apache when your server is configured with cPanel. This is not a tutorial on installing cPanel and Subversion.  The assumption is that you already have subversion installed on your cPanel managed server.</p>
<p><span id="more-187"></span></p>
<p>1) Set up an account where you want to host your subversion repositories, perhaps use a domain like subversion.mywebsite.com</p>
<p>2) SSH into your new account and create a directory that will contain all your subversion repositories. For example, you might have a path like /home/&lt;username&gt;/subversion where &lt;username&gt; is the username you used to log into your account.</p>
<p>3) Set up a subversion repository by changing directories into your subversion directory you just created and issuing the following commands.</p>
<p>cd /home/username/subversion<br />
svnadmin create myproject<br />
sudo chgrp -R nobody myproject<br />
sudo chmod -R g+w myproject</p>
<p>Note that we changed the group to &#8220;nobody&#8221; which is the user that apache runs as. You need to do this so that when you access the repository through apache, apache has permission to write files to your repository. By default, cPanel runs apache with the user &#8220;nobody&#8221; but not always. So, just be sure that you set the correct group name for your repository.</p>
<p>4) Next you need to tell apache about your new subversion repository. To do that, log into your cPanel WHM account and go to <strong>Service Configuration -&gt; Apache Configuration -&gt; Include Editor</strong> and edit the Pre VirtualHost Include file. Enter in a block like this:</p>
<p>&lt;Location /path/to/repository&gt;<br />
DAV svn<br />
SVNPath /absolute/path/to/repository<br />
AuthType Basic<br />
AuthName “Subversion Repository”<br />
AuthUserFile /absolute/path/to/password/file.txt<br />
Require valid-user<br />
&lt;/Location&gt;</p>
<p>The first path in the block above is /path/to/repository in the Location tag. This is the path you want to use when accessing the repository through Apache.  For example, if you wanted to access your repository at http://subversion.mywebsite.com/myproject then you would simply write /myproject as the path in the Location tag.</p>
<p>The second path is the SVNPath which is the absolute path to your subversion repository. So in our example you would use /home/username/subversion/myproject</p>
<p>The third path is the absolute path to you htpasswd file. We haven’t created this yet but we will in the next step. You may choose to put this file in any directory you wish perhaps at /home/username/svnpasswords.txt This is the file that will contain the usernames and passwords for accessing your Subversion repository through Apache.</p>
<p>When you are all finished click the button to restart Apache.</p>
<p>5) Now we need to create the htpasswd file. Change directories into the directory where you want to store your password file and issue this command:</p>
<p>htpasswd -c svnpasswords.txt</p>
<p>If you want more than one user, run the same command again but leave off the -c. If you don’t leave off the -c then a new password file will be created and all your previous entries will be lost.</p>
<p>6) Finally, you will want to create the normal trunk, tags, and branches folders in your repository. You can issue these commands from your development machine if you like since you are now able to access your repository through apache.</p>
<p>svn mkdir http://subversion.mywebsite.com/myproject/trunk -m &#8220;creating trunk&#8221;<br />
svn mkdir http://subversion.mywebsite.com/myproject/tags -m &#8220;creating tags&#8221;<br />
svn mkdir http://subversion.mywebsite.com/myproject/branches -m &#8220;creating branches&#8221;</p>
<p>Now you have your repository all set up and ready to receive your source code. So, normally speaking you would checkout out your trunk, add some files, and commit your initial set of files to the repository.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.refreshinglyblue.com/2010/01/21/setup-subversion-with-cpanel-and-apache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Stay Away From Rackspace Cloudsites</title>
		<link>http://www.refreshinglyblue.com/2009/12/31/stay-away-from-rackspace-cloudsites/</link>
		<comments>http://www.refreshinglyblue.com/2009/12/31/stay-away-from-rackspace-cloudsites/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 18:21:34 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[Everyday Tips]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.refreshinglyblue.com/?p=182</guid>
		<description><![CDATA[I have worked with several dedicated servers at Rackspace and the experience was a joy. The servers perform very well and the Rackspace managed support was great. So when I learned of Cloudsites which appeared to bundle the great support I had grown to love with a package that seemed great for hosting our sites [...]]]></description>
			<content:encoded><![CDATA[<p>I have worked with several dedicated servers at Rackspace and the experience was a joy. The servers perform very well and the Rackspace managed support was great. So when I learned of Cloudsites which appeared to bundle the great support I had grown to love with a package that seemed great for hosting our sites that didn&#8217;t require their own dedicated server I was very excited. Unfortunately, it turns out the Rackspace Cloudsites is unstable, unreliable, and slow. The support is still good, at least in terms of being available, but all they can say is &#8220;I&#8217;m sorry all your sites are down.&#8221;</p>
<p><span id="more-182"></span></p>
<p>The Cloudsites control panel is very nice (when it is online). It&#8217;s very easy to set up sites, the interface is clean, and their built in email service is excellent. Their spam filter works exceptionally well. It is a bit confusing to set up email addresses that simply forward to another domain but it is possible. Even though the control panel is nice, that is pretty much the only redeeming quality Rackspace Cloudsites has to offer. There are many other factors that totally negate the benefits of their pleasant control panel.</p>
<h2>No SSH Access</h2>
<p>Since Cloudsites does not provide SSH access you can&#8217;t host your git or svn repositories on cloudsites. They recommend using <a href="http://www.expandrive.com/mac">ExpanDrive</a> so that you can deploy your sites from your source code repository to your live site but it is extremely slow to the point of being virtually useless. We found that it was far faster to use <a href="http://www.panic.com/transmit/">Transmit</a> to connect to the server than Expandrive.  We also started using <a href="http://beanstalkapp.com/">Beanstalk</a> for our subversion repositories. Beanstalk is awesome, works great, and has a very cool FTP deployment feature which enabled us to deploy our sites to Rackspace Cloudsites quickly and effectively. The only downside to Beanstalk is that they limit the number or repositories you can have. Most of our projects don&#8217;t require much disk space for the source code so we are going to run out of repositories long before we hit our disk space limit. Be that as it may, Beanstalk is a great investment and I recommend it to anyone looking for a managed subversion resource. If the lack of SSH access were the only problem Cloudsites had, we would still be using it. With Beanstalk and a few tweaks to our production work flow we were able to get around the lack of SSH access &#8211; although it was annoying. For example, it&#8217;s nice to transfer a large number of files as a compressed tarball or a zip file (such as a WordPress installation) then extract the tarball on the server. The Rackspace Cloudsites control panel has zip/unzip functionality but it&#8217;s a pain to use compared to real command line access. Likewise, anything else you would do from the command line, like testing cron scripts, is painful if its even possible at all.</p>
<h2>Stability and Performance Is Miserable</h2>
<p>The stability of  Rackspace Cloudsites is terrible. Just this week the control panel was completely offline for about 3 hours. It went off line right as I was transferring a site and consequently I was unable to complete the transfer and had to start all over again the next day. So, basically all 26 sites we had on Cloudsites were completely unavailable if I needed to do anything involving the control panel such as install an SSL cert, create an email account, reset and FTP password, etc.</p>
<p>Even worse than having the control panel offline, we run several e-commerce sites and 2 weeks before Christmas, our peak sales time of the year, our database was in &#8220;read only mode&#8221; ALL DAY due to a &#8220;degradation&#8221; in their service. So, to our customers, it appeared like they were buying things because the site was online and everything seemed to be working, but their orders were never saved to the database. This was a problem with several of our sites that day since multiple sites all use the same database server that was in read-only mode. Rackspace has offered us 1 free month of hosting for our trouble.</p>
<p>Performance is pretty crappy too. Because of all the trouble we had with Cloudsites, our friends on Twitter suggested that we look into VPS.net. After reading a bunch of great reviews and researching their product offering we decided to sign up for a small, 3-Node account costing a mere $54/month (compared to $120/month for Rackspace Cloudsites). We transferred one of our WordPress websites off Rackspace Cloudsites onto our new VPS.net setup and here is a report of the response time of Rackspace Cloudsites vs VPS.net running the exact same site. VPS.net is about twice as fast (half the response time).</p>
<p><img class="alignnone size-full wp-image-184" title="Response time graph" src="http://www.refreshinglyblue.com/wp-content/uploads/response-time-e1262282790865.png" alt="" width="500" height="340" /></p>
<p>We have run other benchmark tests and have found that a 3-Node, $54/month account with VPS.net is roughly twice as fast as Rackspace Cloudsites. For example, in addition to response time being about twice as fast, the VPS.net account is serving twice as many requests per second. Again, these tests are on the exact same WordPress website running on both servers.</p>
<h2>Support</h2>
<p>The main reason we signed up for Rackspace Cloudsites in the first place was because of the great experience we have had in the past with Rackspace &#8220;fanatical&#8221; support with our dedicated servers. The support is still good with Cloudsites but, unfortunately, since the platform itself tends to &#8220;degrade&#8221; frequently, there is not much the support can do for you other than perhaps hook you up with a free month of hosting. With Rackspace Cloudsites the unlimited support is included in the $120/month cost (Yes $120/month not $100/month: Cloudsites charges you and extra $20/month if you want to use SSL certificates).</p>
<p>With VPS.net you are free to manage your own account or you can elect to purchase their Pro-Active Managed Support package for $99/month. The managed support package gives you live chat with their support team and they will pretty much do anything you need including migrate over up to 20 of your websites from your previous hosting company. This also includes monthly security overhauls and 24/7 monitoring. If you don&#8217;t want to buy the $99/month package you can submit paid trouble tickets for $10/ticket. We have found that the we almost always have our support tickets resolved in less than one hour.</p>
<p>Both Rackspace Cloudsites and VPS.net offer excellent support. But, since the folks at VPS.net can actually do something to help, as opposed to the Rackspace support folks simply apologizing for their failing system, VPS.net wins out in the support department as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.refreshinglyblue.com/2009/12/31/stay-away-from-rackspace-cloudsites/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Top Ten WordPress Plugins</title>
		<link>http://www.refreshinglyblue.com/2009/12/05/top-ten-wordpress-plugins/</link>
		<comments>http://www.refreshinglyblue.com/2009/12/05/top-ten-wordpress-plugins/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 01:14:38 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[Everyday Tips]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.refreshinglyblue.com/?p=175</guid>
		<description><![CDATA[We&#8217;ve been asked what WordPress plugins we use most often and what we recommend that other people use on their sites. There are quite a few great plugins out there, but here is our top 10 list of WordPress plugins that we have found the most useful and that we use the most often.

10. Wickett [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been asked what WordPress plugins we use most often and what we recommend that other people use on their sites. There are quite a few great plugins out there, but here is our top 10 list of WordPress plugins that we have found the most useful and that we use the most often.</p>
<p><span id="more-175"></span></p>
<h2>10. Wickett Twitter Widget</h2>
<p>To help build up a following on Twitter, one thing you want to do is broadcast your tweets in as many ways as possible. The Wickett Twitter Widget is an awesomely simple way to get your most recent tweets on your WordPress site. It installs as a sidebar widget and you can specify the number of tweets to display and whether or not you want to hide &#8220;reply&#8221; tweets. There are several other Twitter related plugins, but this one makes the top ten list because of it simplicity and elegance. You go to alot of trouble to find interesting links and comments and so it is great to be able to share your tweets on your blog.</p>
<p><a href="http://wordpress.org/extend/plugins/wickett-twitter-widget/">Visit Wickett Twitter Widget</a></p>
<h2>9. WP Logic</h2>
<p>Perhaps a tad technical, but well worth mentioning, the WP Logic plugin gives every widget an extra control field called &#8220;Widget logic&#8221; that lets you control the pages that the widget will appear on. Suppose you have a WordPress site that acts as both your main website as well as your blog and you only want to show your blog categories on your &#8220;posts&#8221; and not on your &#8220;pages&#8221; &#8211; it&#8217;s easy to do with this plugin. This is one of those plugins where your friends will be saying, &#8220;Wow! How did you do that?&#8221;</p>
<p><a href="http://freakytrigger.co.uk/wordpress-setup/">Visit Widget Logic</a></p>
<h2>8. Page Mash</h2>
<p>This is a simple WordPress page management plugin. The Ajax interface allows you to drag-and-drop the pages into the order you like, modify the page structure by dragging a page to become a child or parent and toggle the page to be hidden from output. You can also see the id of the page which is often helpful for theme developers. If you have a WordPress site with more than just a handful of pages, PageMash is extremely helpful.</p>
<p><a href="http://joelstarnes.co.uk/blog/pagemash/">Visit PageMash simple WordPress page order management.</a></p>
<h2>7. All in One SEO Pack</h2>
<p>The All in One SEO Pack plugin automatically optimizes your Wordpress blog for Search Engine by allowing you to fine tune things like your page title and meta tags. This plugin is extremely easy to use as it works great straight out of the box. If you are an advanced user, you can customize virtually everything. And if you are a developer, this plugin has an API so your themes can access and extend the functionality of the plugin.</p>
<p><a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/">Visit All in One SEO Pack</a></p>
<h2>6. Google XML Sitemaps</h2>
<p>Perhaps the most downloaded WordPress plugin, the Google XML Sitemaps plugin not only automatically creates a site map linking to all your pages and posts, it also notifies Google, Bing, Yahoo, and Ask.com when you make changes to you site. If you want to include pages that are part of your site but not part of you WordPress managed content, you can do that to./p></p>
<p><a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/">Visit Google XML Sitemaps Generator</a></p>
<h2>5. WP Super Cache</h2>
<p>If you have a popular WordPress website you should seriously consider running WordPress Super Cache to improve the performance of your website. If you are not caching your pages, then every time a visitor comes to your site, WordPress has to pull together various pieces of information out of a database to put your page together. If you have a high traffic site, this is can really become a problem. WP Super Cache will store a copy of each of the pages on your website so that after the page has been assembled from the database once, WordPress can rest and just keep serving the static html copy of the page. This might be a bit techy, but the idea is you can dramatically speed up your site and reduce the load on your server by using WP Super Cache. If for no other reason, use this plugin so you don&#8217;t have to panic when your friend says, &#8220;I just Dugg your site.&#8221;</p>
<p><a href="http://ocaoimh.ie/wp-super-cache/">Visit WP Super Cache to make WordPress faster</a></p>
<h2>4. NextGEN Image Gallery</h2>
<p>If you want to display a photo gallery, show a series of product images, or just publish a slide show from your most recent vacation, the NextGEN image gallery is the plugin for you. NextGEN Gallery is a full integrated Image Gallery plugin for WordPress with a Flash slideshow option. Among the many features, NextGEN Gallery includes a thumbnail generator, sortable albums, and a water mark function. There are also plenty of add-ons as well including the <a href="http://wordpress.org/extend/plugins/nextgen-flashviewer/">NextGEN FlashViewer</a> and <a href="http://wordpress.org/extend/plugins/nextgen-imageflow/">NextGEN ImageFlow</a>.</p>
<p><a href="http://wordpress.org/extend/plugins/nextgen-gallery/">Visit NextGEN Image Gallery</a></p>
<h2>3. cformsII Form Plugin</h2>
<p>If your looking for a free form management plugin, cformsII is an extremely powerful plugin for setting up contact forms on your WordPress site. You don&#8217;t need to know any PHP or write any code. You can visually build forms in the WordPress admin panel. Then, navigate to the page or post where you want to use the form and there is a button in the WYSIWYG editor that you click and up pops a list of forms that you have made. Simply click on the one you want and your form is inserted into your page. Update your page and you the form is live. You can specify required fields, default values, and there are plenty of styles to make your form blend in perfectly with your site.</p>
<p><a href="http://www.deliciousdays.com/cforms-plugin">Visit cformsII WordPress Form Plugin</a></p>
<h2>2. Gravity Forms</h2>
<p>If you want the best forms plugin WordPress has to offer, you need Gravity Forms. Gravity Forms is an amazing plugin for managing online forms. Some of the incredibly useful features include conditional form fields which means you can show or hide a field or entire sections of the form based on a value selected in another field. You can pre-populate form fields using querystring, shortcode, function or hooks.You can even schedule when forms are available by assigning a start date and end date for when your form is live on your site. Supposed you want to run a contest where the first 50 people that fill out the form win a prize. Gravity Forms lets you set a limit on the number of entries a form can receive. Pretty much anything you ever wanted a form to do, Gravity Forms can do it.</p>
<p><a href="https://www.e-junkie.com/ecom/gb.php?cl=54585&#038;c=ib&#038;aff=45747">Visit Gravity Forms</a></p>
<h2>1. PHPurchase The WordPress Ecommerce Shopping Cart Plugin</h2>
<p>Since this plugin can actually make you money, it get&#8217;s the #1 spot. PHPurchase let&#8217;s you sell anything you want, digital products or physical products. It is incredibly simple to use and the support and documentation is great. There are screencast tutorials to help you get set up and if you run into any trouble, the developers are very responsive and often available via live chat. PHPurchase stands out from the other ecommerce plugins because it let&#8217;s you use WordPress, and all of the other plugins on this list, to configure your online store exactly the way you want it. PHPurchase is very easy to use and extremely flexible WordPress e-commerce shopping cart.</p>
<p><a href="http://www.phpurchase.com">Visit PHPurchase the WordPress Ecommerce Shopping Cart Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.refreshinglyblue.com/2009/12/05/top-ten-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHPurchase Affiliate Program</title>
		<link>http://www.refreshinglyblue.com/2009/11/28/phpurchase-affiliate-program/</link>
		<comments>http://www.refreshinglyblue.com/2009/11/28/phpurchase-affiliate-program/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 19:00:11 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.refreshinglyblue.com/?p=166</guid>
		<description><![CDATA[
The PHPurchase affiliate program is now live. You earn 25% of every sale you send our way. PHPurchase is a WordPress e-commerce plugin that we developed at PHPoet. We&#8217;ve been using it on several of our own clients sites and have now decided to offer the plugin publicly.
PHPurchase stands out for several reasons. First, the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.phpurchase.com/phpoet/affiliates"><img src="http://www.phpurchase.com/phpoet/wp-content/uploads/dollar-sign-sm.jpg" class="float-right" /></a><br />
The <a href="http://www.phpurchase.com/phpoet/affiliates/">PHPurchase affiliate program</a> is now live. You earn 25% of every sale you send our way. PHPurchase is a WordPress e-commerce plugin that we developed at PHPoet. We&#8217;ve been using it on several of our own clients sites and have now decided to offer the plugin publicly.</p>
<p><a href="http://www.phpurchase.com">PHPurchase</a> stands out for several reasons. First, the approach we took to implementing the plugin was to let WordPress manage all aspects of the page layout. There are plenty of ways to implement photo galleries, embed videos, etc. already available for WordPress. PHPurchase simply adds e-commerce functionality. Second, we have placed a strong emphasis on documentation and support by providing screencast tutorials, help articles, and even live chat support embedded in the the &#8220;Help&#8221; page of the PHPurchase admin panel as well as on the PHPurchase website. Our developers, of which I am one, are also available to help troubleshoot problems, build out an entire WordPress store, or anything in between. Lastly, PHPurchase is fully compatible with the <a href="http://www.tipsandtricks-hq.com/infinity-remix-premium-wordpress-theme-1318?ap_id=phpoet" target="_blank">WordPress Affiliate Platform plugin</a> if you wanted to run an affiliate program for your WordPress store. No additional configuration is needed to start running your own affiliate program.</p>
<p>We look forward to seeing how you use PHPurchase. Please send us links to your PHPurchase stores and we&#8217;ll tweet them and/or link to them from our website. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.refreshinglyblue.com/2009/11/28/phpurchase-affiliate-program/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Count Rows With Zend_Db_Table</title>
		<link>http://www.refreshinglyblue.com/2009/11/18/how-to-count-rows-with-zend_db_table/</link>
		<comments>http://www.refreshinglyblue.com/2009/11/18/how-to-count-rows-with-zend_db_table/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 20:53:05 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.refreshinglyblue.com/?p=160</guid>
		<description><![CDATA[This is just a quick tip but seems to stump a lot of people, probably because it is not at all clear in the Zend Reference how to do this. So if you want to count the number of rows in a table using SQL you would write something like:
SELECT count(*) FROM myTableName WHERE someColumn='someValue';
But [...]]]></description>
			<content:encoded><![CDATA[<p>This is just a quick tip but seems to stump a lot of people, probably because it is not at all clear in the Zend Reference how to do this. So if you want to count the number of rows in a table using SQL you would write something like:</p>
<pre name="code" class="sql">SELECT count(*) FROM myTableName WHERE someColumn='someValue';</pre>
<p>But when you are using a Zend_Db_Table it&#8217;s a little confusing how to get the &#8220;count(*)&#8221; part to work because Zend_Db_Table likes to throw errors saying that it can&#8217;t be joined with other tables. So, in your Zend_Db_Table class, here is the syntax you can use:</p>
<pre name="code" class="php">
$sql = $this->select()
       ->from($this, 'COUNT(*)')
       ->where('parent_id=?', $this->id);
echo $this->fetchRow($sql)->num;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.refreshinglyblue.com/2009/11/18/how-to-count-rows-with-zend_db_table/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPurchase, Ecommerce For WordPress</title>
		<link>http://www.refreshinglyblue.com/2009/11/13/phpurchase-ecommerce-for-wordpress/</link>
		<comments>http://www.refreshinglyblue.com/2009/11/13/phpurchase-ecommerce-for-wordpress/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 18:44:59 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.refreshinglyblue.com/?p=153</guid>
		<description><![CDATA[Your Own Online Store Using WordPress and PHPurchase

At PHPoet, we have developed an e-commerce plugin for WordPress called PHPurchase. PHPurchase adds e-commerce functionality to the popular WordPress platform. So now you can sell products from your blog or you can run your entire website on WordPress and create your own online store. To see PHPurchase [...]]]></description>
			<content:encoded><![CDATA[<h1>Your Own Online Store Using WordPress and PHPurchase</h1>
<p><a href="http://www.phpurchase.com"><img style="float: right; padding: 0px 0px 0px 10px;" src="http://www.phpurchase.com/banners/phpurchase-shopping-cart.jpg" alt="" /></a></p>
<p>At PHPoet, we have developed an <a href="http://www.phpurchase.com">e-commerce plugin for WordPress</a> called PHPurchase. PHPurchase adds e-commerce functionality to the popular WordPress platform. So now you can sell products from your blog or you can run your entire website on WordPress and create your own online store. To see PHPurchase in action, take a look at <a href="http://www.QuietHeadphones.com">QuietHeadphones.com</a>, an online store selling headphones.</p>
<p>You can use WordPress and PHPurchase to easily set up your own online store. By now, most people have heard about WordPress. If not, WordPress is free web software that you install on a web server and it lets non-programmers manage their own website. You can run your own blog, add/edit pages of your own website, and now you can even run your own e-commerce store.</p>
<p>There are many web hosting companies out there where you can install WordPress with just a couple clicks from the control panel of your hosting account. If you happen to have a web hosting account that does not offer WordPress, you can very easily download WordPress for free and install it on your own. You basically just upload the WordPress folder that you can <a href="http://wordpress.org/download/">download from WordPress.org</a>, enter in a couple configuration settings and you can be up and running in about 5 minutes. Once you have the initial installation of WordPress running you may want to customize the look of your website by downloading a theme. WordPress themes let you change the entire look of your website very easily. There are tons of free themes available. There are also &#8220;premium&#8221; themes that generally cost around $50 &#8211; $100. Or you could hire my company <a href="http://www.phpoet.com">WordPress development company</a> to develop the site for you. Then, once the site is developed, we will train you how to manage the entire site on your own.</p>
<p>By default, WordPress does not have any functionality for e-commerce so you will want to get the <a href="http://www.phpurchase.com">WordPress e-commerce plugin</a>. PHPurchase let&#8217;s you sell digital products like music files, or other types of digital documents as well as physical products that you would ship to your customers. You can also sell services. For example, if you wanted to offer freelance writing services, logo design, or basically anything, you can easily set that up with PHPurchase. PHPurchase will work with PayPal or you can set it up to take credit cards directly on your own website. PHPurchase is very secure and doesn&#8217;t store credit card information so you don&#8217;t need to worry about hackers or anything.</p>
<p>There are several other e-commerce plugins out there for WordPress, but we were never able to find one that satisfied our needs. They either force you to use fancy grid layouts or organize your products by brand or category. If you are only selling a small number of products then you don&#8217;t want to be forced into a layout designed for large stores with lots of products. We designed PHPurchase to let you use WordPress to configure your entire store and use PHPurchase to handle the e-commerce. PHPurchase may be the only WordPress e-commerce plugin with professional level support. It is easy to set up and even comes with some videos showing you how to configure all the aspects of your online store like shipping prices, promotions, etc. If you run into any trouble. PHPurchase is supported by <a href="http://www.phpoet.com">PHPoet a web development company specializing in WordPress</a>. So you can quickly get answers to your questions. We are also available to build your site for you and train you how to manage it once it&#8217;s online. So if you are looking for a way to make some extra income or if you want to start your own home based business, WordPress and PHPurchase are certainly worth looking at.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.refreshinglyblue.com/2009/11/13/phpurchase-ecommerce-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Noise Canceling Headphones</title>
		<link>http://www.refreshinglyblue.com/2009/09/23/my-noise-canceling-headphones/</link>
		<comments>http://www.refreshinglyblue.com/2009/09/23/my-noise-canceling-headphones/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 02:07:22 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[Everyday Tips]]></category>

		<guid isPermaLink="false">http://www.refreshinglyblue.com/?p=151</guid>
		<description><![CDATA[It seems like a simple idea and often times simple ideas are the best ones. Build a set of noise canceling headphones that physically reflect noise away from your ears.

Most popular noise canceling headphones use electronics to cancel sound. The electronics involved in these battery operated noise canceling headphones like the Bose QuietComfort headphones or Sony [...]]]></description>
			<content:encoded><![CDATA[<p>It seems like a simple idea and often times simple ideas are the best ones. Build a set of <a href="http://www.quietheadphones.com">noise canceling headphones</a> that physically reflect noise away from your ears.</p>
<p><span id="more-151"></span></p>
<p>Most popular noise canceling headphones use electronics to cancel sound. The electronics involved in these battery operated noise canceling headphones like the Bose QuietComfort headphones or Sony headphones are certainly interesting to read about. In a nutshell, they sample the noise around you and then attempt to produce an &#8220;opposite&#8221; sound wave inside the ear cups to <em>cancel</em> the unwanted noise. To accomplish this, these headphones have a little computer in them that runs off a set of batteries. This is all great EXCEPT there are a bunch of &#8220;hidden&#8221; problems with this type of headphones.</p>
<h2>My Problem With Most Noise Canceling Headphones</h2>
<p>I&#8217;ve tried a bunch of headphones before realizing that most of these noise canceling headphones all work the same way. I HATE the way the tend to destroy the bass tones in your music. Just think about it, if they are putting &#8220;canceling&#8221; sound waves in your ear cups, some of your music tones are getting canceled out too. That&#8217;s no good. Also, if your batteries die then so does your noise cancelation and sometimes, with some headphones, you can&#8217;t hear any music at all. A brief list of my problems with most headphones are:</p>
<ul>
<li>You have to keep buying batteries.</li>
<li>No batteries, no music.</li>
<li>The swooshing noise that the &#8220;opposite&#8221; sound wave makes in your ears</li>
<li>Not good for block voices, phones, dogs, etc.</li>
<li>Distorts your music</li>
<li>Too expensive</li>
</ul>
<h1>The Best Noise Canceling Headphones</h1>
<p>The great news is that I have finally found a great set of headphones that really work! <a href="http://www.quietheadphones.com/product/ex-29/">The Direct Sound Extreme Isolation Headphones</a> at <a href="http://www.quietheadphones.com">QuietHeadphones.com</a> solve all the problems I had been experiencing with the other headphones and I LOVE them. They work by PHYSICALLY reflecting sound away from your ears. They have a slick closed back and are padded with a noise isolation foam and the work by simply stopping sound from reaching your ears. They don&#8217;t try to do any fancy calculations, <strong>they don&#8217;t use batteries</strong>, and best of all, <strong>THEY WORK REALLY WELL</strong>.</p>
<p>There are three different versions of these headphones available. Their <a href="http://www.quietheadphones.com/product/ex-29/">best noise canceling headphones</a> are the EX-29 Extreme Isolation Headphones. They block 29 dB of sound and have excellent, studio quality speakers. They also offer a smaller, compact version of these headphones called the EX-25 Extreme Isolation Headphones. The EX-25 headphones are great <a href="http://www.quietheadphones.com/product/ex-25/">noise canceling headphones for traveling</a>. They block 25 dB of noise an are smaller making them easy to bring with you when you are on the move. The third version is a speakerless version of the EX-25 headphones which are designed to just block sound. They have no speakers and no cord so you don&#8217;t use them to listen to music.</p>
<h1>Complete Noise Isolation</h1>
<p>Now, a normal conversation is about 60 dB. A crying baby is about 70 dB. And these headphones only block 29 dB of sound so you are still going to hear some background noise if you aren&#8217;t listening to any audio through your headphones. But keep in mind that the battery powered headphones out there only block about 17dB. So you are still getting better isolation with these headphones. But there is one more piece of the puzzle.</p>
<p>The folks at QuietHeadphones.com are giving away a <strong>FREE 30 minute white noise MP3</strong> that is awesome. It uses binaural beats to promote creativity and concentration. And if you listen to this audio track through your headphones at a low level you can mask out any remaining noise and truly achieve almost complete sound isolation. I guess this why they are called <strong>EXTREME ISOLATION</strong> headphones. So you get to complete noise canceling package at QuietHeadphones.com and the price is great. Even their most expensive headphones are under $100. This is a fantastic deal compared to the battery powered headphones that can be easily 2 &#8211; 3 times more expensive.</p>
<p>I placed my order and the headphones shipped the next day and I had my headphones is just a couple days. They have fast shipping and their customer service is awesome too. Best of all they are offering a 110% money back guarantee. So you really can&#8217;t go wrong. Check out their <a href="http://www.quietheadphones.com">noise canceling headphones</a>, get the free white noise MP3, and finally enjoy some crystal clear music with no distractions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.refreshinglyblue.com/2009/09/23/my-noise-canceling-headphones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Great Use For Javascript Closures</title>
		<link>http://www.refreshinglyblue.com/2009/06/24/great-use-for-javascript-closures/</link>
		<comments>http://www.refreshinglyblue.com/2009/06/24/great-use-for-javascript-closures/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 01:28:17 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[Everyday Tips]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.refreshinglyblue.com/?p=138</guid>
		<description><![CDATA[setTimeout() with a paramter
If you need to use the setTimeout() function to call a javascript function that accepts a parameter you might be tempted to use syntax like
setTimeout('functionName()', 1500, param1, param2, etc); 
And you would probably have success until you went to test your site in Internet Explorer. Firefox seems to be able to handle [...]]]></description>
			<content:encoded><![CDATA[<h1>setTimeout() with a paramter</h1>
<p>If you need to use the setTimeout() function to call a javascript function that accepts a parameter you might be tempted to use syntax like</p>
<pre name="code" class="javascript">setTimeout('functionName()', 1500, param1, param2, etc); </pre>
<p>And you would probably have success until you went to test your site in Internet Explorer. Firefox seems to be able to handle the extra parameters on the end of the setTimeout() call but IE simply sends undefined variables to the function you are calling and your script dies.</p>
<p>Here is the solution &#8211; use closures! They are a little tricky to understand if you are new to the idea but, in a nutshell, you are assign a function to a variable. Normally you assign numbers, or strings to variables &#8211; well you can assign functions to variables too. Here&#8217;s how:</p>
<pre name="code" class="javascript">setTimeout(function() { delayedFunctionName(param1); }, 1500); </pre>
<p>This causes the function delayedFunctionName(p1) to be called with a 1.5 second delay AND the p1 parameter actually gets a value!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.refreshinglyblue.com/2009/06/24/great-use-for-javascript-closures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
