<?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>Peter Kelly</title>
	<atom:link href="http://www.peter-kelly.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.peter-kelly.com</link>
	<description>Personal Portfolio, Website Development Tutorials</description>
	<lastBuildDate>Mon, 13 Feb 2012 19:26:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Function Arguments</title>
		<link>http://www.peter-kelly.com/development/tutorials/function-arguments/</link>
		<comments>http://www.peter-kelly.com/development/tutorials/function-arguments/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 22:56:53 +0000</pubDate>
		<dc:creator>Peter Kelly</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[func_get_arg]]></category>
		<category><![CDATA[func_get_args]]></category>
		<category><![CDATA[func_num_args]]></category>

		<guid isPermaLink="false">http://www.peter-kelly.com/?p=726</guid>
		<description><![CDATA[In the latest version of PHP there are well over 5000 functions built into the core of PHP these functions range from echoing and printing a string to creating and manipulating files and databases. In this tutorial I will show you how you can create you own functions. Predefined Function Arguments A function is often]]></description>
			<content:encoded><![CDATA[<p>In the latest version of PHP there are well over 5000 functions built into the core of PHP these functions range from echoing and printing a string to creating and manipulating files and databases. In this tutorial I will show you how you can create you own functions.<br />
<span id="more-726"></span></p>
<h3>Predefined Function Arguments</h3>
<p>A function is often created using predefined arguments for example</p>
<pre class="brush: php; ">
&lt;?php

function foo($bar1, $bar2=&#039;&#039;){
echo &quot;bar1: &quot; . $bar1 . &quot;\n&quot;;
echo &quot;bar2: &quot; . $bar2 . &quot;\n&quot;;
}

?&gt;
</pre>
<p>With this example 2 fields are created with the function $bar1 and $bar2. $bar1 is a required argument that must be entered when calling the function where as $bar2 is set to null by default allowing the argument to optional while calling the function.</p>
<h3>On The Fly Function Arguments</h3>
<p>Using the function <a href="http://us2.php.net/manual/en/function.func-get-args.php" target="_blank">func_get_args();</a> you can add any number of arguments to the function without first defining them, these can be simply set while calling the actual function.</p>
<pre class="brush: php; ">
&lt;?php

function foo()
{
$numargs = func_num_args();
echo &quot;Number of arguments: $numargs&lt;br /&gt;\n&quot;;
if ($numargs &gt;= 2) {
echo &quot;Second argument is: &quot; . func_get_arg(1) . &quot;&lt;br /&gt;\n&quot;;
}

$arg_list = func_get_args();
for ($i = 0; $i &lt; $numargs; $i++) {
echo &quot;Argument $i is: &quot; . $arg_list[$i] . &quot;&lt;br /&gt;\n&quot;;
}
}

foo(1, 2, 3);
?&gt;
</pre>
<p>In this example I will also be using the functions <a href="http://us2.php.net/manual/en/function.func-num-args.php" target="_blank">func_num_args();</a> and <a href="http://us2.php.net/manual/en/function.func-get-arg.php" target="_blank">func_get_arg();</a> These functions will count the total number of arguments submitted to the function while calling it. The other will get the argument when supplied with the argument number.</p>
<pre class="brush: php; ">
&lt;?php

function foo()
{
$numargs = func_num_args();
echo &quot;Number of arguments: $numargs&lt;br /&gt;\n&quot;;

if ($numargs &gt;= 2) {
echo &quot;Second argument is: &quot; . func_get_arg(1) . &quot;&lt;br /&gt;\n&quot;;
}
</pre>
<p>In this section we start the function with no predefined arguments set we then count the total number of arguments submitted when calling the function using the func_num_args(); we then set this to the variable $numargs. This number is then echoed.<br />
If this number is equal to or larger than 2 we echo the second argument that was submitted to the function. We get this using the func_get_arg(); function.</p>
<p>Using this next section of code we use the function func_get_args(); and loop through the arguments submitted, and echo them all out.</p>
<pre class="brush: php; ">
$arg_list = func_get_args();
for ($i = 0; $i &lt; $numargs; $i++) {
echo &quot;Argument $i is: &quot; . $arg_list[$i] . &quot;&lt;br /&gt;\n&quot;;
}

}

?&gt;
</pre>
<p>This method would be excellent for example when adding up numbers as more numbers could be added as required.</p>
<div class="example-contents">
<div class="phpcode">
<pre class="brush: php; ">
&lt;?php

function foo()
{
$numargs = func_num_args();
echo &quot;Number of arguments: $numargs&lt;br /&gt;\n&quot;;

if ($numargs &gt;= 2) {
echo &quot;Second argument is: &quot; . func_get_arg(1) . &quot;&lt;br /&gt;\n&quot;;
}

$arg_list = func_get_args();
for ($i = 0; $i &lt; $numargs; $i++) {
echo &quot;Argument $i is: &quot; . $arg_list[$i] . &quot;&lt;br /&gt;\n&quot;;
}

}
foo(1, 2, 3);

?&gt;
</pre>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.peter-kelly.com/development/tutorials/function-arguments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Website Analysis</title>
		<link>http://www.peter-kelly.com/development/resources/website-analysis/</link>
		<comments>http://www.peter-kelly.com/development/resources/website-analysis/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 15:19:08 +0000</pubDate>
		<dc:creator>Peter Kelly</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[Optimise]]></category>
		<category><![CDATA[Page Speed]]></category>
		<category><![CDATA[YSlow]]></category>

		<guid isPermaLink="false">http://www.peter-kelly.com/?p=686</guid>
		<description><![CDATA[So you&#8217;ve finished off designing your website now its time to get on with optimizing your website for speed and loading times. To help with the analysis of your website I spent many hours trawling the internet for the best website to analyse my website. Well here are my 2 favourites. GTMetrix &#8211; (http://www.gtmetrix.com) GTMetrix.com]]></description>
			<content:encoded><![CDATA[<p>So you&#8217;ve finished off designing your website now its time to get on with optimizing your website for speed and loading times. To help with the analysis of your website I spent many hours trawling the internet for the best website to analyse my website. Well here are my 2 favourites.</p>
<h3><img class="alignleft size-full wp-image-353" title="gtmetrix-screenie" src="http://www.peter-kelly.com/wp-content/uploads/2011/02/gtmetrix-screenie.png" alt="GTMetrix.com Screenshot" width="220" />GTMetrix &#8211; (<a href="http://www.gtmetrix.com" target="_blank">http://www.gtmetrix.com</a>)</h3>
<p>GTMetrix.com is a advanced website allowing everything on your website to be assessed using Google&#8217;s Pagerank and Yahoo&#8217;s YSlow algorithm&#8217;s. GTMetrix also gives you tips on how to optimize those to gain the best rated website.</p>
<p>After spending a couple of hours optimizing my website my website speeded up its loading times by approximately 5 seconds. I also improved my SEO and upgraded my rating on both Google&#8217;s Pagerank and Yahoo&#8217;s Yslow.</p>
<p>&nbsp;</p>
<p><img class="alignleft size-medium wp-image-689" title="Pingdom Tools" src="http://www.peter-kelly.com/wp-content/uploads/2011/07/Pingdom-Tools_1310137921843-300x157.jpg" alt="Pingdom.com Screenshot" width="220" /></p>
<h3>Pingdom Tools &#8211; (<a href="http://www.pingdom.com" target="_blank">http://www.pingdom.com</a>)</h3>
<p>While searching I also found Pingdom.com which shows a detailed view of the connection and loading times of each individual file. Using this I was able to find out which files were taking the longest and in the case of the javascript. Optimize their loading sequences.</p>
<p>Pingdom Tools also shows you when each file is loaded this can give you the view of files that load simulataneously.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peter-kelly.com/development/resources/website-analysis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What You Need To Host A Website</title>
		<link>http://www.peter-kelly.com/web-hosting/what-you-need-to-host-a-website/</link>
		<comments>http://www.peter-kelly.com/web-hosting/what-you-need-to-host-a-website/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 22:23:52 +0000</pubDate>
		<dc:creator>Peter Kelly</dc:creator>
				<category><![CDATA[Web Hosting]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[Domain]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://www.peter-kelly.com/?p=584</guid>
		<description><![CDATA[Wether your a beginner or an expert with websites there are 3 important items you need on your checklist when setting up a website. &#8211; A Domain &#8211; A Web Host &#8211; Good Content Read our article to get yourself upto date with the latest know how&#8217;s and get your website up and running with]]></description>
			<content:encoded><![CDATA[<p>Wether your a beginner or an expert with websites there are 3 important items you need on your checklist when setting up a website.<br />
 &#8211; A Domain<br />
 &#8211; A Web Host<br />
 &#8211; Good Content</p>
<p>Read our article to get yourself upto date with the latest know how&#8217;s and get your website up and running with out the extravagent costs.<br />
<span id="more-584"></span></p>
<h3>Domain</h3>
<p><img class="alignleft size-medium wp-image-603" title="Domain Name Extensions" src="http://www.peter-kelly.com/wp-content/uploads/2011/06/domain-names-extensions-300x218.jpg" alt="Domain Name Extensions" width="168" height="122" />In order for people to visit your website you need a domain and extension, the best domains are easily short and easy to remember. Having a domain that is straight to the point also helps with Search Engine Optimisation (&#8220;SEO&#8221;). For example my website peter-kelly.com if someone were to look at that domain they would first think its about someone called Peter Kelly. Which would you believe it, it is <img src='http://www.peter-kelly.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . When choosing a domain it is also recommended you choose the right extension for you.</p>
<p>There are loads of domain extensions like .com, .co.uk, .org, .me, .me.uk, .net etc. But most of these are unique to a country or purpose, although you could use a domain like peter-kelly.us which is the United States country extension. Anyone in the world could still access it no matter what country they live in. Choosing a extension which is common in the country that you are targeting your website at can help them remember yours.  (&#8220;<a title="Wikipedia - Domain Extensions" href="http://en.wikipedia.org/wiki/List_of_Internet_top-level_domains" target="_blank">Click here for the full list and description</a>&#8220;).</p>
<h3>Web Hosting</h3>
<p>So once you have your domain you need somewhere that you can host your website files. This is where the web hosting item comes into play. There are a wide variety of types of website hosts and website hosts themselves. The most common types of web hosting are <a title="Shared Web Hosting" href="http://en.wikipedia.org/wiki/Shared_hosting" target="_blank">Shared Hosting</a>, <a title="Reseller Hosting" href="http://en.wikipedia.org/wiki/Reseller_hosting" target="_blank">Resellers</a>, <a title="VPS" href="http://en.wikipedia.org/wiki/Virtual_private_server" target="_blank">VPS</a>, <a title="Co-Location Hosting" href="http://en.wikipedia.org/wiki/Colocation_centre" target="_blank">Co-Location</a>, <a title="Dedicated Hosting" href="http://en.wikipedia.org/wiki/Dedicated_hosting" target="_blank">Dedicated Hosting</a> and the recent <a title="Cloud Hosting" href="http://en.wikipedia.org/wiki/Cloud_hosting" target="_blank">Cloud Hosting</a>. (&#8220;For a description of each of these services courtesy of Wikipedia just click the links&#8221;). The most common is  Shared Hosting and this is what we will be using for our example. This is where the website is hosted on a dedicated server along with possible hundreds of other websites, the server is managed by a company and all you have to do is maintain your own website.</p>
<p>Like anything there are lots of companies which are looking to cut corners where possible, and this is no different with web hosting companies. As web hosting is now as cheap as anything many people are now starting up their own business. Often these people rent cheap VPS&#8221;s or dedicated servers off a host that has their prices soo low they have to over fill their server with extra services to make a profit. This often leaves the customers with a slow and possibly inaccessible website.</p>
<p>When searching you should also consider location and speed of loading times to be an important factor, as search engines are getting more and more complex they are taking the location and speed of the website into account affecting rankings with search terms within the search engine. This should be thought about if you are a local company.</p>
<p>I am currently hosting my website with <a title="Eleven2.com" href="http://www.eleven2.com/733.html" target="_blank">eleven2.com</a>. Eleven2.com are a UK based company who are known for fast speeds, brilliant uptime and great support and in my checklist when searching for a web host that ticks all the boxes.</p>
<h3>Content</h3>
<p>Finally content. This may well be the hardest part to complete, for your website to get visitors new and returning visitors there has to be something they would be interested in and would want to see again. For example: <a title="Youtube" href="http://www.youtube.com" target="_blank">Youtube.com </a>the website hosts thousands of videos and allows users to interact with the videos and view other people&#8217;s uploaded videos. With the recent boom in internet usage and social networking rising at an astronomical pace. It was the 3 guys Steve Chen, Chad Hurley and Jawed Karim who first cottoned onto this rapidly growing area that would catch the interest of a vast audience.</p>
<p>So when creating content have a layout that is easy on the eye and can be easily navigated. Having a site map located somewhere on your website allows your users and search engines to find your pages easier. When creating content you should take a step back and think would I visit this myself? If the answer is no or not for very long you need to rethink your content.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peter-kelly.com/web-hosting/what-you-need-to-host-a-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>License System</title>
		<link>http://www.peter-kelly.com/development/tutorials/license-system/</link>
		<comments>http://www.peter-kelly.com/development/tutorials/license-system/#comments</comments>
		<pubDate>Thu, 28 Apr 2011 00:09:34 +0000</pubDate>
		<dc:creator>Peter Kelly</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[license]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.peter-kelly.com/?p=548</guid>
		<description><![CDATA[In this tutorial we will be developing a license system which can be used with construction of any scripts you develop. How the system will work. First the client or the website script will send off a request to the server using PHP and Curl. This will initiate the response page on the server side]]></description>
			<content:encoded><![CDATA[<p>In this tutorial we will be developing a license system which can be used with construction of any scripts you develop.</p>
<h3>How the system will work.</h3>
<p>First the client or the website script will send off a request to the server using PHP and Curl. This will initiate the response page on the server side it will then retrieve the license from the database using the details provided from the client. The status will then be sent back to the client if unsuccessful an error message will be sent. The client then received the output. Should the license be invalid the script will exit and an error message displayed.</p>
<p><span id="more-548"></span></p>
<h3><img class="size-medium wp-image-550 aligncenter" title="License System Step Explanation" src="http://www.peter-kelly.com/wp-content/uploads/2011/04/Picture1-256x300.png" alt="License System Step Explanation" width="256" height="300" />The Beginning</h3>
<p>Before we start you first require the following;</p>
<ul>
<li>Web Hosting with PHP and Curl support.</li>
<li>MySQL Server</li>
<li>15 minutes of precious time.</li>
</ul>
<p>Most web hosting companies provide these by default but some may not compile php with curl or may only provide a limited amount of MySQL databases and access. If you are struggling to meet these requirements I would recommend <a href="http://www.hostmediauk.com/client/aff.php?aff=032" target="_blank">hostmediauk.com</a>.</p>
<p>Now we have the essentials sorted we can get started on the tutorial. For testing purposes I have set-up a folder structure as listed below.</p>
<ul>
<li>folder/client/index.php</li>
<li>folder/server/index.php</li>
</ul>
<h3>Client (client/index.php)</h3>
<p>To start create a new PHP file and open your PHP tags.</p>
<p>Lets start simple, first we will set some settings letting us collect the information which is used against the license.</p>
<pre class="brush: php; ">
$pass_array[&#039;key&#039;] = &quot;123-456&quot;;
$pass_array[&#039;domain&#039;] = $_SERVER[&#039;SERVER_NAME&#039;];
$pass_array[&#039;website_ip&#039;] = $_SERVER[&#039;SERVER_ADDR&#039;];
</pre>
<p>The $pass_array will be passed over to the server, the key setting can be stored within the configuration file and can be included into this script as necessary. But for security reasons I would suggest leaving the domain and website_ip within this file.</p>
<pre class="brush: php; ">
function confirm_license($url, $data)
{
</pre>
<p>Here we are starting a new function with 2 variables $url and $data. The url and data variables will be set when the function is called upon later on in this page.</p>
<pre class="brush: php; ">
	$options = array(CURLOPT_RETURNTRANSFER =&gt; true, CURLOPT_HEADER =&gt; false,
		CURLOPT_FOLLOWLOCATION =&gt; false, CURLOPT_AUTOREFERER =&gt; true,
		CURLOPT_CONNECTTIMEOUT =&gt; 50, CURLOPT_TIMEOUT =&gt; 50, CURLOPT_MAXREDIRS =&gt; 0,
		CURLOPT_POST =&gt; 1, CURLOPT_POSTFIELDS =&gt; $data, CURLOPT_SSL_VERIFYHOST =&gt; 0, );
</pre>
<p>Next we generate an array full of headers necessary for our use of Curl. More information about the headers that can be used with curl visit <a href="http://uk.php.net/manual/en/function.curl-setopt.php" target="_blank">http://uk.php.net/manual/en/function.curl-setopt.php</a>. As you can see within the headers we have included the $data variable from the start of the function.</p>
<pre class="brush: php; ">
	$ch = curl_init($url);
	curl_setopt_array($ch, $options);
	$content = curl_exec($ch);
	curl_close($ch);
	return $content;
}
</pre>
<p>Here we initiate the curl request to the URL address specified with the function using the <a href="http://www.php.net/curl_init" target="_blank">curl_init</a> function. We then attach the headers we combined in the array previously and set them with the curl using <a href="http://www.php.net/curl_setopt_array" target="_blank">curl_setopt_array</a>. Next using the <a href="http://www.php.net/curl_exec" target="_blank">curl_exec</a> function we return the URL and the page contents and assign it to $content. We then close the curl request using <a href="http://www.php.net/curl_close" target="_blank">curl_close</a>, return $content to the function and add a closing bracket to end the function.</p>
<pre class="brush: php; ">
$license = confirm_license(&quot;http://www.yousite.com/path/to/folder/server/&quot;, $pass_array);
</pre>
<p>Now we have the function built we will call it. In here the URL is to be set to the location of the folder/server/index.php. When in live mode, I would suggest removing the use of a domain for this URL and get a dedicated IP address narrowing the risk on domain tampering and hijacking which may be used to falsify the license status. We then attach the $pass_array we built earlier in the page.</p>
<pre class="brush: php; ">
if ($license != &quot;1&quot;)
{
	die($license);
}
</pre>
<p>Once the function has returned the page we check if the status returned equals 1 if it doesn&#8217;t then we show the error message returned. We will becoming onto this more in the next part of this tutorial.</p>
<p>So up to now you should have something which looks similar to this.</p>
<pre class="brush: php; ">
&lt;?php

$pass_array[&#039;key&#039;] = &quot;123-456&quot;;
$pass_array[&#039;domain&#039;] = $_SERVER[&#039;SERVER_NAME&#039;];
$pass_array[&#039;website_ip&#039;] = $_SERVER[&#039;SERVER_ADDR&#039;];

function confirm_license($url, $data)
{
	$options = array(CURLOPT_RETURNTRANSFER =&gt; true, CURLOPT_HEADER =&gt; false,
		CURLOPT_FOLLOWLOCATION =&gt; false, CURLOPT_AUTOREFERER =&gt; true,
		CURLOPT_CONNECTTIMEOUT =&gt; 50, CURLOPT_TIMEOUT =&gt; 50, CURLOPT_MAXREDIRS =&gt; 0,
		CURLOPT_POST =&gt; 1, CURLOPT_POSTFIELDS =&gt; $data, CURLOPT_SSL_VERIFYHOST =&gt; 0, );

	$ch = curl_init($url);
	curl_setopt_array($ch, $options);
	$content = curl_exec($ch);
	curl_close($ch);
	return $content;
}

$license = confirm_license(&quot;http://www.yousite.com/path/to/folder/server/&quot;, $pass_array);
if ($license[&#039;status&#039;] != &quot;1&quot;)
{
	die($license[&#039;message&#039;]);
}

?&gt;
</pre>
<h4><strong>Carry on this tutorial with the next section <a href="http://www.peter-kelly.com/website-development/tutorials/license-system/2/">here</a>.</strong></h4>
<h3>
]]></content:encoded>
			<wfw:commentRss>http://www.peter-kelly.com/development/tutorials/license-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Sprite Generator</title>
		<link>http://www.peter-kelly.com/development/resources/css-sprite-generator/</link>
		<comments>http://www.peter-kelly.com/development/resources/css-sprite-generator/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 20:46:01 +0000</pubDate>
		<dc:creator>Peter Kelly</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[sprites]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://www.peter-kelly.com/?p=546</guid>
		<description><![CDATA[Name: CSS-Sprites URL: http://www.css-sprit.es During my search for improving my Page Rank and YSlow scores, I came across this site. CSS-Sprites has a easy to use interface with the ability to upload multiple images with ease unlike other comparable websites. CSS-Sprites not only allows you generate the image but during the generation CSS-Sprites creates the required]]></description>
			<content:encoded><![CDATA[<p><strong>Name: </strong>CSS-Sprites<br />
<strong>URL: </strong><a href="http://www.css-sprit.es" target="_blank">http://www.css-sprit.es</a><br />
During my search for improving my Page Rank and YSlow scores, I came across this site. CSS-Sprites has a easy to use interface with the ability to upload multiple images with ease unlike other comparable websites. CSS-Sprites not only allows you generate the image but during the generation CSS-Sprites creates the required CSS code and allows generation of a roll over effect on the images for use with buttons. Best of all its completely FREE.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peter-kelly.com/development/resources/css-sprite-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changes</title>
		<link>http://www.peter-kelly.com/me/changes/</link>
		<comments>http://www.peter-kelly.com/me/changes/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 23:33:06 +0000</pubDate>
		<dc:creator>Peter Kelly</dc:creator>
				<category><![CDATA[Me]]></category>
		<category><![CDATA[.com]]></category>
		<category><![CDATA[Changes]]></category>
		<category><![CDATA[Updates]]></category>

		<guid isPermaLink="false">http://www.peter-kelly.com/?p=349</guid>
		<description><![CDATA[After some personal issues I have decided to close the hosting company company-host.com. All clients have been notified and have been dealt with by myself. Although this may seem like bad news we always have the upside, For the last time I have switched web hosting over into the hands of  hostmediauk.com which after reading]]></description>
			<content:encoded><![CDATA[<p>After some personal issues I have decided to close the hosting company company-host.com. All clients have been notified and have been dealt with by myself. Although this may seem like bad news we always have the upside, For the last time I have switched web hosting over into the hands of  <a href="http://www.hostmediauk.com/client/aff.php?aff=032" target="_blank">hostmediauk.com</a> which after reading lots of reviews and by my short experience with them so far, I am very glad I have. The server is located within the UK allowing quick loading times within the UK, Europe and with my additional WordPress optimization the rest of the world.</p>
<p>Another big change is the switch of primary domain to .com from .me. I have always had both registered but have decided to keep .com as the primary domain extension just for personal preference the .me extension has been redirected for convenience <img src='http://www.peter-kelly.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>With time not been taken away from tutorial writing by web hosting stuff. I will now be able to post more tutorials more regularly. I hope to get at least 1 out every month. I will try stick to that but any ideas on what tutorials people would like to see would be greatly appreciated. I will also be transferring tutorials from PDF format to HTML any current tutorials written that are in PDF format will still be kept in a PDF format.</p>
<p>I would appreciate any questions you may have about me, my website or my tutorials. Without your contributions and regular visits my website is nothing. So please don&#8217;t hesitate to contact me on me@peter-kelly.me</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peter-kelly.com/me/changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial Format</title>
		<link>http://www.peter-kelly.com/me/tutorial-format/</link>
		<comments>http://www.peter-kelly.com/me/tutorial-format/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 15:57:09 +0000</pubDate>
		<dc:creator>Peter Kelly</dc:creator>
				<category><![CDATA[Me]]></category>
		<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Comments]]></category>
		<category><![CDATA[Feedback]]></category>
		<category><![CDATA[Format]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[Poll]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.peter-kelly.me/?p=312</guid>
		<description><![CDATA[After some comments and feedback from visitors I have started a poll located on the right hand side of my website, on what format you would prefer tutorials be written in. Voting is free and there is no need to login. If you have any suggestions please leave a comment on this post. After we]]></description>
			<content:encoded><![CDATA[<p>After some comments and feedback from visitors I have started a poll located on the right hand side of my website, on what format you would prefer tutorials be written in. Voting is free and there is no need to login. If you have any suggestions please leave a comment on this post.</p>
<p>After we have a large selection of voters I will take the result into consideration and convert and write more tutorials in the resulting format. I am always looking to improve so any constructive criticism is always welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peter-kelly.com/me/tutorial-format/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Page Speed &amp; YSlow Rating</title>
		<link>http://www.peter-kelly.com/other/page-speed-yslow-rating/</link>
		<comments>http://www.peter-kelly.com/other/page-speed-yslow-rating/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 07:45:27 +0000</pubDate>
		<dc:creator>Peter Kelly</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[GTMetrix]]></category>
		<category><![CDATA[Optimize]]></category>
		<category><![CDATA[Page Speed]]></category>
		<category><![CDATA[Rank]]></category>
		<category><![CDATA[Yahoo]]></category>
		<category><![CDATA[YSlow]]></category>

		<guid isPermaLink="false">http://www.peter-kelly.me/?p=302</guid>
		<description><![CDATA[With Google changing its page-rank algorithm to incorporate the speed of which web pages load. It is now even more important to bear in mind the speed in which your blog loads in order to keep more visitors returning to your blog. I have recently been trying to speed up loading speeds and tweaking code]]></description>
			<content:encoded><![CDATA[<p>With Google changing its page-rank algorithm to incorporate the speed of which web pages load. It is now even more important to bear in mind the speed in which your blog loads in order to keep more visitors returning to your blog. I have recently been trying to speed up loading speeds and tweaking code within my WordPress blog. After spending a week testing and trialling different plugins and code changes using<a href="http://gtmetrix.com" target="_blank"> GTMetrix.com</a> which checks against Page Speed from Google and YSlow from Yahoo. GTMetrix combines both rating services and allows reports to be saved and optimizing options listed.</p>
<p>After optimizing I have been able to achieve a rating of</p>
<table border="0" align="center">
<tbody>
<td></td>
<td><strong>Default WordPress</strong></td>
<td><strong>Peter-Kelly.me</strong></td>
<td><strong>Google.com</strong></td>
<tr>
<td><strong>Page Rank (Google)</strong></td>
<td>87% (B)</td>
<td>98% (A)</td>
<td>96% (A)</td>
</tr>
<tr>
<td><strong>YSlow (Yahoo)</strong></td>
<td>93% (A)</td>
<td>97% (A)</td>
<td>70% (C)</td>
</tr>
</tbody>
</table>
<p>&nbsp;<br />
The default WordPress is a simple WordPress installation without any plugins, changes of theme or content etc. When comparing between both the WordPress installation and google.com overall I have been able to make significant improvements on the page rank after optimizing. The primary reason for not getting 100% is due to using Google Analytics. Shortly I will be posting with how you too can improve your Page Speed and YSlow.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peter-kelly.com/other/page-speed-yslow-rating/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebDeveloper</title>
		<link>http://www.peter-kelly.com/reviews/webdeveloper/</link>
		<comments>http://www.peter-kelly.com/reviews/webdeveloper/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 19:38:58 +0000</pubDate>
		<dc:creator>Peter Kelly</dc:creator>
				<category><![CDATA[Forums]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Forum]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[WebDeveloper]]></category>

		<guid isPermaLink="false">http://www.peter-kelly.me/?p=294</guid>
		<description><![CDATA[Upon entering WebDeveloper.com one of the first things you notice are the large adverts based at the top of the page. This can be a slight annoyance when your browsing the forum regularly and posting in multiple topics. But when you get past the adverts you can find an active discussion board with over a]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ppeter-kelly.com/wp-content/uploads/2011/02/webdeveloper.png"><img class="alignright size-medium wp-image-299" title="WebDeveloper" src="http://www.peter-kelly.com/wp-content/uploads/2011/02/webdeveloper-76x300.png" alt="" width="76" height="300" /></a>Upon entering WebDeveloper.com one of the first things you notice are the large adverts based at the top of the page. This can be a slight annoyance when your browsing the forum regularly and posting in multiple topics.</p>
<p>But when you get past the adverts you can find an active discussion board with over a million posts and thousands of users many who are regularly active. <a href="http://www.webdeveloper.com" target="_blank">WebDeveloper.com</a> covers a wide range of topics such as Client-Side Development (HTML, XML, CSS, Graphics), Server-Side Development (PHP, Perl/Python/Ruby, ASP, SQL) to Server Management including (Domain Names, Website Reviews and Search engines) along with many more.</p>
<p>The community in WebDeveloper.com are often developers with years of experience and knowledge behind them and help out fellow users on a regular basis. Along with DevNetwork I am also a regular visitor to WebDeveloper and would highly recommend it to anyone interested.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peter-kelly.com/reviews/webdeveloper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pixel2life</title>
		<link>http://www.peter-kelly.com/reviews/pixel2life/</link>
		<comments>http://www.peter-kelly.com/reviews/pixel2life/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 00:10:31 +0000</pubDate>
		<dc:creator>Peter Kelly</dc:creator>
				<category><![CDATA[Extra]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Pixel2life]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.peter-kelly.me/?p=287</guid>
		<description><![CDATA[Pixel2life.com is a online collaboration of thousands of development tutorials, this ranges from website development PHP to tutorials on General Photography. My personal experience with Pixel2life.com has been since 2008 after signing up to submit my first tutorial when I had my old website pk-tuts.co.uk (*Please note pk-tuts.co.uk website has not been touched for many]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.peter-kelly.com/wp-content/uploads/2011/01/pixel2life.png"><img class="alignleft size-medium wp-image-290" title="Pixel2life" src="http://www.peter-kelly.com/wp-content/uploads/2011/01/pixel2life-115x300.png" alt="Pixel2life" width="115" height="300" /></a>Pixel2life.com is a online collaboration of thousands of development tutorials, this ranges from website development PHP to tutorials on General Photography.</p>
<p>My personal experience with <a href="http://www.pixel2life.com" target="_blank">Pixel2life.com</a> has been since 2008 after signing up to submit my first tutorial when I had my old website pk-tuts.co.uk (<span style="font-size: x-small;">*Please note pk-tuts.co.uk website has not been touched for many month and has no regular updates*</span>). Now a days I submit my tutorials posted on this site and keep track of all the latest tutorials people post through a RSS feed into Microsoft Outlook.</p>
<p>Pixel2life.com has thousands and possibly millions of tutorials listed on its website, with a major revamp of its website a couple years ago in which many new features have appeared and a fresh feel to the site in with it brings. Although the revamp of the site brings many new features submitting tutorials can be a slow process as sending in the tutorials taking seconds but can take many months for the tutorial to be listed on its website, due to moderation of tutorials by hand.</p>
<p>Overall I like the Pixel2life.com website with its active community and large selection of tutorials, I hope recent urges to recruit web developers to help with Pixel2life will help speed up features which have been due for many years.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peter-kelly.com/reviews/pixel2life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

