<?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>Clayton McIlrath &#187; programming</title>
	<atom:link href="http://thinkclay.com/tag/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://thinkclay.com</link>
	<description>Creative Media Design, Powered by Wordpress</description>
	<lastBuildDate>Thu, 29 Jul 2010 18:35:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Must-have Magento Extensions</title>
		<link>http://thinkclay.com/technology/must-have-magento-extensions</link>
		<comments>http://thinkclay.com/technology/must-have-magento-extensions#comments</comments>
		<pubDate>Sun, 13 Jun 2010 19:14:45 +0000</pubDate>
		<dc:creator>Clay McIlrath</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[developer tools]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[zend]]></category>
		<guid isPermaLink="false">http://thinkclay.com/?p=1232</guid>
		<description><![CDATA[As Magento grows, so does it&#8217;s base for extensions and contributions. I often find myself browsing the collection of them, and try to experiment with a new extension on every site that I build. This is my list of must-haves and favorite magento extensions thus far, and hopefully I&#8217;ll add to this list as time [...]]]></description>
			<content:encoded><![CDATA[<p>As Magento grows, so does it&#8217;s base for extensions and contributions. I often find myself browsing the collection of them, and try to experiment with a new extension on every site that I build. This is my list of must-haves and favorite magento extensions thus far, and hopefully I&#8217;ll add to this list as time goes on.</p>
<h3>Developer Extensions</h3>
<p>Developer toolbar:</p>
<p>http://www.magentocommerce.com/extension/2271/developer-toolbar</p>
<p>Blueprint Theme:</p>
<p>http://www.magentocommerce.com/extension/2245</p>
<h3>Free Magento Extensions</h3>
<p>Product Image lightbox:</p>
<p>http://www.magentocommerce.com/extension/1487/magento-easy-lightbox</p>
<p>Product Detail tabbing:</p>
<p>http://www.magentocommerce.com/extension/1725/magento-easytabs</p>
<p>Teaser Box:</p>
<p>http://www.magentocommerce.com/extension/1778/teaserbox</p>
<h3>Free Magento Themes</h3>
<p>Absolute Magento Theme</p>
<p>http://www.magentocommerce.com/extension/2031/magento-absolute-theme</p>
<h3>Paid Magento Extensions</h3>
<p>Abandoned Cart Alerts</p>
<p>http://adjustware.com/shop/magentomods_abandoned_carts_alerts.html</p>
<p>Quickview</p>
<p>http://www.magentocommerce.com/extension/574/quickview-1.1</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkclay.com/technology/must-have-magento-extensions/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Installing Zend Framework on MAMP</title>
		<link>http://thinkclay.com/technology/installing-zend-framework-on-mamp</link>
		<comments>http://thinkclay.com/technology/installing-zend-framework-on-mamp#comments</comments>
		<pubDate>Wed, 09 Dec 2009 03:23:28 +0000</pubDate>
		<dc:creator>Clay McIlrath</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[developer tools]]></category>
		<category><![CDATA[MAC]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[zend]]></category>
		<guid isPermaLink="false">http://thinkclay.com/?p=1209</guid>
		<description><![CDATA[As usual, I'm sharing a solution a problem that I personally encountered and couldn't find a great solution for. So I've been using my laptop more and more as my local development environment in order to keep things private and secure while in the dev stage. Among learning how to fully utilize SVN locally, I've been trying to setup my laptop to be a fully functional server while also being extremely easy to maintain and change my environment on the fly. To do this, I'm running MAMP (Mac Apache MySQL PHP) available for free at <a href="http://mamp.info">mamp.info</a> as well as the Zend Framework bundled with Zend Tool. ]]></description>
			<content:encoded><![CDATA[<p>As usual, I&#8217;m sharing a solution a problem that I personally encountered and couldn&#8217;t find a great solution for. So I&#8217;ve been using my laptop more and more as my local development environment in order to keep things private and secure while in the dev stage. Among learning how to fully utilize SVN locally, I&#8217;ve been trying to setup my laptop to be a fully functional server while also being extremely easy to maintain and change my environment on the fly. To do this, I&#8217;m running MAMP (Mac Apache MySQL PHP) available for free at <a href="http://mamp.info">mamp.info</a> as well as the <strong>Zend Framework</strong> bundled with <strong>Zend Tool</strong>. </p>
<ol>
<li>Get MAMP up and running, no special setup is needed here.</li>
<li>Download <a href="http://framework.zend.com/download/latest">Zend Framework</a> and place it wherever you&#8217;d like. I actually retrieved my copy via SVN so that I can easily upgrade it later. To do this open up terminal and follow these commands:
<pre>
cd /Applications/MAMP/
mkdir svn
cd svn
mkdir zendframework
cd zendframework
svn checkout http://framework.zend.com/svn/framework/standard/trunk
</pre>
</li>
<li>Now open your php.ini file located under <em>/Applications/MAMP/conf/php5/php.ini</em></li>
<li>Search for <strong>include_path</strong> (around line 411 on mine) and add the location of your zend framework:
<pre>include_path = ".:/usr/lib/php:/usr/local/lib/php:/Applications/MAMP/svn/zendframework/trunk/library"</pre>
<p>Make sure to include the <em>library</em> directory otherwise you&#8217;ll <strong>get a blank page in Zend Framework</strong>
</li>
<li>Zend Framework also comes with a shell script that will help you with RAD (Rapid Application Deployment), you can create a shortcut to Zend Tools in terminal by adding an alias to your profile under /etc/profile (thanks DS for pointing this out) and make sure to restart terminal after you&#8217;ve done so:
<pre>alias zf=/Applications/MAMP/svn/zendframework/trunk/bin/zf.sh</pre>
</li>
<li>Test if the Zend Tool is installed correctly by showing the version:
<pre>zf show version</pre>
</li>
<li>Finally navigate to the directory you&#8217;d like to create your first project in:
<pre>cd /Applications/MAMP/htdocs/</pre>
<p>and with Zend Tool creating a project is simple:</p>
<pre>zf create project test</pre>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://thinkclay.com/technology/installing-zend-framework-on-mamp/feed</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Magento Custom Status in Admin</title>
		<link>http://thinkclay.com/technology/magento-custom-status-in-admin</link>
		<comments>http://thinkclay.com/technology/magento-custom-status-in-admin#comments</comments>
		<pubDate>Mon, 07 Dec 2009 19:19:07 +0000</pubDate>
		<dc:creator>Clay McIlrath</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://thinkclay.com/?p=1199</guid>
		<description><![CDATA[<img src="http://thinkclay.com/wp-content/uploads/2009/12/magento-order-status.png" alt="magento order status" title="magento order status" width="300" height="200" class="alignleft" />
After my own frustrations and time wasted trying to solve an issue that Magento's core really should handle better, I finally found a way to enable all custom statuses and manual overrides on Sales/Orders.  This little tutorial will help you setup a module to override the core and hopefully help you find peace to a very frustrating issue in the core.]]></description>
			<content:encoded><![CDATA[<p>I had to wrestle with a magento issue recently and thought it would be good the share my problem and solution with the rest of you. If you&#8217;re looking to <strong>set custom status in magento</strong>, <strong>create custom status in magento</strong> or <strong>control order status</strong> then this solution is probably for you.</p>
<p><img src="http://thinkclay.com/wp-content/uploads/2009/12/custom-order-status.png" alt="custom order status in Magento" title="custom order status" width="470" height="223" class="alignnone size-full wp-image-1206" /></p>
<p>First we have to create a module. Create file: <em>app/etc/modules/Mage_Sales.xml</em></p>
<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;config<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;modules<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Mage_Sales<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;active<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>true<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/active<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;codePool<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>local<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/codePool<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Mage_Sales<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/modules<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/config<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>
<p>Then copy this whole folder: <em>app/code/core/Mage/Sales</em> to <em>app/code/local/Mage</em></p>
<p>What we&#8217;ve done is taken a core module and copied it into our local module. This lets us override any core functionality without have to worry about it breaking in future update (or undoing if you mess up).</p>
<p>Now we need to edit: <em>app/code/core/Mage/Sales/etc/config.xml</em> and look around line 544 and you&#8217;ll want to replace  tags with:</p>
<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;order<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pending</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Pending<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/pending<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pending_paypal</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Pending PayPal<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/pending_paypal<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;processing</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Processing<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/processing<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;holded</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>On Hold<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/holded<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;complete</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Complete<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/complete<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;closed</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Closed<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/closed<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;canceled</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Canceled<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/canceled<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;states<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;new</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>New<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pending</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;processing</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;holded</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;complete</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;closed</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;canceled</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/new<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pending</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Pending<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pending</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;processing</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;holded</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;complete</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;closed</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;canceled</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/pending<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;processing</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Processing<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pending</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;processing</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;holded</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;complete</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;closed</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;canceled</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/processing<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;complete</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Complete<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;complete</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pending</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;processing</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;holded</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;closed</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;canceled</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/complete<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;closed</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Closed<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pending</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;processing</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;holded</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;complete</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;closed</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;canceled</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/closed<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;canceled</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Canceled<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pending</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;processing</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;holded</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;complete</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;closed</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;canceled</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/canceled<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;holded</span> <span style="color: #000066;">translate</span>=<span style="color: #ff0000;">&quot;label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>On Hold<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pending</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;processing</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;holded</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;complete</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;closed</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;canceled</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/statuses<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/holded<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/states<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/order<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>
<p><img src="http://thinkclay.com/wp-content/uploads/2009/12/Screen-shot-2009-12-07-at-11.55.40-AM.png" alt="order status" title="order status" width="124" height="247" class="alignleft" /><br />
This will <strong>enable all default magento statuses</strong> on the order page. In edition to enabling statuses you can also create your own <strong>custom order status</strong> here as well. As far as I know this solution works on Magento 1.1 up to 1.3 but if you have any comments or questions feel free to post them here or read the <a href="http://www.magentocommerce.com/boards/viewthread/9976/">forum</a> on Magento&#8217;s site for more details.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkclay.com/technology/magento-custom-status-in-admin/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Add, Edit, Delete Cookies with JavaScript</title>
		<link>http://thinkclay.com/technology/add-edit-delete-cookies-with-javascript</link>
		<comments>http://thinkclay.com/technology/add-edit-delete-cookies-with-javascript#comments</comments>
		<pubDate>Mon, 19 Oct 2009 19:30:55 +0000</pubDate>
		<dc:creator>Clay McIlrath</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://thinkclay.com/?p=1187</guid>
		<description><![CDATA[<a href="http://thinkclay.com/wp-content/uploads/2009/10/cookie-in-js.jpg"><img src="http://thinkclay.com/wp-content/uploads/2009/10/cookie-in-js.jpg" alt="cookies in js" title="cookies in js" width="300" height="200" class="alignleft" /></a>There are many ways to communicate and store data from front-end to back-end, but many require AJAX which may take too much time to develop or might not fit the project correctly. A neat alternative to save data and be able to access that data from the server is using <strong>browser cookies</strong>. <a href="http://en.wikipedia.org/wiki/HTTP_cookie">Cookies</a> can be created and destroyed by javascript, and while the syntax can be confusing, I've gathered this little script that will make it easier to use...]]></description>
			<content:encoded><![CDATA[<p>There are many ways to communicate and store data from front-end to back-end, but many require AJAX which may take too much time to develop or might not fit the project correctly. A neat alternative to save data and be able to access that data from the server is using <strong>browser cookies</strong>. <a href="http://en.wikipedia.org/wiki/HTTP_cookie">Cookies</a> can be created and destroyed by javascript, and while the syntax can be confusing, I&#8217;ve gathered this little script that will make it easier to use:</p>
<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">/* COOKIES OBJECT */</span>
<span style="color: #003366; font-weight: bold;">var</span> Cookies <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #006600; font-style: italic;">// Initialize by splitting the array of Cookies</span>
	init<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> allCookies <span style="color: #339933;">=</span> document.<span style="color: #660066;">cookie</span>.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'; '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>allCookies.<span style="color: #660066;">length</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #003366; font-weight: bold;">var</span> cookiePair <span style="color: #339933;">=</span> allCookies<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'='</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#91;</span>cookiePair<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> cookiePair<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
        <span style="color: #006600; font-style: italic;">// Create Function: Pass name of cookie, value, and days to expire</span>
	create<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #339933;">,</span>value<span style="color: #339933;">,</span>days<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>days<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #003366; font-weight: bold;">var</span> date <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			date.<span style="color: #660066;">setTime</span><span style="color: #009900;">&#40;</span>date.<span style="color: #660066;">getTime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>days<span style="color: #339933;">*</span><span style="color: #CC0000;">24</span><span style="color: #339933;">*</span><span style="color: #CC0000;">60</span><span style="color: #339933;">*</span><span style="color: #CC0000;">60</span><span style="color: #339933;">*</span><span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003366; font-weight: bold;">var</span> expires <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;; expires=&quot;</span><span style="color: #339933;">+</span>date.<span style="color: #660066;">toGMTString</span><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;">else</span> <span style="color: #003366; font-weight: bold;">var</span> expires <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;</span>
		document.<span style="color: #660066;">cookie</span> <span style="color: #339933;">=</span> <span style="color: #000066;">name</span><span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;=&quot;</span><span style="color: #339933;">+</span>value<span style="color: #339933;">+</span>expires<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;; path=/&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#91;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> value<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
        <span style="color: #006600; font-style: italic;">// Erase cookie by name</span>
	erase<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">create</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #339933;">,</span><span style="color: #3366CC;">''</span><span style="color: #339933;">,-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#91;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> undefined<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
Cookies.<span style="color: #660066;">init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>
<p>Unfortunately, there&#8217;s no easy way to simple update a cookie (correct me if I&#8217;m wrong) but this will allow you to delete and re-create as needed:</p>
<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// Erase cookie &quot;test&quot;</span>
Cookies.<span style="color: #660066;">erase</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'test'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Recreate cookie &quot;test&quot; with a new value of &quot;cookievalue&quot; and set to expire in 10 days</span>
Cookies.<span style="color: #660066;">create</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'test'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'cookievalue'</span><span style="color: #339933;">,</span><span style="color: #CC0000;">10</span><span style="color: #009900;">&#41;</span></pre></div></div>
]]></content:encoded>
			<wfw:commentRss>http://thinkclay.com/technology/add-edit-delete-cookies-with-javascript/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AppleScript: YUI Compression</title>
		<link>http://thinkclay.com/technology/applescript-yui-compression</link>
		<comments>http://thinkclay.com/technology/applescript-yui-compression#comments</comments>
		<pubDate>Tue, 09 Jun 2009 23:42:26 +0000</pubDate>
		<dc:creator>Clay McIlrath</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[automate]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[developer tools]]></category>
		<category><![CDATA[MAC]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[resources]]></category>
		<guid isPermaLink="false">http://thinkclay.com/?p=995</guid>
		<description><![CDATA[<a href="http://thinkclay.com/technology/applescript-yui-compression"><img class="alignleft" src="http://thinkclay.com/wp-content/uploads/2009/06/apple-script.jpg" alt="applescript" title="apple script" width="300" height="200" /></a>I love learning new programming languages, especially if it solves a need that I have and automates my process a bit more. I spent a couple hours learning AppleScript which is a programming language for Mac that let's you access the API and make basic function calls to cocoa based programs and applications. One such need that I had is compressing my JavaScript and CSS files before uploading to the web server. There are many applications and ways to this online, but they all are three or more steps to get the compressed file. A while back I downloaded the YUI java applet to do the compression on my desktop via Terminal, which sped up my process a bit, but since I only used it once in a great while, I'd always have to look up the parameters that I needed to pass to it. So today when I went to look it up, I decided I was going to be adventurous and try something new. That adventure led me to a solution that I'm happy with, and you may enjoy as well. ]]></description>
			<content:encoded><![CDATA[<p>I love learning new programming languages, especially if it solves a need that I have and <strong>automates</strong> my process a bit more. I spent a couple hours learning AppleScript which is a programming language for Mac that let&#8217;s you access the API and make basic function calls to cocoa based programs and applications. One such need that I had is compressing my <strong>JavaScript</strong> and <strong>CSS</strong> files before uploading to the web server. There are many applications and ways to this online, but they all are three or more steps to get the compressed file. A while back I downloaded the <a href="http://developer.yahoo.com/yui/compressor/">YUI java applet</a> to do the compression on my <strong>Mac</strong> via Terminal, which sped up my process a bit. However, since I only used it once in a great while, I&#8217;d always have to look up the parameters that I needed to pass to the compressor. So today when I went to look up the syntax, I decided I was going to be adventurous and try something new. That adventure led me to an <strong>applescript</strong> solution that I&#8217;m happy with, and you may enjoy as well. </p>
<h2>Download the YUI Compression AppleScript</h2>
<p><a href='http://thinkclay.com/wp-content/uploads/2009/06/yui-compressor-script.zip'><img src="http://thinkclay.com/wp-content/uploads/2009/06/download-yui-compressor-applescript.png" alt="download the YUI compressor applescript" title="download the YUI compressor applescript" width="490" height="96" /></a></p>
<h2>The AppleScript Source:</h2>
<div class="wp_syntax"><div class="code"><pre class="applescript" style="font-family:monospace;"><span style="color: #ff0033; font-weight: bold;">on</span> <span style="color: #0066ff;">run</span>
	<span style="color: #ff0033; font-weight: bold;">tell</span> <span style="color: #0066ff;">application</span> <span style="color: #009900;">&quot;Finder&quot;</span>
		<span style="color: #ff0033; font-weight: bold;">set</span> this_item <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #0066ff;">choose file</span> <span style="color: #ff0033; font-weight: bold;">with</span> prompt <span style="color: #009900;">&quot;Choose CSS or JS file:&quot;</span>
		<span style="color: #ff0033; font-weight: bold;">set</span> dir <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #ff0033;">the</span> <span style="color: #0066ff;">selection</span> <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">alias</span>
	<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">tell</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> mypath <span style="color: #ff0033; font-weight: bold;">to</span> posix_path<span style="color: #000000;">&#40;</span>this_item<span style="color: #000000;">&#41;</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> dirpath <span style="color: #ff0033; font-weight: bold;">to</span> posix_path<span style="color: #000000;">&#40;</span>dir<span style="color: #000000;">&#41;</span>
&nbsp;
	runCompression<span style="color: #000000;">&#40;</span>mypath, dirpath<span style="color: #000000;">&#41;</span>
<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #0066ff;">run</span>
&nbsp;
<span style="color: #ff0033; font-weight: bold;">on</span> posix_path<span style="color: #000000;">&#40;</span>mac_path<span style="color: #000000;">&#41;</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> mac_path <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #000000;">&#40;</span>mac_path <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">text</span><span style="color: #000000;">&#41;</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> root <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #000000;">&#40;</span><span style="color: #0066ff;">offset of</span> <span style="color: #009900;">&quot;:&quot;</span> <span style="color: #ff0033; font-weight: bold;">in</span> mac_path<span style="color: #000000;">&#41;</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> rootdisk <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #000000;">&#40;</span>characters <span style="color: #000000;">1</span> <span style="color: #ff0033;">thru</span> <span style="color: #000000;">&#40;</span>root <span style="color: #000000;">-</span> <span style="color: #000000;">1</span><span style="color: #000000;">&#41;</span> <span style="color: #ff0033; font-weight: bold;">of</span> mac_path<span style="color: #000000;">&#41;</span>
	<span style="color: #ff0033; font-weight: bold;">tell</span> <span style="color: #0066ff;">application</span> <span style="color: #009900;">&quot;Finder&quot;</span>
		<span style="color: #ff0033; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0066ff;">disk</span> <span style="color: #000000;">&#40;</span>rootdisk <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">string</span><span style="color: #000000;">&#41;</span> <span style="color: #ff0033; font-weight: bold;">is</span> <span style="color: #ff0033;">the</span> startup <span style="color: #0066ff;">disk</span><span style="color: #000000;">&#41;</span> <span style="color: #ff0033; font-weight: bold;">then</span>
			<span style="color: #ff0033; font-weight: bold;">set</span> unixpath <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;/&quot;</span> <span style="color: #000000;">&amp;</span> <span style="color: #000000;">&#40;</span>characters <span style="color: #000000;">&#40;</span>root <span style="color: #000000;">+</span> <span style="color: #000000;">1</span><span style="color: #000000;">&#41;</span> <span style="color: #ff0033;">thru</span> <span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">of</span> mac_path<span style="color: #000000;">&#41;</span>
		<span style="color: #ff0033; font-weight: bold;">else</span>
			<span style="color: #ff0033; font-weight: bold;">set</span> unixpath <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;/Volumes:&quot;</span> <span style="color: #000000;">&amp;</span> mac_path
		<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">if</span>
	<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">tell</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> chars <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #ff0033;">every</span> character <span style="color: #ff0033; font-weight: bold;">of</span> unixpath
	<span style="color: #ff0033; font-weight: bold;">repeat</span> <span style="color: #ff0033; font-weight: bold;">with</span> i <span style="color: #ff0033; font-weight: bold;">from</span> <span style="color: #000000;">2</span> <span style="color: #ff0033; font-weight: bold;">to</span> length <span style="color: #ff0033; font-weight: bold;">of</span> chars
		<span style="color: #ff0033; font-weight: bold;">if</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">text</span> <span style="color: #ff0033; font-weight: bold;">is</span> <span style="color: #ff0033;">equal</span> <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;/&quot;</span> <span style="color: #ff0033; font-weight: bold;">then</span>
			<span style="color: #ff0033; font-weight: bold;">set</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;:&quot;</span>
		<span style="color: #ff0033; font-weight: bold;">else</span> <span style="color: #ff0033; font-weight: bold;">if</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">text</span> <span style="color: #ff0033; font-weight: bold;">is</span> <span style="color: #ff0033;">equal</span> <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;:&quot;</span> <span style="color: #ff0033; font-weight: bold;">then</span>
			<span style="color: #ff0033; font-weight: bold;">set</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;/&quot;</span>
		<span style="color: #ff0033; font-weight: bold;">else</span> <span style="color: #ff0033; font-weight: bold;">if</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">text</span> <span style="color: #ff0033; font-weight: bold;">is</span> <span style="color: #ff0033;">equal</span> <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;'&quot;</span> <span style="color: #ff0033; font-weight: bold;">then</span>
			<span style="color: #ff0033; font-weight: bold;">set</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;<span style="color: #000000; font-weight: bold;">\\</span>'&quot;</span>
		<span style="color: #ff0033; font-weight: bold;">else</span> <span style="color: #ff0033; font-weight: bold;">if</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">text</span> <span style="color: #ff0033; font-weight: bold;">is</span> <span style="color: #ff0033;">equal</span> <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;<span style="color: #000000; font-weight: bold;">\&quot;</span>&quot;</span> <span style="color: #ff0033; font-weight: bold;">then</span>
			<span style="color: #ff0033; font-weight: bold;">set</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;<span style="color: #000000; font-weight: bold;">\\</span>&quot;</span> <span style="color: #000000;">&amp;</span> <span style="color: #009900;">&quot;<span style="color: #000000; font-weight: bold;">\&quot;</span>&quot;</span>
		<span style="color: #ff0033; font-weight: bold;">else</span> <span style="color: #ff0033; font-weight: bold;">if</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">text</span> <span style="color: #ff0033; font-weight: bold;">is</span> <span style="color: #ff0033;">equal</span> <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;*&quot;</span> <span style="color: #ff0033; font-weight: bold;">then</span>
			<span style="color: #ff0033; font-weight: bold;">set</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;<span style="color: #000000; font-weight: bold;">\\</span>*&quot;</span>
		<span style="color: #ff0033; font-weight: bold;">else</span> <span style="color: #ff0033; font-weight: bold;">if</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">text</span> <span style="color: #ff0033; font-weight: bold;">is</span> <span style="color: #ff0033;">equal</span> <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;?&quot;</span> <span style="color: #ff0033; font-weight: bold;">then</span>
			<span style="color: #ff0033; font-weight: bold;">set</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;<span style="color: #000000; font-weight: bold;">\\</span>?&quot;</span>
		<span style="color: #ff0033; font-weight: bold;">else</span> <span style="color: #ff0033; font-weight: bold;">if</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">text</span> <span style="color: #ff0033; font-weight: bold;">is</span> <span style="color: #ff0033;">equal</span> <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot; &quot;</span> <span style="color: #ff0033; font-weight: bold;">then</span>
			<span style="color: #ff0033; font-weight: bold;">set</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;<span style="color: #000000; font-weight: bold;">\\</span> &quot;</span>
		<span style="color: #ff0033; font-weight: bold;">else</span> <span style="color: #ff0033; font-weight: bold;">if</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">text</span> <span style="color: #ff0033; font-weight: bold;">is</span> <span style="color: #ff0033;">equal</span> <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;<span style="color: #000000; font-weight: bold;">\\</span>&quot;</span> <span style="color: #ff0033; font-weight: bold;">then</span>
			<span style="color: #ff0033; font-weight: bold;">set</span> <span style="color: #0066ff;">item</span> i <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;<span style="color: #000000; font-weight: bold;">\\</span><span style="color: #000000; font-weight: bold;">\\</span>&quot;</span>
		<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">if</span>
	<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">repeat</span>
	<span style="color: #ff0033; font-weight: bold;">return</span> <span style="color: #ff0033;">every</span> <span style="color: #0066ff;">item</span> <span style="color: #ff0033; font-weight: bold;">of</span> chars <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">string</span>
<span style="color: #ff0033; font-weight: bold;">end</span> posix_path
&nbsp;
<span style="color: #ff0033; font-weight: bold;">on</span> runCompression<span style="color: #000000;">&#40;</span>mypath, dirpath<span style="color: #000000;">&#41;</span>
	<span style="color: #ff0033; font-weight: bold;">tell</span> <span style="color: #0066ff;">application</span> <span style="color: #009900;">&quot;Terminal&quot;</span>
		<span style="color: #0066ff;">do shell script</span> <span style="color: #009900;">&quot;java -jar &quot;</span> <span style="color: #000000;">&amp;</span> dirpath <span style="color: #000000;">&amp;</span> <span style="color: #009900;">&quot;yuicompressor-2.4.2.jar &quot;</span> <span style="color: #000000;">&amp;</span> mypath <span style="color: #000000;">&amp;</span> <span style="color: #009900;">&quot; -o &quot;</span> <span style="color: #000000;">&amp;</span> mypath <span style="color: #000000;">&amp;</span> <span style="color: #009900;">&quot;.min.js&quot;</span>
	<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">tell</span>
<span style="color: #ff0033; font-weight: bold;">end</span> runCompression</pre></div></div>
<p>If you like this <strong>YUI Compression AppleScript</strong> please do share that with me, as praise is my sole motivation for producing scripts for others. I&#8217;ve only skimmed the surface of applescript, but with so few scripts out there that meet the needs that I have, I&#8217;m sure I could quickly make some other web developer tools for Mac as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkclay.com/technology/applescript-yui-compression/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CMS Rivalry &#8211; Which CMS is the best?</title>
		<link>http://thinkclay.com/technology/cms-rivalry-which-cms-is-best</link>
		<comments>http://thinkclay.com/technology/cms-rivalry-which-cms-is-best#comments</comments>
		<pubDate>Wed, 06 May 2009 06:51:14 +0000</pubDate>
		<dc:creator>Clay McIlrath</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[developer tools]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://thinkclay.com/?p=877</guid>
		<description><![CDATA[<a title="Comparison of the most popular Content Management Sytems" href="http://thinkclay.com/technology/cms-rivalry-which-cms-is-best"><img class="alignleft" title="CMS Rivalry - which CMS is the best" alt="CMS Comparison and Descriptions" src="http://thinkclay.com/timthumb.php?src=/wp-content/uploads/2009/04/cms-rivalry.jpg&#38;w=300&#38;h=200&#38;zc=1"/></a>A comparison of some of the most popular PHP-based Content Management Systems (CMS). The views and opinions expressed are simply that.. my views and opinions.. not so much straight facts. If there are systems mentioned that you would like to contribute input to, do so in the comments. Same goes for any systems that I neglect to mention: feel free to mention it in the comments and a quick pro/con comparison.]]></description>
			<content:encoded><![CDATA[<p><a title="Comparison of the most popular Content Management Sytems" href="http://thinkclay.com/technology/cms-rivalry-which-cms-is-best"><img class="alignleft" title="CMS Rivalry - which CMS is the best" alt="CMS Comparison and Descriptions" src="http://thinkclay.com/timthumb.php?src=/wp-content/uploads/2009/04/cms-rivalry.jpg&amp;w=300&amp;h=200&amp;zc=1"/></a></p>
<p>A comparison of some of the most popular PHP-based Content Management Systems (CMS). The views and opinions expressed are simply that.. my views and opinions.. not so much straight facts. If there are systems mentioned that you would like to contribute input to, do so in the comments. Same goes for any systems that I neglect to mention: feel free to mention it in the comments and a quick pro/con comparison.</p>
<hr />
<h2><a href="http://drupal.org/" title="Drupal Content Management System">Drupal</a> &#8211; <small>a blogging and forum CMS</small></h2>
<p><a href="http://thinkclay.com/technology/cms-rivalry-which-cms-is-best/attachment/drupal_5_screenshot" rel="attachment wp-att-886"><img src="http://thinkclay.com/timthumb.php?src=/wp-content/uploads/2009/04/drupal_5_screenshot.png&#038;w=490&#038;h=300&#038;zc=1" alt="Screenshot of the Drupal Content Management System" title="Drupal - Content Management System" width="490" height="300" class="size-large wp-image-886" /></a></p>
<h3>The Good:</h3>
<p>Drupal is a great platform if you&#8217;re a developer looking to have a very flexible and dynamic blog/forum. Drupal has the functionality and great integration of blogging and forums right in the core of the system. Drupal is also fairly easy to learn and has a large community and professionals using the system. Drupal is also one of the few Content Management Systems that is not dependent on one server technology, since it works on both IIS and Apache.</p>
<h3>The Bad:</h3>
<p><strong>Backward Compatibility:</strong> Drupal is in constant development, and each launch lacks backwards compatibility with the previous version. This makes it extremely frustrating as each year you have to upgrade old sites manually and modify the code to have it working correctly with the new version.</p>
<h3>The Ugly:</h3>
<p><strong>Usability</strong>: Most aspects of Drupal&#8217;s administration interface are confusing and intimidating, particularly for new administrators. This makes it difficult to train clients and you usually have to provide documentation and instructions for clients to be able to use it correctly. Drupal may be powerful, but it is also complex. The key is overcoming its steep initial learning curve. Most casual users are willing to sacrifice features for ease of use making Drupal less popular than systems such as WordPress which offer point and click extensibility and great user interface.</p>
<hr />
<h2><a href="http://expressionengine.com/" title="Expression Engine Content Management System">Expression Engine</a> &#8211; <small>a large multi-functional CMS</small></h2>
<p><a href="http://thinkclay.com/technology/cms-rivalry-which-cms-is-best/attachment/expression-engine-cms" rel="attachment wp-att-898"><img src="http://thinkclay.com/timthumb.php?src=/wp-content/uploads/2009/05/expression-engine-cms.png&#038;w=490&#038;h=300&#038;zc=1" alt="Screenshot of Expression Engine CMS" title="expression engine cms" width="490" height="300" /></a></p>
<h3>The Good</h3>
<p>Expression Engine is easily one of the largest and most sophisticated Content Management Systems out there, but the beauty of the system is simplicity. You don&#8217;t have to know PHP syntax to understand this system, and for those that do you get an added bonus as future releases will be built on the CodeIgnitor framework. Top it all off with built in modules from blogging to forums and page making, the only thing you won&#8217;t get out of the box with this system is a shopping cart. </p>
<h3>The Not-so-Bad</h3>
<p>While Expression Engine is amazing in many ways, it does come with a price tag. The price is very reasonable, however, and if you were try to match this system with an open source alternative, you wouldn&#8217;t get anywhere close without buying premium modules or plugins anyways, so shrug it off and try it out. They do have a <a href="https://secure.expressionengine.com/download.php?ACT=agreement&#038;id=34" title="Download Expression Engine Core for free">free version</a> to get started with!</p>
<hr />
<h2><a href="http://www.madebyfrog.com/" title="Frog Content Management System">Frog CMS</a> &#8211; <small>a really basic page-based CMS</small></h2>
<p><a href="http://thinkclay.com/technology/cms-rivalry-which-cms-is-best/attachment/frog-cms-content-management-simplified-frog-cms_1241588955198" rel="attachment wp-att-897"><img src="http://thinkclay.com/timthumb.php?src=/wp-content/uploads/2009/05/frog-cms-content-management-simplified-frog-cms_1241588955198.png&#038;w=490&#038;h=300&#038;zc=1" alt="Screenshot of Frog CMS" title="frog CMS content management simplified" width="490" height="300" /></a></p>
<h3>Overview of Frog CMS</h3>
<p>I haven&#8217;t used Frog CMS yet, but have heard wonderful things about the system. From what I do know, Frog is based on a very lightweight and simple Ruby on Rails systems called Radiant. Featuring drag-and-drop layout and ordering and amazingly fast setup times, this system has been getting a lot of praise as a great generic page-based CMS. You&#8217;ll probably want to play around with it before using it on any client website, but from my research, I&#8217;d say this CMS is perfect for really low-budget, really basic websites like a simple photographer or other small business website.</p>
<hr />
<h2><a href="http://joomla.org" title="Joomla Content Mangement System">Joomla</a> &#8211; <small>a very large, very difficult, but very powerful CMS</small></h2>
<p><a href="http://thinkclay.com/technology/cms-rivalry-which-cms-is-best/attachment/joomla" rel="attachment wp-att-899"><img src="http://thinkclay.com/timthumb.php?src=/wp-content/uploads/2009/05/joomla.png&#038;w=490&#038;h=300&#038;zc=1" alt="Joomla" title="Joomla" width="490" height="300" /></a></p>
<h3>The Good</h3>
<p>Joomla will blow your mind when you google any question you can think of for the system. Since the system began as a fork of <a href="http://mambo-foundation.org/" title="Mambo Content Management System">Mambo</a> it has had the time to grow and extend to do just about anything. There are over 4000 plugins for Joomla to date, and the largest community and support group of any CMS. If you&#8217;re a master programmer, or a large business, this system is perfect for you.</p>
<h3>The Bad</h3>
<p>Like all mammoths, large and old systems eventually die out. This system, while powerful and amazing, takes far too much time to learn. If you didn&#8217;t grow up with the system or use it in a corporate setting, then don&#8217;t both with it now. Joomla is on it&#8217;s way out, being replace by slimmer, faster, and easier systems like Expression Engine and Modx. </p>
<hr />
<h2><a href="http://modxcms.com" title="Modx Content Management System">Modx</a> &#8211; <small>content management at it&#8217;s finest</small></h2>
<p><a href="http://thinkclay.com/technology/cms-rivalry-which-cms-is-best/attachment/modx-content-management-system" rel="attachment wp-att-902"><img src="http://thinkclay.com/timthumb.php?src=/wp-content/uploads/2009/05/modx-content-management-system.png&#038;w=490&#038;h=300" alt="Screenshot of Modx" title="modx content management system" width="490" height="300"  /></a></p>
<h3>Overview of Modx</h3>
<p>Modx is the closest you&#8217;ll get to an application that looks and behaves like a desktop application, supporting right-clicks to edit properties, drag-and-drop arrangement and functionality, as well as CTRL+S to save pages! This is a medium sized Content Management System, offering a wide range of functions, but mostly specializing in simple page and template management. Modx is easy to learn, easy to work with, and easy to customize. I really believe this is one of the best systems you&#8217;ll find and I have yet to find any major drawback to using Modx over other systems, aside from the lack of blogging or forums in its core (though this adds to the value of the system for many as well since it stays lighter without unneeded functionality). Oh, and did I mention that this works on almost ANY major web server and features a web based installer that tells you what works, what doesn&#8217;t and how to fix it!?!? Don&#8217;t just take my word for it, <a href="http://www.chrisdpratt.com/2009/01/15/modx-simply-best-cms/">read more praise about Modx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thinkclay.com/technology/cms-rivalry-which-cms-is-best/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>What Makes You Stand Out</title>
		<link>http://thinkclay.com/technology/what-makes-you-stand-out</link>
		<comments>http://thinkclay.com/technology/what-makes-you-stand-out#comments</comments>
		<pubDate>Tue, 14 Apr 2009 05:44:26 +0000</pubDate>
		<dc:creator>Clay McIlrath</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[developer tools]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[goals]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web 2.0]]></category>
		<guid isPermaLink="false">http://thinkclay.com/?p=843</guid>
		<description><![CDATA[<a rel="shadowbox[post-843];player=img;" href="http://thinkclay.com/technology/what-makes-you-stand-out"><img width="300" height="200" class="alignleft" title="What makes YOU stand out" alt="An image of Waldo from Where's Waldo" src="http://thinkclay.com/wp-content/uploads/2009/04/waldo.jpg"/></a>Combining a poor economy with an ever changing web makes it challenging to stay on the cutting edge. With multiple web languages, platforms, and techniques it’s important to dedicate your time to being versatile and flexible while not wasting time learning skills that you won’t use. In the past 2 years I have learned and mastered many tools and techniques, and I’m here to share what has been valuable and where you can trim the fat from your day.]]></description>
			<content:encoded><![CDATA[<p><a href="http://thinkclay.com/wp-content/uploads/2009/04/waldo.jpg"><img class="alignleft" src="http://thinkclay.com/wp-content/uploads/2009/04/waldo.jpg" alt="An image of Waldo from Where&#039;s Waldo" title="What makes YOU stand out" width="300" height="200" class="size-full wp-image-844" /></a>Combining a poor global state of economic growth with an always changing web, makes a challenging formula for staying on the cutting edge and being successful in the web industry. With multiple web languages, platforms, and techniques it&#8217;s important to dedicate your time to being versatile and flexible while not wasting time learning skills that you won&#8217;t use. In the past 2 years I have learned and mastered many tools and techniques, and I&#8217;m here to share what has been valuable and where you can trim the fat from your day.</p>
<h2>Find your strengths and excel above the rest</h2>
<p>So many web developers claim to know all when it comes to web, but when put to the test someone that can write &#8220;hello world&#8221; doesn&#8217;t meet the standards the client expected when they said &#8220;Do you know PHP?&#8221; All developers whether primarily front-end or back-end, should know at least a C level amount in both. To be an awesome back-end developer you need to be able to structure your content in something other than tables or invalid HTML, and to be an awesome back-end developer, you should at least know how to make simple variables and includes to make your job quick and efficient, rather than copying/pasting your doctype and head information on each page. If you want to do well in the next few years, then succeed by being a GURU in at least two of the following: </p>
<ul>
<li><strong>XHTML and CSS</strong> &#8211; with clean and valid markup that works in FF, Webkit, and IE7+</li>
<li><strong>Flex and ActionScript</strong> &#8211; flash/animation/design are a huge plus</li>
<li><strong>JavaScript</strong> &#8211; with and without frameworks, jQuery or MooTools knowledge a plus</li>
<li><strong>PHP</strong> &#8211; cakePHP or codeignitor frameworks will take you to the next level</li>
<li><strong>.NET</strong> &#8211; IIS and server administration a plus</li>
<li><strong>Ruby</strong> &#8211; Rails will take you to the next level</li>
<li><strong>JAVA</strong> &#8211; desktop publishing knowledge a plus</li>
</ul>
<h2>Learn new and trendy technologies</h2>
<p>While following trends isn&#8217;t always a good idea, trends that have been around for more than just a year and have high demand are usually worth taking a second glance at. In the past 5 years, there are a few major trends that are really growing. I highly recommend picking one of the trends and learning as much as you can about the technology on the side of your current studies and work..</p>
<h3>Rich Internet Applications (RIA)</h3>
<p>Adobe Flash has always had a strong presence on the web, and that presence is only increasing along with other RIA platforms like Microsoft Silverlight, JavaFX, and the future HTML5. There are almost no major disadvantages to sites built entirely in Flash or other platforms now that search engines like Google are making more of an effort to index RIA content. To top that, Adobe has now adopted a markup language geared more towards developers called FLEX. Flex allows developers to markup their code in MXML while also using ActionScript for animation and then simply, with the click of a button plublish the application in either a SWF for web or as an AIR application for desktop. I strongly believe this is the future of not only the web, but future Operating Systems as well. Google and Ubuntu have already shown a heavy interest in using web applications on the desktop, and phone operating systems are following a similar pattern. While mobile and desktop development are entirely different from web development, learning FLEX is a great way for web developers to cross that threshold and succeed.</p>
<h3>Agile Development and Object Oriented code</h3>
<p>As the internet reaches the far corners of the Earth, boundaries and barriers are being broken for working remotely on projects. In fact there are many businesses that operate entirely on remote collaboration. This means you need to learn a versioning software and systems (CVS or SVN using Tortoise is a good place to start), how to organize your thoughts and communicate them quickly and effectively over IM or email, and most importantly how to comment and structure your code (for programmers OO principles are a must) so that others can quickly pickup where you left off.</p>
<h3>Web Services and Cross-Platform Markup</h3>
<p>UML, XML, JSON, REST and SOAP, just to name the most common languages, are becoming a must for nearly every developer. Almost every RIA and API use a language like this to communicate. Any site that is dynamic is probably using at least one of these technologies. I can&#8217;t specifically tell you which is more relevant or popular, as it varies per project, but I can tell you that they&#8217;re all fairly simple to learn, so I suggest doing your homework or ready a book on each to know at least base knowledge and markup for each of them.</p>
<h2>Refine your Interpersonal Communication Skills</h2>
<p>As you climb the corporate ladder, or step out into the world of business, it will become more and more important that your written and verbal communication skills are sharp and effective. The gap that used to exist between sales/consulting/design/IT is now closing, and more businesses are switching to an Agile model. This means from the start of a project or team, you may be communicating directly with a client, or with others that don&#8217;t know or understand the technology. You&#8217;ll need to learn how to explain things so that others can easily understand and relate, as well as sound professional and well educated. These skills are not easy to hone, and require a lot of time. I highly recommend actively getting involved in forums/blogging to improve written communication, perhaps join a local business group or Chamber of Commerce to learn how to communicate better in a professional business setting (another perk to this is the networking), and ask others to correct and help you identify bad habits and mistakes.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkclay.com/technology/what-makes-you-stand-out/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Learn Custom Fields in WordPress</title>
		<link>http://thinkclay.com/technology/learn-custom-fields-wordpress</link>
		<comments>http://thinkclay.com/technology/learn-custom-fields-wordpress#comments</comments>
		<pubDate>Fri, 20 Mar 2009 23:08:23 +0000</pubDate>
		<dc:creator>Clay McIlrath</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[automate]]></category>
		<category><![CDATA[developer tools]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[web 2.0]]></category>
		<guid isPermaLink="false">http://thinkclay.com/?p=777</guid>
		<description><![CDATA[<a href="http://thinkclay.com/wp-content/uploads/2009/03/custom-fields.gif"><img class="alignleft" src="http://thinkclay.com/wp-content/uploads/2009/03/custom-fields.gif" alt="custom fields" title="custom fields in Wordpress" width="300" height="200" class="size-full wp-image-788" /></a>Wordpress is jam-packed with some great features out of the box, and has been developed to make customization simple. However, Wordpress started out as a blogging CMS, and still has a way to go before some features are one-click or drag-n-drop easy. One such feature, <strong>custom fields</strong>, are a powerful and great tool to make your WP theme a little more creative. However, to take advantage of custom fields, you’ll need to get dirty with the code.]]></description>
			<content:encoded><![CDATA[<p><a href="http://thinkclay.com/wp-content/uploads/2009/03/custom-fields.gif"><img class="alignleft" src="http://thinkclay.com/wp-content/uploads/2009/03/custom-fields.gif" alt="custom fields" title="custom fields in WordPress" width="300" height="200" class="size-full wp-image-788" /></a>WordPress is jam-packed with some great features out of the box, and has been developed to make customization simple. However, WordPress started out as a blogging CMS, and still has a way to go before some features are one-click or drag-n-drop easy. One such feature, <strong>custom fields</strong>, are a powerful and great tool to make your WP theme a little more creative. However, to take advantage of custom fields, you’ll need to get dirty with the code.</p>
<h2>What are Custom Fields?</h2>
<p>Custom fields are a predefined function within the WP system. All you have to do is pass a parameter to the function to receive data back. Though there is great <a title="Documentation on Custom Fields Function" href="http://codex.wordpress.org/Using_Custom_Fields" target="_blank">documentation for custom fields</a> in the WordPress Codex, to a new coder, this documentation can be overwhelming. Instead, let&#8217;s breakdown and look at a very specific piece of the function..</p>
<p>So hypothetically, let&#8217;s say you want a thumbnail in the beginning each post on your homepage (take a look at <a href="http://thinkclay.com">my homepage</a> to see the layout I&#8217;m referring to). Thumbnails and images are important for blogs to break up the content and add visual appeal. For quite a while I&#8217;ve been going into each of my posts, uploading an image and floating it left, and then taking that image and intro text and putting it into the excerpt box. This method, while functional, is a three step process that slows down my blogging time. So to speed up the process I can use custom fields and the RSS limit function to display the same results automatically without having to do it manually each time.</p>
<p>In my blog post, I create a new custom field called &#8220;imagethumb&#8221;. After defining the imagethumb &#8220;key&#8221; once, I can then use that custom field on each blog post by selecting it from the dropdown field, and all I have to do is specify a value (location) of the image. So the custom field should display as:</p>
<blockquote><p>Name: imagethumb<br />
Value: http://yourimage.url</p></blockquote>
<p>Then I need to edit my index.php file and add the thumbnail to the post loop and set two modes for posts with or without images.</p>
<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #666666; font-style: italic;">// Start the post loop</span>
<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>have_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> the_post<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;div class=&quot;date&quot;&gt;
  &lt;span class=&quot;day&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?</span> the_time<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'j'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/span&gt;
  &lt;span class=&quot;month&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?</span> the_time<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'M'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/span&gt;
  &lt;span class=&quot;year&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?</span> the_time<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/span&gt;
&lt;/div&gt;
&nbsp;
&lt;h1&gt;Title Goes Here&lt;/h1&gt;
&nbsp;
&lt;p class=&quot;postmetadata&quot;&gt;
  <span style="color: #000000; font-weight: bold;">&lt;?</span> the_tags<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Tags: '</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">', '</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&lt;br /&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
  Posted in <span style="color: #000000; font-weight: bold;">&lt;?php</span> the_category<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">', '</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> |
  <span style="color: #000000; font-weight: bold;">&lt;?</span> edit_post_link<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Edit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">' | '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
  <span style="color: #000000; font-weight: bold;">&lt;?</span> comments_popup_link<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'No Comments;'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'1 Comment'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'% Comments'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/p&gt;
&nbsp;
&lt;div class=&quot;entry&quot;&gt;
<span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #666666; font-style: italic;">// Get custom field by passing the parameter to get_post_custom_values() function</span>
<span style="color: #000088;">$values</span> <span style="color: #339933;">=</span> get_post_custom_values<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;image&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// If custom field is set, format the image with the content</span>
<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;">$values</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</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: #000000; font-weight: bold;">?&gt;</span>
  &lt;img class=&quot;alignleft&quot; src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?</span> bloginfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>/<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$values</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; /&gt;
  &lt;p class=&quot;alignleft&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?</span> the_content_rss<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/p&gt;
<span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// if not set, pull in the excerpt instead</span>
<span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
  &lt;p&gt;<span style="color: #000000; font-weight: bold;">&lt;?</span> the_excerpt<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/p&gt;
<span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// end loop</span>
<span style="color: #b1b100;">endwhile</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>
<p>You can go one step further in the automation process and use a cropping script to automatically crop the image to the desired size. All you&#8217;ll need is <a href="http://timthumb.googlecode.com/svn/trunk/timthumb.php">timthumb</a> and to set the parameters you want on the image</p>
<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">Parameters
----------------------
w: width
h: height
zc: zoom crop (0 or 1)
q: quality (default is 75 and max is 100)
&nbsp;
example:
&lt;img src=&quot;&lt;? bloginfo('url'); ?&gt;/timthumb.php?src=&lt;?=$values[0];?&gt;&amp;w=300&amp;h=200&amp;zc=1&quot; /&gt;</pre></div></div>
]]></content:encoded>
			<wfw:commentRss>http://thinkclay.com/technology/learn-custom-fields-wordpress/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
