<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Jeremy Clark Technet.com</title>
	
	<link>http://clark-technet.com</link>
	<description />
	<lastBuildDate>Fri, 17 May 2013 20:52:11 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/clark-technet/bRdG" /><feedburner:info uri="clark-technet/brdg" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license><image><link>http://clark-technet.com</link><url>http://clark-technet.com/logo.jpg</url><title>Jeremy Clark - TechNet.com</title></image><feedburner:emailServiceId>clark-technet/bRdG</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Passing Additional Parameters to a Filter</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/BZobT80j3lg/passing-additional-parameters-to-a-filter</link>
		<comments>http://clark-technet.com/2013/05/passing-additional-parameters-to-a-filter#comments</comments>
		<pubDate>Fri, 10 May 2013 15:03:56 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2706</guid>
		<description><![CDATA[<p>While working on project an interesting problem arose, needing to pass an additional parameter to a WordPress filter. Normally filters only allow for a set number of parameters, but the particular filter needed an additional parameter that could be passed &#8230; <a href="http://clark-technet.com/2013/05/passing-additional-parameters-to-a-filter">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2013/05/passing-additional-parameters-to-a-filter">Passing Additional Parameters to a Filter</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>While working on project an interesting problem arose, needing to pass an additional parameter to a WordPress filter.  Normally filters only allow for a set number of parameters, but the particular filter needed an additional parameter that could be passed when calling the filter.  </p>
<p>The problem was being able to run a WP_Query for a set number of days passed.  This is normally accomplished with a simple filter that is applied to posts_where.  The problem is the number of days would be variable, since it was being set via a widget option.  To get around this using OOP and create a new class that stores the variable and that will be passed when calling the filter.  While the example below is a specific solution to the problem above it can be adapted for pretty well any filter that needs another parameter that can be set when calling the filter.<br />
<span id="more-2706"></span><br />
<script src="https://gist.github.com/jeremyclark13/5554820.js"></script></p>
<p><a href="http://clark-technet.com/2013/05/passing-additional-parameters-to-a-filter">Passing Additional Parameters to a Filter</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=BZobT80j3lg:SQEQ0o5ktNc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=BZobT80j3lg:SQEQ0o5ktNc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=BZobT80j3lg:SQEQ0o5ktNc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=BZobT80j3lg:SQEQ0o5ktNc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=BZobT80j3lg:SQEQ0o5ktNc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=BZobT80j3lg:SQEQ0o5ktNc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/BZobT80j3lg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2013/05/passing-additional-parameters-to-a-filter/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2013/05/passing-additional-parameters-to-a-filter?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=passing-additional-parameters-to-a-filter</feedburner:origLink></item>
		<item>
		<title>CloudFlare IP Address in MyHosting VPS Logs</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/0KW7AEgJjLU/cloudflare-ip-address-in-myhosting-vps-logs</link>
		<comments>http://clark-technet.com/2013/04/cloudflare-ip-address-in-myhosting-vps-logs#comments</comments>
		<pubDate>Mon, 22 Apr 2013 19:31:20 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cloudflare]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[VPS]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2675</guid>
		<description><![CDATA[<p>After setting up a new VPS with MyHosting I noticed in the logs all the IP addresses belonged to CloudFlare. This is of course because CloudFlare proxies all the requests to speed up the site with it&#8217;s CDN. This is &#8230; <a href="http://clark-technet.com/2013/04/cloudflare-ip-address-in-myhosting-vps-logs">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2013/04/cloudflare-ip-address-in-myhosting-vps-logs">CloudFlare IP Address in MyHosting VPS Logs</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>After setting up a new VPS with <a href="http://affiliates.myhosting.com/scripts/click.php?a_aid=o1178955&#038;a_bid=107347fa">MyHosting</a> I noticed in the logs all the IP addresses belonged to CloudFlare.  This is of course because CloudFlare proxies all the requests to speed up the site with it&#8217;s CDN.  This is of little use when it comes to tracking down any malicious activity.  Luckily there is an Apache module that restores the correct IP address to the log file.  I&#8217;ll outline the process for getting the Apache module setup on the CentOS VPS.<br />
<span id="more-2675"></span><br />
This <a href="https://support.cloudflare.com/entries/22055786-How-do-I-restore-original-visitor-IP-to-Apache-Web-Servers-">guide</a> outlines the process, but the <a href="http://affiliates.myhosting.com/scripts/click.php?a_aid=o1178955&#038;a_bid=107347fa">MyHosting</a> VPS needed a few extra steps.  Namely a few extra packages needed to compile the module from source.  To compile an Apache module the axps command is used.  This isn&#8217;t normally included in a normal CentOS installation, also gcc is needed and again isn&#8217;t included by default.  To install these two open an ssh session as root and use yum.</p>
<pre># yum install httpd-devel gcc</pre>
<p>There will be a few dependices to install as well, after these are installed.  You&#8217;ll need to download the source code of the module to compile it for your system.  In your home directory simply use wget like this.</p>
<pre># wget https://raw.github.com/cloudflare/mod_cloudflare/master/mod_cloudflare.c</pre>
<p>Next is to compile the module itself using this command.</p>
<pre># apxs2 -a -i -c mod_cloudflare.c</pre>
<p>This should finish and should add the LoadModule command to the config file for Apache.  Verify this is so by looking for this line.</p>
<pre>LoadModule cloudflare_module /path/to/modules/mod_cloudflare.so</pre>
<p>After all of these are done, simply restart Apache.</p>
<pre># service restart httpd</pre>
<p>Now verify that the module is working by visiting the site, then looking at the end of the access.log file to see that the IP belongs to your public IP and not to CloudFlare&#8217;s network.</p>
<p><a href="http://clark-technet.com/2013/04/cloudflare-ip-address-in-myhosting-vps-logs">CloudFlare IP Address in MyHosting VPS Logs</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=0KW7AEgJjLU:VeeL6IR9szY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=0KW7AEgJjLU:VeeL6IR9szY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=0KW7AEgJjLU:VeeL6IR9szY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=0KW7AEgJjLU:VeeL6IR9szY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=0KW7AEgJjLU:VeeL6IR9szY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=0KW7AEgJjLU:VeeL6IR9szY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/0KW7AEgJjLU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2013/04/cloudflare-ip-address-in-myhosting-vps-logs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2013/04/cloudflare-ip-address-in-myhosting-vps-logs?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=cloudflare-ip-address-in-myhosting-vps-logs</feedburner:origLink></item>
		<item>
		<title>Hosting Changes</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/Zy4V0IgcXzA/hosting-changes</link>
		<comments>http://clark-technet.com/2013/04/hosting-changes#comments</comments>
		<pubDate>Thu, 18 Apr 2013 19:47:46 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Aside]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[VPS]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2649</guid>
		<description><![CDATA[<p>After being with Dreamhost for a little under 2 years I&#8217;ve decided to switch over to MyHosting. I&#8217;d had been using Dreamhost&#8217;s VPS service for the past few months as their shared hosting had lead to all of my sites &#8230; <a href="http://clark-technet.com/2013/04/hosting-changes">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2013/04/hosting-changes">Hosting Changes</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p><div id="attachment_2650" class="wp-caption alignleft" style="width: 310px"><img src="http://static.clark-technet.com/wp-content/uploads/2013/04/800px-CERN_Server-300x199.jpg" alt="By Florian Hirzinger – www.fh-ap.com (Own work (Florian Hirzinger)) [CC-BY-SA-3.0 or GFDL], via Wikimedia Commons" width="300" height="199" class="size-medium wp-image-2650" /><p class="wp-caption-text">By Florian Hirzinger – www.fh-ap.com (Own work (Florian Hirzinger)) [<a href="http://creativecommons.org/licenses/by-sa/3.0">CC-BY-SA-3.0</a> or <a href="http://www.gnu.org/copyleft/fdl.html">GFDL</a>], <a href="http://commons.wikimedia.org/wiki/File%3ACERN_Server.jpg">via Wikimedia Commons</a></p></div></p>
<p>After being with Dreamhost for a little under 2 years I&#8217;ve decided to switch over to <a href="http://affiliates.myhosting.com/scripts/click.php?a_aid=o1178955&#038;a_bid=107347fa">MyHosting</a>.  I&#8217;d had been using Dreamhost&#8217;s VPS service for the past few months as their shared hosting had lead to all of my sites being hacked twice, along with poor performance all around.  Everything started out fine with their VPS, then came the downtime.  I understand the company is growing and some problems might be expected, but on more than one occasion downtime was into the hours.  Even this fact was really the deciding factor, it was performance even on a VPS was poor and was constantly having to reboot.  The prices for VPS memory upgrades were also terrible $25 for 512MB memory this is on top of the normal monthly hosting fee.  </p>
<p>After looking at many, many companies I had a couple in mind.  I finally made the decision to switch to <a href="http://affiliates.myhosting.com/scripts/click.php?a_aid=o1178955&#038;a_bid=107347fa">MyHosting</a>.  I was able to get a VPS with 5 times the memory for much less than I was currently paying.  Although storage and bandwidth are limited with the new hosting the prices for upgrades are reasonable. Currently I&#8217;d nowhere near exceed the current limits anyway.  If your looking for a new host <a href="http://affiliates.myhosting.com/scripts/click.php?a_aid=o1178955&#038;a_bid=107347fa">MyHosting</a>, might be the way to go.  I&#8217;ll update again after breaking in the tires on the new server.</p>
<p><a href="http://clark-technet.com/2013/04/hosting-changes">Hosting Changes</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=Zy4V0IgcXzA:FCqY0v7tzxM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=Zy4V0IgcXzA:FCqY0v7tzxM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=Zy4V0IgcXzA:FCqY0v7tzxM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=Zy4V0IgcXzA:FCqY0v7tzxM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=Zy4V0IgcXzA:FCqY0v7tzxM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=Zy4V0IgcXzA:FCqY0v7tzxM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/Zy4V0IgcXzA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2013/04/hosting-changes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2013/04/hosting-changes?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=hosting-changes</feedburner:origLink></item>
		<item>
		<title>Updated WordPress Twitter Functions</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/mu6vFJP2GgM/updated-wordpress-twitter-functions</link>
		<comments>http://clark-technet.com/2013/03/updated-wordpress-twitter-functions#comments</comments>
		<pubDate>Thu, 07 Mar 2013 19:41:16 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2617</guid>
		<description><![CDATA[<p>Since the retirement of version 1.0 of Twitter&#8217;s API is underway, I&#8217;ve been updating the Twitter integration code in the Techozoic Fluid theme. I don&#8217;t agree with all the changes to the API, especially the requirement that all API requests, &#8230; <a href="http://clark-technet.com/2013/03/updated-wordpress-twitter-functions">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2013/03/updated-wordpress-twitter-functions">Updated WordPress Twitter Functions</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>Since the retirement of version 1.0 of Twitter&#8217;s API is underway, I&#8217;ve been updating the Twitter integration code in the <a href="http://wordpress.org/extend/themes/techozoic-fluid">Techozoic Fluid</a> theme.  I don&#8217;t agree with all the changes to the API, especially the requirement that all API requests, even for public info, must be signed.  Luckily someone has already done the hard work creating a library for signing the requests with the proper oAuth signatures.  The <a href="https://github.com/themattharris/tmhOAuth">tmhOAuth library</a> can be found on Github.  It will be required for the new functions.  </p>
<p>The first step is to register a new Twitter application.  After signing into Twitter visit the <a href="https://dev.twitter.com/apps/">Applications</a> area of Twitter, and create a new application.  After creating the application make sure create the access token at the bottom of the Application screen, this will authorize the application to access your account.  You will now need 4 separate keys to properly sign the API requests.  You&#8217;ll need the Consumer key, Consumer secret, Access token, and Access token secret.  These will be added to an array and passed to the function and in turn passed to the oAuth library to sign the request.  </p>
<p><span id="more-2617"></span></p>
<p>These two functions below can be used to pull your Twitter timeline and automatically convert all links, hashtags, usernames, and media to the proper format using entities.  The same function can also be used to pull a follower count.  Examples of how to use are included in the code below.</p>
<p><script src="https://gist.github.com/jeremyclark13/5110815.js"></script></p>
<hr />
<div class="button small left"><a target="_self" class="button gray" href="https://gist.github.com/jeremyclark13/5110815">View on Github</a></div></p>
<p><a href="http://clark-technet.com/2013/03/updated-wordpress-twitter-functions">Updated WordPress Twitter Functions</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=mu6vFJP2GgM:4x8ZVDTmUVU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=mu6vFJP2GgM:4x8ZVDTmUVU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=mu6vFJP2GgM:4x8ZVDTmUVU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=mu6vFJP2GgM:4x8ZVDTmUVU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=mu6vFJP2GgM:4x8ZVDTmUVU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=mu6vFJP2GgM:4x8ZVDTmUVU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/mu6vFJP2GgM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2013/03/updated-wordpress-twitter-functions/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2013/03/updated-wordpress-twitter-functions?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=updated-wordpress-twitter-functions</feedburner:origLink></item>
		<item>
		<title>Creating Helpful 404 Pages</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/xbkyevyaAo4/creating-more-helpful-404-pages</link>
		<comments>http://clark-technet.com/2013/03/creating-more-helpful-404-pages#comments</comments>
		<pubDate>Mon, 04 Mar 2013 19:49:24 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2612</guid>
		<description><![CDATA[<p>While a site owner usually tries to do everything imaginable to create a site without errors, the occasional 404 error will crop up from time to time. Instead of just telling the visitor the page was an error, and increasing &#8230; <a href="http://clark-technet.com/2013/03/creating-more-helpful-404-pages">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2013/03/creating-more-helpful-404-pages">Creating Helpful 404 Pages</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>While a site owner usually tries to do everything imaginable to create a site without errors, the occasional 404 error will crop up from time to time.  Instead of just telling the visitor the page was an error, and increasing the bounce rate of the site, give the visitor other reading options.  This is better for the visitor and the site owner.  The visitor will be more likely to stay around if the links are to similar topic to the one they were looking for.  This is were helpful 404 pages come into play.</p>
<p>The code itself is fairly simple and straight forward.  What it does is take the end of the url after the final slash, and strips any extensions like .html, or .php that might have been accidentally added.  It then queries for a post or page or any custom post type that has a title with this string.  If one or more is found it will output it in a list.  If this comes up empty then it will replace any dashes or underscores with spaces and use this as a search string.  This will return a list of entries that contain these words.  Using these two ways some results should be found and give the visitor something else that should be closely related to what they were looking for.</p>
<p><span id="more-2612"></span></p>
<p><script src="https://gist.github.com/jeremyclark13/5084645.js"></script></p>
<p>Idea originally obtained from <a href="http://yoast.com/404-error-pages-wordpress/" title="Yoast">Yoast</a>.</p>
<p><a href="http://clark-technet.com/2013/03/creating-more-helpful-404-pages">Creating Helpful 404 Pages</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=xbkyevyaAo4:KSzzZPaj_So:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=xbkyevyaAo4:KSzzZPaj_So:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=xbkyevyaAo4:KSzzZPaj_So:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=xbkyevyaAo4:KSzzZPaj_So:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=xbkyevyaAo4:KSzzZPaj_So:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=xbkyevyaAo4:KSzzZPaj_So:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/xbkyevyaAo4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2013/03/creating-more-helpful-404-pages/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2013/03/creating-more-helpful-404-pages?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=creating-more-helpful-404-pages</feedburner:origLink></item>
		<item>
		<title>Web Development With Sharefile</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/_hV3K6GPXaw/web-development-with-sharefile</link>
		<comments>http://clark-technet.com/2013/02/web-development-with-sharefile#comments</comments>
		<pubDate>Tue, 19 Feb 2013 18:35:41 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2594</guid>
		<description><![CDATA[<p>In producing, developing or enhancing a company website, there are a number of different issues that can come up. From improving the appearance of a website, to increasing its functional capabilities, to adding web security, there are simply a number &#8230; <a href="http://clark-technet.com/2013/02/web-development-with-sharefile">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2013/02/web-development-with-sharefile">Web Development With Sharefile</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>In producing, developing or enhancing a company website, there are a number of different issues that can come up. From improving the appearance of a website, to increasing its functional capabilities, to adding web security, there are simply a number of ways to go about the continual <a href="http://www.htmlgoodies.com/beyond/webmaster/article.php/3897546/5-Web-Development-Tips-for-Increasing-Online-Sales.htm">web development</a> involved in maintaining part of a company online. Naturally, this means that a number of different services may come in handy throughout the process. However, there are also companies and programs that offer various means of web development support within a single package &#8211; for example, consider <a href="http://www.sharefile.com/" rel="nofollow" >ShareFile</a>.</p>
<p>Primarily designed as a support system for the transfer of large or complex files online, ShareFile now offers a bundle of services that, altogether, can significantly enhance the web capability and stability of any business website or company division online. Here are a few words on some of the specific services that are offered. </p>
<p><strong>Large File Sharing</strong><br />
Certain files, from lengthy documents, to video presentations, etc. can be difficult to send by ordinary email, and other services that can help are often insecure. With ShareFile, your company will have the capability to send such files back and forth between employees and clients with ease, allowing for simpler and more efficient communications.</p>
<p><strong>Professional Appearance</strong><br />
With ShareFile services, you will essentially be creating an online environment that is exclusively for your business and its clients. Along with this, ShareFile provides web designers that will work to make any new features included in your account fit in seamlessly with your company&#8217;s existing design features, ultimately resulting in a professional appearance that is easy to use and attractive for your customers and clients.</p>
<p><strong>Flexible Access</strong><br />
Another perk of implementing ShareFile services is that you will gain access to file sharing on the secure network through a number of different devices. From apps and tools on mobile devices, to desktop widgets, ShareFile provides numerous ways to quickly access files without even bothering with a web browser or ordinary email. </p>
<p><strong>Secure Capability</strong><br />
Finally, ShareFile also offers optimal <a href="http://wiki.answers.com/Q/Importance_of_web_security">security for your business</a> related communications and file sharing. From backing up files, to providing customized security information and password-protected file sharing, ShareFile protects your work far more effectively than ordinary email and sharing methods. This not only allows things to run more smoothly, but also provides clients with a vital sense of trust and confidence.</p>
<p>Ultimately, whether or not each of these individual features is necessary depends largely on your company and what needs your online business has. However, with web development methods and technology constantly on the rise, taking advantage of these types of services is often the surest way to establish a functional, professional company website. </p>
<p>
<em>This is a guest post written by Todd Brandt. Todd is a blogger and freelance writer who contributes posts on the topics of web development and Internet security.</em></p>
<p><a href="http://clark-technet.com/2013/02/web-development-with-sharefile">Web Development With Sharefile</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=_hV3K6GPXaw:FYt-3VgSzig:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=_hV3K6GPXaw:FYt-3VgSzig:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=_hV3K6GPXaw:FYt-3VgSzig:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=_hV3K6GPXaw:FYt-3VgSzig:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=_hV3K6GPXaw:FYt-3VgSzig:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=_hV3K6GPXaw:FYt-3VgSzig:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/_hV3K6GPXaw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2013/02/web-development-with-sharefile/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2013/02/web-development-with-sharefile?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=web-development-with-sharefile</feedburner:origLink></item>
		<item>
		<title>Blank Archives After Deactivating Jetpack</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/HG1XCl6HaY0/blank-archives-after-deactivating-jetpack</link>
		<comments>http://clark-technet.com/2013/01/blank-archives-after-deactivating-jetpack#comments</comments>
		<pubDate>Fri, 25 Jan 2013 02:22:00 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Aside]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2553</guid>
		<description><![CDATA[<p>One of the latest features I&#8217;ve added to my Techozoic theme was infinite scroll support for the Jetpack plugin.  It&#8217;s a great feature and fairly easy to integrate.  One snag I ran into was after testing with Jetpack enabled and &#8230; <a href="http://clark-technet.com/2013/01/blank-archives-after-deactivating-jetpack">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2013/01/blank-archives-after-deactivating-jetpack">Blank Archives After Deactivating Jetpack</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>One of the latest features I&#8217;ve added to my <a href="http://wordpress.org/extend/themes/techozoic-fluid">Techozoic</a> theme was infinite scroll support for the <a href="http://jetpack.me">Jetpack</a> plugin.  It&#8217;s a great feature and fairly easy to integrate.  One snag I ran into was after testing with Jetpack enabled and releasing the update I had numerous reports of the archive pages being blank.  This was a stumper because I hadn&#8217;t changed anything with the archive pages, and the archives worked perfectly fine on my test site with Jetpack enabled.  I finally figured it out installing the theme on another site, and seeing the problem first hand.  </p>
<p>The root of the problem is the way the infinite scroll uses the <a href="http://codex.wordpress.org/Function_Reference/get_template_part">get_template_part</a> function.  One of the steps to enable infinite scroll support is to make sure that the template part is named content-(post-format).php.  I had a different naming convention before implementing this feature and this was the whole problem,  I had forgotten to change the get_template_part function on the archive page, so it was calling a nonexistent template file.  The infinite scroll module during the ajax request calls the template part using the content-(post-format) name which is way it would work with Jetpack activated. </p>
<p><a href="http://clark-technet.com/2013/01/blank-archives-after-deactivating-jetpack">Blank Archives After Deactivating Jetpack</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=HG1XCl6HaY0:AWfN2F4bYhE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=HG1XCl6HaY0:AWfN2F4bYhE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=HG1XCl6HaY0:AWfN2F4bYhE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=HG1XCl6HaY0:AWfN2F4bYhE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=HG1XCl6HaY0:AWfN2F4bYhE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=HG1XCl6HaY0:AWfN2F4bYhE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/HG1XCl6HaY0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2013/01/blank-archives-after-deactivating-jetpack/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2013/01/blank-archives-after-deactivating-jetpack?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=blank-archives-after-deactivating-jetpack</feedburner:origLink></item>
		<item>
		<title>Being Successful in Online Sales</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/q--K4YvZ6IQ/being-successful-in-online-sales</link>
		<comments>http://clark-technet.com/2013/01/being-successful-in-online-sales#comments</comments>
		<pubDate>Sat, 19 Jan 2013 19:43:19 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2528</guid>
		<description><![CDATA[<p>Sometimes the road to online sales can be a bumpy one, but there are a few simple steps outlined below that can help you be successful. Get a website you can edit. There are many great eCommerce platforms that make &#8230; <a href="http://clark-technet.com/2013/01/being-successful-in-online-sales">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2013/01/being-successful-in-online-sales">Being Successful in Online Sales</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>Sometimes the road to online sales can be a bumpy one, but there are a few simple steps outlined below that can help you be successful.</p>
<ol>
<li><strong>Get a website you can edit.</strong>  There are many great eCommerce platforms that make it simple to manage every aspect of your online business.</li>
<li><strong>Get targeted traffic.</strong>  A service like Adwords or other online advertising services to gain targeted traffic that will be interested in your business.</li>
<li><strong>Add a form to capture leads.</strong>  A simple contact form or a newsletter subscription form will help keep in touch with customers who might otherwise not come back to the store.</li>
<li><strong>Setup email marketing.</strong>  This and step 3 go hand in hand, it&#8217;s good to keep in touch with potential customers and keep them interested in your products and keep them coming back for repeat sales.</li>
<li><strong>Accept credit card payments.</strong>  It&#8217;s best to always offer choices when it comes to payment types.  Some people might not feel comfortable with one form or another.</li>
<li><strong>Deliver your product.</strong>  Shipping products out timely is equally as important, if customers don&#8217;t receive their order when they expect they are less likely to recommend store to friends and familiar.</li>
<li><strong>Track your results.</strong>  Lastly always keep good records.  If you see one area that isn&#8217;t returning results you&#8217;d like then changes will need to be made.  You don&#8217;t want to overspend on something that isn&#8217;t delivering results.</li>
</ol>
<p><span id="more-2528"></span><br />
<a href="http://webstarts.com/blog/how-to/how-to-make-money-online-2/" rel="nofollow"><img src="http://webstarts.com/blog/wp-content/uploads/2013/01/How-To-Make-Money-Online1.png" style="max-width:100%"/></a><br/>Via: <a href="http://webstarts.com" rel="nofollow">WebStarts</a></p>
<p><a href="http://clark-technet.com/2013/01/being-successful-in-online-sales">Being Successful in Online Sales</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=q--K4YvZ6IQ:QdmVhCBXJPA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=q--K4YvZ6IQ:QdmVhCBXJPA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=q--K4YvZ6IQ:QdmVhCBXJPA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=q--K4YvZ6IQ:QdmVhCBXJPA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=q--K4YvZ6IQ:QdmVhCBXJPA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=q--K4YvZ6IQ:QdmVhCBXJPA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/q--K4YvZ6IQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2013/01/being-successful-in-online-sales/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2013/01/being-successful-in-online-sales?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=being-successful-in-online-sales</feedburner:origLink></item>
		<item>
		<title>Free Cloud-Based Password Managment</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/cWrJeGcqx3s/free-cloud-based-password-managment</link>
		<comments>http://clark-technet.com/2012/12/free-cloud-based-password-managment#comments</comments>
		<pubDate>Mon, 10 Dec 2012 19:08:12 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Aside]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2455</guid>
		<description><![CDATA[<p>When doing development work for many clients it becomes essential for good password management, traditional pen &#038; paper, web-based service, or software-based. One solution that I&#8217;m currently using mainly because it is free and open-source software is KeePass. I&#8217;m using &#8230; <a href="http://clark-technet.com/2012/12/free-cloud-based-password-managment">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2012/12/free-cloud-based-password-managment">Free Cloud-Based Password Managment</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>When doing development work for many clients it becomes essential for good password management,  traditional pen &#038; paper, web-based service, or software-based.  One solution that I&#8217;m currently using mainly because it is free and open-source software is <a href="http://keepass.info/download.html">KeePass</a>.  I&#8217;m using the portable version in my <a href="http://db.tt/Cm6EZbD">Dropbox</a> for maintaining my passwords in multiple locations.  Using this method also allows me to use my Android phone &#038; table, and an app called <a href="http://www.keepassdroid.com/">KeePassDroid</a>, along with the <a href="http://db.tt/Cm6EZbD">Dropbox</a> app to have access remotely.  </p>
<p><a href="http://clark-technet.com/2012/12/free-cloud-based-password-managment">Free Cloud-Based Password Managment</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=cWrJeGcqx3s:WjTUA7nyQrM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=cWrJeGcqx3s:WjTUA7nyQrM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=cWrJeGcqx3s:WjTUA7nyQrM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=cWrJeGcqx3s:WjTUA7nyQrM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=cWrJeGcqx3s:WjTUA7nyQrM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=cWrJeGcqx3s:WjTUA7nyQrM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/cWrJeGcqx3s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2012/12/free-cloud-based-password-managment/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2012/12/free-cloud-based-password-managment?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=free-cloud-based-password-managment</feedburner:origLink></item>
		<item>
		<title>Value of Email Newsletters</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/UZWILtkXyHg/value-of-email-newsletters</link>
		<comments>http://clark-technet.com/2012/12/value-of-email-newsletters#comments</comments>
		<pubDate>Mon, 03 Dec 2012 03:34:09 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2442</guid>
		<description><![CDATA[<p>Most of today&#8217;s informal communication is done through the computer and most of that is trough email. It makes sense that businesses would use this tool to communicate with their customers. What is a better medium that allows communication with &#8230; <a href="http://clark-technet.com/2012/12/value-of-email-newsletters">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2012/12/value-of-email-newsletters">Value of Email Newsletters</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>Most of today&#8217;s informal communication is done through the computer and most of that is trough email.  It makes sense that businesses would use this tool to communicate with their customers.  What is a better medium that allows communication with so many people with so little effort or cost.  Email marketing is good for businesses, but as some have taken it to extremes with spam it pays to respect the customers and not fill their inbox with unnecessary info.</p>
<p><span id="more-2442"></span></p>
<p><a href="http://www.icontact.com/blog/email-newsletter/" rel="nofollow"><img src="http://www.icontact.com/blog/files/images/EmailNewsletter.jpg" style="max-width:100%"/></a><br/>Via: <a href="http://www.icontact.com/" rel="nofollow" >iContact</a></p>
<p><a href="http://clark-technet.com/2012/12/value-of-email-newsletters">Value of Email Newsletters</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=UZWILtkXyHg:mU_ua36bQ0E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=UZWILtkXyHg:mU_ua36bQ0E:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=UZWILtkXyHg:mU_ua36bQ0E:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=UZWILtkXyHg:mU_ua36bQ0E:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=UZWILtkXyHg:mU_ua36bQ0E:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=UZWILtkXyHg:mU_ua36bQ0E:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/UZWILtkXyHg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2012/12/value-of-email-newsletters/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2012/12/value-of-email-newsletters?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=value-of-email-newsletters</feedburner:origLink></item>
		<item>
		<title>Jetpack Infinite Scroll Credit Text</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/DIbz51h3Dig/jetpack-infinite-scroll-credit-text</link>
		<comments>http://clark-technet.com/2012/11/jetpack-infinite-scroll-credit-text#comments</comments>
		<pubDate>Thu, 29 Nov 2012 16:33:15 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Aside]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2435</guid>
		<description><![CDATA[<p>In the next version of Techozoic Fluid that is almost ready to be released, support for the Jetpack Infinite Scroll module has been added. After following Otto&#8217;s guide on getting support added, I noticed that the scrolling footer that is &#8230; <a href="http://clark-technet.com/2012/11/jetpack-infinite-scroll-credit-text">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2012/11/jetpack-infinite-scroll-credit-text">Jetpack Infinite Scroll Credit Text</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>In the next version of <a href="http://wordpress.org/extend/themes/techozoic-fluid">Techozoic Fluid</a> that is almost ready to be released, support for the <a href="http://jetpack.me/">Jetpack</a> Infinite Scroll module has been added.  After following <a href="http://ottopress.com/2012/jetpack-and-the-infinite-scroll/">Otto&#8217;s guide</a> on getting support added, I noticed that the scrolling footer that is included by default has the standard WordPress credit link.  After reviewing the code I discovered that there was a filter specifically for the credit links, which makes it super simple to change out the text.   </p>
<p><script src="https://gist.github.com/4170117.js"> </script></p>
<p><a href="http://clark-technet.com/2012/11/jetpack-infinite-scroll-credit-text">Jetpack Infinite Scroll Credit Text</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=DIbz51h3Dig:_tbNJ6mDUYc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=DIbz51h3Dig:_tbNJ6mDUYc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=DIbz51h3Dig:_tbNJ6mDUYc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=DIbz51h3Dig:_tbNJ6mDUYc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=DIbz51h3Dig:_tbNJ6mDUYc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=DIbz51h3Dig:_tbNJ6mDUYc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/DIbz51h3Dig" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2012/11/jetpack-infinite-scroll-credit-text/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2012/11/jetpack-infinite-scroll-credit-text?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=jetpack-infinite-scroll-credit-text</feedburner:origLink></item>
		<item>
		<title>Options Framework &amp; Theme Customizer</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/M5XvlaCt8B4/options-framework-theme-customizer-loop</link>
		<comments>http://clark-technet.com/2012/11/options-framework-theme-customizer-loop#comments</comments>
		<pubDate>Sat, 17 Nov 2012 00:02:56 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2417</guid>
		<description><![CDATA[<p>While working on the next version of Techozoic Fluid I&#8217;ve been incorporating the new theme customizer features of WordPress 3.4. Currently Techozoic uses the Options Framework from Devin Price to handle all the settings pages. The framework is awesome and &#8230; <a href="http://clark-technet.com/2012/11/options-framework-theme-customizer-loop">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2012/11/options-framework-theme-customizer-loop">Options Framework &#038; Theme Customizer</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>While working on the next version of <a href="http://wordpress.org/extend/themes/techozoic-fluid">Techozoic Fluid</a> I&#8217;ve been incorporating the new theme customizer features of WordPress 3.4.  Currently Techozoic uses the <a href="http://wptheming.com/options-framework-theme/">Options Framework</a> from Devin Price to handle all the settings pages.  The framework is awesome and saves developers tons of time implementing the settings api.  As always Devin already had a <a href="http://wptheming.com/2012/07/options-framework-theme-customizer/">great tutorial</a> on using the customizer with the framework.  He went over all the basics of getting it working together.  However with Techozoic there are many options and including them in the customizer by hand would have been a huge job.  So I came up with this simple loop to accomplish the job of getting all the options into the customizer.  </p>
<p>After following all the directions from Devin about changing the options array to used named keys then this loop will come into play.  I&#8217;ll go over the basics of what the loop does.  First of all you&#8217;ll need to replace all instances of theme_slug with your own theme&#8217;s slug.  The $customizer_array is where it starts this array setups your option sections and which options will be displayed in each section.  The sample array is broken down into two sub arrays the key of these being the section id used for the customizer sections, this will produce two sections.  Under each of these is some info about the section itself <strong>name</strong> is the title of the section, localized in this example, and <strong>priority</strong> is where in the customizer list the section will show up.  Next is the <strong>settings</strong> key which is an array itself of option ids that you setup early following Devin&#8217;s tutorial.  </p>
<p>Now on to the loop itself, basically this will loop over each section and then loop over each settings array in that section.  Then it will use the appropriate way of adding the option to the customizer, since the different option types require slightly different way of adding them to the customizer.  Currently only checkbox, radio, text, select, color, and image option types are supported. While extending the customizer is entirely possible it&#8217;s beyond this guide. </p>
<p><span id="more-2417"></span></p>
<p><div class="list"><p class="trigger"><a href="#">Source Code</a></p><div class="toggle_container"><div class="block"><br />
<script src="https://gist.github.com/4090632.js?file=gistfile1.php"></script><br />
</div></div></div></p>
<p><a href="http://clark-technet.com/2012/11/options-framework-theme-customizer-loop">Options Framework &#038; Theme Customizer</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=M5XvlaCt8B4:baBUtY-rdUw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=M5XvlaCt8B4:baBUtY-rdUw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=M5XvlaCt8B4:baBUtY-rdUw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=M5XvlaCt8B4:baBUtY-rdUw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=M5XvlaCt8B4:baBUtY-rdUw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=M5XvlaCt8B4:baBUtY-rdUw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/M5XvlaCt8B4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2012/11/options-framework-theme-customizer-loop/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2012/11/options-framework-theme-customizer-loop?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=options-framework-theme-customizer-loop</feedburner:origLink></item>
		<item>
		<title>Include Custom Post Type Templates From Plugin</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/raZd7RPUoU0/include-custom-post-type-templates-from-plugin</link>
		<comments>http://clark-technet.com/2012/11/include-custom-post-type-templates-from-plugin#comments</comments>
		<pubDate>Fri, 16 Nov 2012 19:55:57 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2416</guid>
		<description><![CDATA[<p>While writing advanced plugins using custom post types sometimes it becomes necessary to completely take over the display of the particular custom post type display template. While using filters can work for most things sometimes a whole template must be &#8230; <a href="http://clark-technet.com/2012/11/include-custom-post-type-templates-from-plugin">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2012/11/include-custom-post-type-templates-from-plugin">Include Custom Post Type Templates From Plugin</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>While writing advanced plugins using custom post types sometimes it becomes necessary to completely take over the display of the particular custom post type display template.  While using filters can work for most things sometimes a whole template must be included.  One example of this would be if using the custom post type as an endpoint for an api request, where having any additional markup would cause the request to fail.  </p>
<p>To include the template from the plugin directory the template_include filter has to be used.  The code below will check in the current theme directory before including the one in the plugin folder.  This allows for the theme to always be able to override the template.  This also shows how to include multiple templates, using simple conditional statements like is_single.<br />
<span id="more-2416"></span><br />
<div class="list"><p class="trigger"><a href="#">Source Code</a></p><div class="toggle_container"><div class="block"><br />
<script src="https://gist.github.com/4090126.js?file=plugin.php"></script><br />
</div></div></div></p>
<p><a href="http://clark-technet.com/2012/11/include-custom-post-type-templates-from-plugin">Include Custom Post Type Templates From Plugin</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=raZd7RPUoU0:ftDOcjN1RVw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=raZd7RPUoU0:ftDOcjN1RVw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=raZd7RPUoU0:ftDOcjN1RVw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=raZd7RPUoU0:ftDOcjN1RVw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=raZd7RPUoU0:ftDOcjN1RVw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=raZd7RPUoU0:ftDOcjN1RVw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/raZd7RPUoU0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2012/11/include-custom-post-type-templates-from-plugin/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2012/11/include-custom-post-type-templates-from-plugin?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=include-custom-post-type-templates-from-plugin</feedburner:origLink></item>
		<item>
		<title>Jetpack by Automattic</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/iMrndibwF9g/jetpack-by-automattic</link>
		<comments>http://clark-technet.com/2012/11/jetpack-by-automattic#comments</comments>
		<pubDate>Thu, 15 Nov 2012 13:40:04 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Aside]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2415</guid>
		<description><![CDATA[<p>I&#8217;ve recently installed the Jetpack plugin, and I can say so far it was a wise choice. It has replaced four plugins, and added many more features on top of that. It replaced my contact form, Twitter integration, and social &#8230; <a href="http://clark-technet.com/2012/11/jetpack-by-automattic">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2012/11/jetpack-by-automattic">Jetpack by Automattic</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve recently installed the <a href="http://jetpack.me/">Jetpack</a> plugin, and I can say so far it was a wise choice.  It has replaced four plugins, and added many more features on top of that.  It replaced my contact form, Twitter integration, and social bookmarking plugin, all were more than I needed anyway.  I&#8217;ve only setup two simple contact forms and they were easily changed over.  The Twitter integration plugin was also easily replaced.  Just had the widget setup as well as auto-tweet new posts both of which were included in <a href="http://jetpack.me/">Jetpack</a>.  If you&#8217;re looking for a plugin that has loads of features and tools that will help you run your site more efficiently, consider checking out <a href="http://jetpack.me/">Jetpack</a>.  </p>
<p><a href="http://clark-technet.com/2012/11/jetpack-by-automattic">Jetpack by Automattic</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=iMrndibwF9g:kDikU5B3Q3U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=iMrndibwF9g:kDikU5B3Q3U:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=iMrndibwF9g:kDikU5B3Q3U:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=iMrndibwF9g:kDikU5B3Q3U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=iMrndibwF9g:kDikU5B3Q3U:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=iMrndibwF9g:kDikU5B3Q3U:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/iMrndibwF9g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2012/11/jetpack-by-automattic/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2012/11/jetpack-by-automattic?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=jetpack-by-automattic</feedburner:origLink></item>
		<item>
		<title>New VPS running</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/j0qCQoBDLl0/new-vps-running</link>
		<comments>http://clark-technet.com/2012/11/new-vps-running#comments</comments>
		<pubDate>Fri, 02 Nov 2012 15:08:14 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Aside]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2407</guid>
		<description><![CDATA[<p>I&#8217;ve switched this site and the others that I host over to running on a Dreamhost VPS. After some tinkering with settings and caching, I&#8217;ve got the site running much faster and more securely. If you notice any problems either &#8230; <a href="http://clark-technet.com/2012/11/new-vps-running">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2012/11/new-vps-running">New VPS running</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve switched this site and the others that I host over to running on a Dreamhost VPS.  After some tinkering with settings and caching, I&#8217;ve got the site running much faster and more securely.  If you notice any problems either leave a comment or <a href="http://clark-technet.com/contact-me" title="Contact Me">contact me</a>.</p>
<p><a href="http://clark-technet.com/2012/11/new-vps-running">New VPS running</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=j0qCQoBDLl0:8f84nMhLxlE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=j0qCQoBDLl0:8f84nMhLxlE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=j0qCQoBDLl0:8f84nMhLxlE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=j0qCQoBDLl0:8f84nMhLxlE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=j0qCQoBDLl0:8f84nMhLxlE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=j0qCQoBDLl0:8f84nMhLxlE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/j0qCQoBDLl0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2012/11/new-vps-running/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2012/11/new-vps-running?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=new-vps-running</feedburner:origLink></item>
		<item>
		<title>Cloud-Based Development Environment</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/fkFMtBNyW5A/cloud-based-development-environment</link>
		<comments>http://clark-technet.com/2012/06/cloud-based-development-environment#comments</comments>
		<pubDate>Fri, 22 Jun 2012 14:53:00 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2257</guid>
		<description><![CDATA[<p>Keeping development environments in sync between two locations can be challenging. One solution might be to switch to a cloud-based environment using DropBox. Netbeans is an IDE that works very well, as it has ftp/sftp support and git/svn integration. Netbeans &#8230; <a href="http://clark-technet.com/2012/06/cloud-based-development-environment">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2012/06/cloud-based-development-environment">Cloud-Based Development Environment</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>Keeping development environments in sync between two locations can be challenging.  One solution might be to switch to a cloud-based environment using <a href="http://db.tt/Cm6EZbD">DropBox</a>.  <a href="http://netbeans.org/" title="Netbeans">Netbeans</a> is an IDE that works very well, as it has ftp/sftp support and git/svn integration.  Netbeans is also a java based program so it lends itself to being launched without the need to be installed first.  <a href="http://www.apachefriends.org/en/xampp-windows.html">XAMPP</a> is an all-in-one web server for use on standard workstation machines.</p>
<p>The first step is installing <a href="http://db.tt/Cm6EZbD">DropBox</a>, using the preceding link will give you an extra 250 MB of storage bringing the total to 2.25 GB of storage <sub><strong>1</strong></sub>.  The extra storage will come in handy.  When installing make sure to choose a path that will be the same on all computers, C:\Dropbox is recommended, the location can be changed later in the Dropbox options.  The next step will be installing <a href="http://netbeans.org/" title="Netbeans">Netbeans</a>, all the recommended settings will work fine, the files will be copied later anyway.  Now download <a href="http://www.apachefriends.org/en/xampp-windows.html">XAMPP</a> files, grab a copy of the zip file instead of the installer it will make it easier to choose the location.  After all this is ready now time to start setting up the environment.</p>
<p>To help keep everything organized, create a sub-folder in the C:\Dropbox folder to hold all the development files. </p>
<ol>
<li>Extract the XAMPP files to your Dropbox sub folder, don&#8217;t rename the XAMPP folder.  Now you can just run the setup_xampp.bat file in the XAMPP directory and it should find all the paths correctly.  Another option is to XAMPPlite it uses relative paths so might lend itself better to if the Dropbox folders can&#8217;t be in the same location.  </li>
<li>Navigate to the Netbeans folder, it is located at <em>c:\Program Files\Netbeans X.X</em> (or Program Files(x86)for 64bit OSes) where X.X is the version you&#8217;ve installed.  Copy the whole Netbeans X.X folder into the Dropbox sub folder created earlier.</li>
<li>Now move the java files necessary for Netbeans to run unless java is already installed on all the computers using the development environment.  The latest version can be downloaded from <a href="http://www.java.com/en/download/manual.jsp">here</a>.  If java isn&#8217;t installed on all computers can simply include it in the Dropbox as well.  To do this navigate to <em>C:\Program Files\Java</em> (or Program Files(x86) for 64 bit) and copy the jre6 folder into the Dropbox sub folder.</li>
<li>Since Netbeans stores its configuration in the user profile it will be necessary to change this.  Create a “NetbeansUserDir” folder in the Dropbox sub folder.  Now in the Netbeans X.X folder edit the etc/netbeans.conf.  Find the line <code>netbeans_default_userdir=</code> and make it say <code>netbeans_default_userdir="..\..\NetbeansUserDir"</code> Then if java was included in Dropbox, find <code>netbeans_jdkome=</code> farther down in the file and change it to read <code>netbeans_jdkhome="..\..\jre6"</code>  These are relative paths so they might change depending on how the sub folders arranged.</li>
</ol>
<p>Now navigate to the <em>Netbeans X.X/bin</em> folder and launch netbeans.exe.  All shortcuts can now be replaced with a link to this file instead of the one in Program Files.  </p>
<p>One other thing that I personally ran into was I&#8217;ve got a smaller primary drive and I&#8217;ve got the paid edition of Dropbox and moving it to the primary drive would have filled this drive up.  The solution was to use a symbolic link.  This is similar to a shortcut but the paths do not change which is needed for XAMPP to work right.  You will need to open and command prompt and use this command:<code>mklink /D C:\Dropbox F:\Dropbox</code> where F:\Dropbox was the current location for my Dropbox folder.</p>
<p><small>1) The extra storage will be available after installing the desktop client software.</small></p>
<p><a href="http://clark-technet.com/2012/06/cloud-based-development-environment">Cloud-Based Development Environment</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=fkFMtBNyW5A:QKJ2r1L3AAk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=fkFMtBNyW5A:QKJ2r1L3AAk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=fkFMtBNyW5A:QKJ2r1L3AAk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=fkFMtBNyW5A:QKJ2r1L3AAk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=fkFMtBNyW5A:QKJ2r1L3AAk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=fkFMtBNyW5A:QKJ2r1L3AAk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/fkFMtBNyW5A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2012/06/cloud-based-development-environment/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2012/06/cloud-based-development-environment?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=cloud-based-development-environment</feedburner:origLink></item>
		<item>
		<title>Simple WordPress Twitter follower count snippet</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/SbM_FcxA_-I/simple-wordpress-twitter-follower-count-snippet</link>
		<comments>http://clark-technet.com/2012/04/simple-wordpress-twitter-follower-count-snippet#comments</comments>
		<pubDate>Wed, 25 Apr 2012 12:25:31 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[snippet]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2210</guid>
		<description><![CDATA[<p>Updated version for API v1.1 Following on the idea from this post, sometimes a full-blown Twitter plugin is too much. Luckily Twitter has a rich API that is ripe for the taking of information. The API console is of great &#8230; <a href="http://clark-technet.com/2012/04/simple-wordpress-twitter-follower-count-snippet">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2012/04/simple-wordpress-twitter-follower-count-snippet">Simple WordPress Twitter follower count snippet</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p><ins datetime="2013-03-07T19:42:41+00:00"><a href="http://clark-technet.com/2013/03/updated-wordpress-twitter-functions">Updated version for API v1.1</a></ins><br />
Following on the idea from this <a href="http://clark-technet.com/2012/04/simple-wordpress-twitter-feed-code-snippet" title="Simple WordPress Twitter feed code snippet">post</a>, sometimes a full-blown Twitter plugin is too much.  Luckily Twitter has a rich API that is ripe for the taking of information.  The <a href="https://dev.twitter.com/console">API console</a> is of great use to find how to properly format the API requests.  This code below will output the number of followers specified by the username passed to the function wrapped in a link to the page that allows the visitor to easily follow the user.<br />
<span id="more-2210"></span><br />
<div class="list"><p class="trigger"><a href="#">Source Code</a></p><div class="toggle_container"><div class="block"><br />
<script src="https://gist.github.com/2481191.js"> </script><br />
</div></div></div></p>
<p><a href="http://clark-technet.com/2012/04/simple-wordpress-twitter-follower-count-snippet">Simple WordPress Twitter follower count snippet</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=SbM_FcxA_-I:vpo3RTt1I4g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=SbM_FcxA_-I:vpo3RTt1I4g:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=SbM_FcxA_-I:vpo3RTt1I4g:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=SbM_FcxA_-I:vpo3RTt1I4g:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=SbM_FcxA_-I:vpo3RTt1I4g:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=SbM_FcxA_-I:vpo3RTt1I4g:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/SbM_FcxA_-I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2012/04/simple-wordpress-twitter-follower-count-snippet/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2012/04/simple-wordpress-twitter-follower-count-snippet?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=simple-wordpress-twitter-follower-count-snippet</feedburner:origLink></item>
		<item>
		<title>Simple WordPress Twitter feed code snippet</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/sp-MeeeG3AI/simple-wordpress-twitter-feed-code-snippet</link>
		<comments>http://clark-technet.com/2012/04/simple-wordpress-twitter-feed-code-snippet#comments</comments>
		<pubDate>Tue, 24 Apr 2012 14:30:27 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sinppet]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2209</guid>
		<description><![CDATA[<p>Updated version for API v1.1 Sometimes a Twitter plugin is just the right fit for a site, other times it just might be overkill. If all that&#8217;s need is a simple list of recent Twitter posts this solution might be &#8230; <a href="http://clark-technet.com/2012/04/simple-wordpress-twitter-feed-code-snippet">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2012/04/simple-wordpress-twitter-feed-code-snippet">Simple WordPress Twitter feed code snippet</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p><ins datetime="2013-03-07T19:42:41+00:00"><a href="http://clark-technet.com/2013/03/updated-wordpress-twitter-functions">Updated version for API v1.1</a></ins><br />
Sometimes a Twitter plugin is just the right fit for a site, other times it just might be overkill.  If all that&#8217;s need is a simple list of recent Twitter posts this solution might be the best.  The code below can be placed in a functions.php for the current theme or in a separate plugin.  The code will automatically change @usernames into links to profiles and #hastags into links for the search page for the tag.  It will also convert text links into valid click-able links.<br />
<span id="more-2209"></span><br />
<div class="list"><p class="trigger"><a href="#">Source Code</a></p><div class="toggle_container"><div class="block"><br />
<script src="https://gist.github.com/2471214.js"> </script><br />
</div></div></div></p>
<p><a href="http://clark-technet.com/2012/04/simple-wordpress-twitter-feed-code-snippet">Simple WordPress Twitter feed code snippet</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=sp-MeeeG3AI:IgKZpdmAZNs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=sp-MeeeG3AI:IgKZpdmAZNs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=sp-MeeeG3AI:IgKZpdmAZNs:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=sp-MeeeG3AI:IgKZpdmAZNs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=sp-MeeeG3AI:IgKZpdmAZNs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=sp-MeeeG3AI:IgKZpdmAZNs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/sp-MeeeG3AI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2012/04/simple-wordpress-twitter-feed-code-snippet/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2012/04/simple-wordpress-twitter-feed-code-snippet?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=simple-wordpress-twitter-feed-code-snippet</feedburner:origLink></item>
		<item>
		<title>WordPress 3.4 wp_get_theme – new function for retrieving theme data</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/P7FNEfAdPTs/wordpress-3-4-wp_get_theme-new-function-for-retrieving-theme-data</link>
		<comments>http://clark-technet.com/2012/04/wordpress-3-4-wp_get_theme-new-function-for-retrieving-theme-data#comments</comments>
		<pubDate>Mon, 23 Apr 2012 14:23:59 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[wordpress 3.4]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2208</guid>
		<description><![CDATA[<p>Another new addition to 3.4 is the deprecation of the get_theme_data function, this function was used pull data from the header of a theme&#8217;s stylesheet. This function was useful for outputting theme data in a repeatable way. The new function &#8230; <a href="http://clark-technet.com/2012/04/wordpress-3-4-wp_get_theme-new-function-for-retrieving-theme-data">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2012/04/wordpress-3-4-wp_get_theme-new-function-for-retrieving-theme-data">WordPress 3.4 wp_get_theme &#8211; new function for retrieving theme data</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>Another new addition to 3.4 is the deprecation of the <a href="http://codex.wordpress.org/Function_Reference/get_theme_data">get_theme_data</a> function, this function was used pull data from the header of a theme&#8217;s stylesheet.  This function was useful for outputting theme data in a repeatable way.  The new function <a href="http://codex.wordpress.org/Function_Reference/wp_get_theme">wp_get_theme</a> is the replacement for this function.  The difference is that the get_theme_data returned data in an array and the data was accessible via array keys, while wp_get_theme returns the data as an object.  This has little effect on how the code is used just how to retrieve the data.  </p>
<p>Maintaining backwards compatibility is always a top priority when releasing a theme for the public.  This code below will accomplish this by testing if the new function exists before running it, and falling back to the old function if it doesn&#8217;t.  The same variables are used for either way, so they variables can be used regardless of what function is used.<br />
<span id="more-2208"></span><br />
<div class="list"><p class="trigger"><a href="#">Source Code</a></p><div class="toggle_container"><div class="block"><br />
<script src="https://gist.github.com/2470972.js"> </script><br />
</div></div></div></p>
<p><a href="http://clark-technet.com/2012/04/wordpress-3-4-wp_get_theme-new-function-for-retrieving-theme-data">WordPress 3.4 wp_get_theme &#8211; new function for retrieving theme data</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=P7FNEfAdPTs:OP_8jKQu6Nc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=P7FNEfAdPTs:OP_8jKQu6Nc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=P7FNEfAdPTs:OP_8jKQu6Nc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=P7FNEfAdPTs:OP_8jKQu6Nc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=P7FNEfAdPTs:OP_8jKQu6Nc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=P7FNEfAdPTs:OP_8jKQu6Nc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/P7FNEfAdPTs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2012/04/wordpress-3-4-wp_get_theme-new-function-for-retrieving-theme-data/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2012/04/wordpress-3-4-wp_get_theme-new-function-for-retrieving-theme-data?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=wordpress-3-4-wp_get_theme-new-function-for-retrieving-theme-data</feedburner:origLink></item>
		<item>
		<title>Solving 403 errors with CloudFlare</title>
		<link>http://feedproxy.google.com/~r/clark-technet/bRdG/~3/KqGUhC4N88s/solving-403-errors-with-cloudflare</link>
		<comments>http://clark-technet.com/2012/04/solving-403-errors-with-cloudflare#comments</comments>
		<pubDate>Wed, 18 Apr 2012 14:49:41 +0000</pubDate>
		<dc:creator>Jeremy Clark</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://clark-technet.com/?p=2183</guid>
		<description><![CDATA[<p>Recently I&#8217;ve switched over to using CloudFlare, for those unfamiliar it&#8217;s a proxy caching service. It caches resources from your site in several data centers. When looking over Google Webmaster Tools, I noticed every page it crawled was a 403 &#8230; <a href="http://clark-technet.com/2012/04/solving-403-errors-with-cloudflare">Continue reading <span class="meta-nav">&#8594;</span></a></p><p><a href="http://clark-technet.com/2012/04/solving-403-errors-with-cloudflare">Solving 403 errors with CloudFlare</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p>]]></description>
				<content:encoded><![CDATA[<p>Recently I&#8217;ve switched over to using <a href="http://www.cloudflare.com/">CloudFlare</a>, for those unfamiliar it&#8217;s a proxy caching service.  It caches resources from your site in several data centers.  When looking over Google Webmaster Tools, I noticed every page it crawled was a 403 error.  Not very conducive to having good search rankings.</p>
<p>After some digging the answer finally appeared on the WordPress.org forums.  The Bad Behavior plugin was rejecting Google since the crawler was being proxied thru CloudFlare and had the user-agent of Googlebot but was not in the right IP address range.  The solution, disable Bad Behavior.  Although the plugin had always worked great in reducing the number of spam request, since CloudFlare increases security by blocking bad requests before ever reaching the server, no reason to have Bad Behavior taking up resources as well.</p>
<p><a href="http://clark-technet.com/2012/04/solving-403-errors-with-cloudflare">Solving 403 errors with CloudFlare</a>
<br /> © <a href="http://clark-technet.com">Jeremy Clark Technet.com</a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=KqGUhC4N88s:s8ED4GQgH6I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=KqGUhC4N88s:s8ED4GQgH6I:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=KqGUhC4N88s:s8ED4GQgH6I:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=KqGUhC4N88s:s8ED4GQgH6I:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?i=KqGUhC4N88s:s8ED4GQgH6I:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/clark-technet/bRdG?a=KqGUhC4N88s:s8ED4GQgH6I:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/clark-technet/bRdG?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/clark-technet/bRdG/~4/KqGUhC4N88s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://clark-technet.com/2012/04/solving-403-errors-with-cloudflare/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://clark-technet.com/2012/04/solving-403-errors-with-cloudflare?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=solving-403-errors-with-cloudflare</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Database Caching 3/20 queries in 0.637 seconds using disk: basic
Object Caching 2470/2528 objects using disk: basic
Content Delivery Network via static.clark-technet.com

 Served from: clark-technet.com @ 2013-05-18 12:46:17 by W3 Total Cache -->
