<?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>Carbonized Blog</title>
	<atom:link href="http://carbonize.co.uk/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://carbonize.co.uk/wp</link>
	<description>Just a bunch of stuff</description>
	<lastBuildDate>Tue, 06 Mar 2012 19:25:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Random Character Generation in PHP and JavaScript</title>
		<link>http://carbonize.co.uk/wp/2012/02/08/random-character-generation-in-php/</link>
		<comments>http://carbonize.co.uk/wp/2012/02/08/random-character-generation-in-php/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 16:29:07 +0000</pubDate>
		<dc:creator>Carbonize</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://carbonize.co.uk/wp/?p=486</guid>
		<description><![CDATA[I wrote this function in response to someone else&#8217;s attempt on a forum I was asked to join. It basically generates a string of random letters and numbers with the letters being in both upper and lower case. It is &#8230;<p class="read-more"><a href="http://carbonize.co.uk/wp/2012/02/08/random-character-generation-in-php/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I wrote this function in response to someone else&#8217;s attempt on a forum I was asked to join. It basically generates a string of random letters and numbers with the letters being in both upper and lower case. It is easy to edit it to only use upper or lower case letters or even add symbols as well. I initially wrote it in PHP and then rewrote it in JavaScript as well.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> randomString<span style="color: #009900;">&#40;</span><span style="color: #000088;">$strLen</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">32</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #666666; font-style: italic;">// Create our character arrays</span>
  <span style="color: #000088;">$chrs</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_merge</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">range</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'a'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'z'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">range</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'A'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Z'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">range</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">9</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 
  <span style="color: #666666; font-style: italic;">// Just to make the output even more random</span>
  <span style="color: #990000;">shuffle</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$chrs</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 
  <span style="color: #666666; font-style: italic;">// Create a holder for our string</span>
  <span style="color: #000088;">$randStr</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
 
  <span style="color: #666666; font-style: italic;">// Now loop through the desired number of characters for our string</span>
  <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">&lt;</span><span style="color: #000088;">$strLen</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$randStr</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$chrs</span><span style="color: #009900;">&#91;</span><span style="color: #990000;">mt_rand</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$chrs</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #b1b100;">return</span> <span style="color: #000088;">$randStr</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Using it is simply a case of calling it and specifying how long to make the string otherwise it uses the default length of 32 characters.</p>
<p>echo randomString(12);</p>
<p>To also make it use symbols you just change the array_merge to<br />
<span id="more-486"></span><br />
<code><br />
// If we want letters, numbers and symbols<br />
$chrs = array_merge(range('a', 'z'), range('A', 'Z'), range(0, 9), array('!','£','$','%','^','&#038;','*','(',')','-','=','+','@','#','~','?'));<br />
</code></p>
<p>Now for the JavaScript version. JavaScript has neither a range() function nor an easy way to shuffle an array so the code here is a little longer.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> randomString<span style="color: #009900;">&#40;</span>len<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #006600; font-style: italic;">// Just an array of the characters we want in our random string</span>
  <span style="color: #003366; font-weight: bold;">var</span> chrs <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'a'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'b'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'c'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'d'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'e'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'f'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'g'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'h'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'i'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'j'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'k'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'l'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'m'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'n'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'o'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'p'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'q'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'r'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'s'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'t'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'u'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'v'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'w'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'x'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'y'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'z'</span><span style="color: #339933;">,</span>
              <span style="color: #3366CC;">'A'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'B'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'C'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'D'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'E'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'F'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'G'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'H'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'I'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'J'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'K'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'L'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'M'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'N'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'O'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'P'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'Q'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'R'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'S'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'T'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'U'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'V'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'W'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'X'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'Y'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'Z'</span><span style="color: #339933;">,</span>
              <span style="color: #3366CC;">'0'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'1'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'2'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'3'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'4'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'5'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'6'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'7'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'8'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'9'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #006600; font-style: italic;">// Check that a length has been supplied and if not default to 32</span>
  len <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>isNaN<span style="color: #009900;">&#40;</span>len<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> <span style="color: #CC0000;">32</span> <span style="color: #339933;">:</span> len<span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #006600; font-style: italic;">// The following section shuffles the array just to further randomise the output</span>
  <span style="color: #003366; font-weight: bold;">var</span> tmp<span style="color: #339933;">,</span> current<span style="color: #339933;">,</span> top <span style="color: #339933;">=</span> chrs.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> 
  <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>top<span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000066; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">--</span>top<span style="color: #009900;">&#41;</span> 
    <span style="color: #009900;">&#123;</span> 
      current <span style="color: #339933;">=</span> Math.<span style="color: #660066;">floor</span><span style="color: #009900;">&#40;</span>Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>top <span style="color: #339933;">+</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
      tmp <span style="color: #339933;">=</span> chrs<span style="color: #009900;">&#91;</span>current<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> 
      chrs<span style="color: #009900;">&#91;</span>current<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> chrs<span style="color: #009900;">&#91;</span>top<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> 
      chrs<span style="color: #009900;">&#91;</span>top<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> tmp<span style="color: #339933;">;</span> 
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #006600; font-style: italic;">// Just a holder for our random string</span>
  <span style="color: #003366; font-weight: bold;">var</span> randomStr <span style="color: #339933;">=</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #006600; font-style: italic;">// Loop through the required number of characters grabbing one at random from the array each time</span>
  <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>len<span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> 
  <span style="color: #009900;">&#123;</span>
    randomStr <span style="color: #339933;">=</span> randomStr <span style="color: #339933;">+</span> chrs<span style="color: #009900;">&#91;</span>Math.<span style="color: #660066;">floor</span><span style="color: #009900;">&#40;</span>Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>chrs.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #006600; font-style: italic;">// Return our random string</span>
  <span style="color: #000066; font-weight: bold;">return</span> randomStr<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://carbonize.co.uk/wp/2012/02/08/random-character-generation-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 10 Aurora Add On Compatibility</title>
		<link>http://carbonize.co.uk/wp/2011/11/10/firefox-10-aurora-add-on-compatibility/</link>
		<comments>http://carbonize.co.uk/wp/2011/11/10/firefox-10-aurora-add-on-compatibility/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 10:16:05 +0000</pubDate>
		<dc:creator>Carbonize</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[web browsers]]></category>

		<guid isPermaLink="false">http://carbonize.co.uk/wp/?p=481</guid>
		<description><![CDATA[So Firefox 8 has been released meaning Firefox 9 is now in beta and Firefox 10 is now on the Aurora channel. Trouble is, even if you are using compatibility reporter from the add ons site, most of your add &#8230;<p class="read-more"><a href="http://carbonize.co.uk/wp/2011/11/10/firefox-10-aurora-add-on-compatibility/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>So Firefox 8 has been released meaning Firefox 9 is now in beta and Firefox 10 is now on the Aurora channel. Trouble is, even if you are using compatibility reporter from the add ons site, most of your add ons will now be disabled. This is because compatibility reporter only supported up to Firefox 9. Anyway the fix is simple.</p>
<ol>
<li>Open a new tab</li>
<li>Type about:config in the url bar and press enter</li>
<li>Click the <strong>I&#8217;ll be careful, I promise!</strong> button</li>
<li>Right click anywhere on the list that appears and select Ne<span style="text-decoration: underline;">w</span> then <span style="text-decoration: underline;">B</span>oolean.</li>
<li>For the preference name put <strong>extensions.checkCompatibility.10.0a</strong> and click OK</li>
<li>Now select false and click OK</li>
<li>Now do the same again but this time name it <strong>extensions.checkCompatibility.10.0</strong></li>
<li>Again set it to false.</li>
</ol>
<p>Now close Firefox and when you restart all your extensions should be working again.</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonize.co.uk/wp/2011/11/10/firefox-10-aurora-add-on-compatibility/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Sending email via SMTP using PHP</title>
		<link>http://carbonize.co.uk/wp/2011/10/24/sending-email-via-smtp-using-php/</link>
		<comments>http://carbonize.co.uk/wp/2011/10/24/sending-email-via-smtp-using-php/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 11:08:51 +0000</pubDate>
		<dc:creator>Carbonize</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://carbonize.co.uk/wp/?p=472</guid>
		<description><![CDATA[A couple of my users contacted me to say that their host had disabled sendmail and required any scripts they use to now use SMTP to send emails. This resulted in me quickly reading all I could about SMTP and &#8230;<p class="read-more"><a href="http://carbonize.co.uk/wp/2011/10/24/sending-email-via-smtp-using-php/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>A couple of my users contacted me to say that their host had disabled sendmail and required any scripts they use to now use SMTP to send emails. This resulted in me quickly reading all I could about SMTP and the result is this slightly rough script I am sharing. It&#8217;s pretty self explanatory. Put your SMTP server details in the $mailCfg array. Next simply call the smtpMail function which uses the same variables as the standard PHP mail() function but with two additional variables. The additional variables are the email address we are sending from and $mailCfg. I could of put $mailCfg as a global but this way you can include the script in a different script and store the required information where ever you want. The from address is important as most SMTP servers will reject the message if it&#8217;s not included.</p>
<p>Just remember the code is far from perfect and was created to do a simple job.</p>
<p>It also has one nice extra function you might find useful&#8230; <span id="more-472"></span></p>
<p>The directMail function will look up the recipients SMTP server and try to deliver the email directly to it thereby bypassing the need for you to have access to an SMTP server to send through. Just remember your host may frown upon the use of this function.</p>
<p>[sourcecode language='php']<?php<br />
/*<br />
 * SMTP Email Sending<br />
 * By Stewart Souter<br />
 * Date Created: Thurs, 11 August 2011 17:15:37 GMT<br />
 * Last Updated: Fri, 19 August 2011 10:54:35 GMT<br />
 * email: webmaster@carbonize.co.uk<br />
 *<br />
 * By using this script you are agreeing to leave this<br />
 * comment and agreement in place and untouched. If you<br />
 * use any part of this code you must make it clear where<br />
 * it came from and give credit where it is due.<br />
 */</p>
<p>$mailCfg['Server']    = '';    // Servername<br />
$mailCfg['User']      = '';    // SMTP username if needed<br />
$mailCfg['Pass']      = '';    // SMTP Password if needed<br />
$mailCfg['Port']      = 25;    // SMTP server port. 25 is the usual and 465 if using SSL<br />
$mailCfg['popServer'] = '';    // Name of the pop server. Leave empty if POP Auth not required<br />
$mailCfg['popPort']   = 110;   // Port for the pop server. 110 is the usual and 995 if using SSL<br />
$mailCfg['SSL']       = 0;     // Does your SMTP server need you to use SSL or TLS? 0 = no, 1 = SSL, 2 = TLS</p>
<p>// This function delivers the email directly to the recipients mail server so bypassing the need for your own<br />
function directMail($mailTo, $mailSubject, $mailMsg, $mailHeaders = '', $mailFrom = '', $mailCfg)<br />
{<br />
  if(empty($mailFrom))<br />
  {<br />
    return false; // No from address == no sending<br />
  }<br />
  $mailParts = explode('@', $mailTo);  // Seperate the parts of the email address<br />
  @getmxrr($mailParts[1], $mxHosts, $mxWeight); // Get the MX records for the emails domain<br />
  for($i=0;$i<count($mxHosts);$i++) // Put the records and weights into an array<br />
  {<br />
      $mxServers[$mxHosts[$i]] = $mxWeight[$i];<br />
  }<br />
  asort($mxServers); // Sort the array so they are in weighted order<br />
  foreach($mxServers as $key => $value)<br />
  {<br />
    $mailCfg['Server'] = $key; // Set the SMTP server to the current MX record<br />
    if(smtpMail($mailTo, $mailSubject, $mailMsg, $mailHeaders, $mailFrom, $mailCfg)) // Send the email using the MX server<br />
    {<br />
      return true;  // The email was successfully sent<br />
    }<br />
  }<br />
  return false;  // Houston we have a problem<br />
}</p>
<p>// This function connects to the SMTP server and does the AUTH if needed. Can also do a POP login if server requires that.<br />
function smtpMail($mailTo, $mailSubject, $mailMsg, $mailHeaders = &#8221;, $mailFrom = &#8221;, $mailCfg )<br />
{<br />
  if(empty($mailFrom))<br />
  {<br />
    return false; // No from address == no sending<br />
  }<br />
  $timeout = &#8217;30&#8242;; // How long to keep trying to connect<br />
  $localhost = &#8216;localhost&#8217;; // How to identify ourselves<br />
  $logArray = array(); // For storing the replies</p>
<p>  /* * * * POP Login if required * * */ </p>
<p>  if(!empty($mailCfg['popServer'])) // Can&#8217;t really do POP Auth without a server<br />
  {<br />
    $ssl = ($mailCfg['SSL'] != 0) ? (($mailCfg['SSL'] == 1) ? &#8216;ssl://&#8217; : &#8216;tls://&#8217;) : &#8221;; // If SSL or TLS add it<br />
    $popConnect = @fsockopen($ssl.$mailCfg['popServer'], $mailCfg['popPort'], $errno, $errstr, $timeout); // Connect<br />
    if(!$popConnect) // If we fail to connect&#8230;<br />
    {<br />
      $logArray['POPconnect'] = $errstr . &#8216;(&#8216; . $errno . &#8216;)&#8217;; // Log the given reason&#8230;<br />
      logMailError($logArray); // And output to the log file.<br />
      return false;<br />
    }<br />
    else<br />
    {<br />
      $logArray['POPconnect'] = @fgets($popConnect, 515)); // POP servers only return single line replies. Or should.<br />
      if(!mailPackets(&#8216;AUTH LOGIN&#8217;, $popConnect, &#8216;SMTPauth&#8217;)) //Request Auth Login<br />
      {<br />
        return false;<br />
      }<br />
      if(!mailPackets(&#8216;USER &#8216; . $smtpUser, $popConnect, &#8216;POPuser&#8217;)) // Send username. POP is plaintext<br />
      {<br />
        return false;<br />
      }<br />
      if(!mailPackets(&#8216;PASS &#8216; . $smtpPass, $popConnect, &#8216;POPpass&#8217;)) // Send password, again in plaintext<br />
      {<br />
        return false;<br />
      }<br />
      if(!mailPackets(&#8216;QUIT&#8217;, $popConnect, &#8216;POPquit&#8217;)) // Say bye to the server<br />
      {<br />
        return false;<br />
      }<br />
      fclose($popConnect); // Close connection<br />
    }<br />
  }</p>
<p>  /* * * * End of POP Login * * * * */</p>
<p>  /* * * * Start of SMTP stuff * * * */</p>
<p>  $ssl = ($mailCfg['SSL'] != 0) ? (($mailCfg['SSL'] == 1) ? &#8216;ssl://&#8217; : &#8216;tls://&#8217;) : &#8221;; // Set the encryption if needed<br />
  $smtpConnect = @fsockopen($ssl.$mailCfg['Server'], $mailCfg['Port'], $errno, $errstr, $timeout); // Connect<br />
  if(!$smtpConnect) // If we fail to connect&#8230;<br />
  {<br />
    $logArray['SMTPconnect'] = $errstr . &#8216;(&#8216; . $errno . &#8216;)&#8217;; // Add the reason to the log&#8230;<br />
    logMailError($logArray); // Then output the log<br />
    return false;<br />
  }<br />
  else<br />
  {<br />
    $cnectKey = 0; // A counter for when we receive multiple lines in reply<br />
    do<br />
    {<br />
      $smtpResponse = @fgets($smtpConnect, 515); // Get the reply<br />
      $cnectKey++; // Increment the counter<br />
      $logArray['SMTPconnect' . $cnectKey] = $smtpResponse; // Log the response<br />
      $responseCode = substr($smtpResponse, 0, 3); // Grab the response code from start of the response<br />
      // If we get an error terminate the connection and log the results so far<br />
      if($responseCode >= 400)<br />
      {<br />
        logMailError($logArray, $smtpConnect);<br />
        return false;<br />
      }<br />
    }<br />
    while((strlen($smtpResponse) > 3) &#038;&#038; (strpos($smtpResponse, &#8216; &#8216;) != 3)); // Loop until we get told it&#8217;s the last line<br />
      $ehlo = mailPackets(&#8216;EHLO &#8216; . $localhost, $smtpConnect, $logArray, &#8216;SMTPehlo&#8217;); // Let&#8217;s try using EHLO first<br />
      if($ehlo != 250) // Server said it didn&#8217;t like EHLO so drop back to HELO<br />
      {<br />
        if(!mailPackets(&#8216;HELO &#8216; . $localhost, $smtpConnect, $logArray, &#8216;SMTPhelo&#8217;)) // Send HELO. No EHLO means server doesn&#8217;t support AUTH<br />
        {<br />
          return false;<br />
        }<br />
      }<br />
      if(!empty($mailCfg['User']) &#038;&#038; ($ehlo == 250)) // We have a username and server supports EHLO so send login credentials<br />
      {<br />
        if(!mailPackets(&#8216;AUTH LOGIN&#8217;, $smtpConnect, $logArray, &#8216;SMTPauth&#8217;)) // Request Auth Login<br />
        {<br />
          return false;<br />
        }<br />
        if(!mailPackets(base64_encode($mailCfg['User']), $smtpConnect, $logArray, &#8216;SMTPuser&#8217;)) // Send username<br />
        {<br />
          return false;<br />
        }<br />
        if(!mailPackets(base64_encode($mailCfg['Pass']), $smtpConnect, $logArray, &#8216;SMTPpass&#8217;)) // Send password<br />
        {<br />
          return false;<br />
        }<br />
      }<br />
      if(!mailPackets(&#8216;MAIL FROM:<' . $mailFrom . '>&#8216;, $smtpConnect, $logArray, &#8216;SMTPfrom&#8217;)) // Email From<br />
      {<br />
        return false;<br />
      }<br />
      if(!mailPackets(&#8216;RCPT TO:<' . $mailTo . '>&#8216;, $smtpConnect, $logArray, &#8216;SMTPrcpt&#8217;)) // Email To<br />
      {<br />
        return false;<br />
      }<br />
      if(!mailPackets(&#8216;DATA&#8217;, $smtpConnect, $logArray, &#8216;SMTPmsg&#8217;)) // We are about to send the message<br />
      {<br />
        return false;<br />
      }<br />
      // First lets make sure both the message and additional headers do not contain anythign that might be seen as end of message marker<br />
      $mailMsg = preg_replace(array(&#8220;/(?<!\r)\n/", "/\r(?!\n)/", "/\r\n\./"), array("\r\n", "\r\n", "\r\n.."), $mailMsg);<br />
      $mailHeaders = (!empty($mailHeaders)) ? "\r\n" . preg_replace(array("/(?<!\r)\n/", "/\r(?!\n)/", "/\r\n\./"), array("\r\n", "\r\n", "\r\n.."), $mailHeaders) : '';<br />
      // Create the default headers, attach any additonal headers<br />
      $mailHeaders = "To: <".$mailCfg['To'].">\r\nFrom: <".$mailCfg['From'].">\r\nSubject: &#8220;.$mailCfg['Subject'].&#8221;\r\nDate: &#8221; . gmdate(&#8216;D, d M Y H:i:s&#8217;) . &#8221; -0000&#8243;.$mailHeaders;<br />
      if(!mailPackets($mailHeaders.&#8221;\r\n\r\n&#8221;.$mailMsg.&#8221;\r\n.&#8221;, $smtpConnect, $logArray, &#8216;SMTPbody&#8217;)) // The message<br />
      {<br />
        return false;<br />
      }<br />
      mailPackets(&#8216;QUIT&#8217;, $smtpConnect, $logArray, &#8216;SMTPquit&#8217;); // Say Bye to SMTP server<br />
      fclose($smtpConnect); // Be nice and close the connection<br />
      return true; // Return the fact we sent the message<br />
  }<br />
}</p>
<p>// This function sends the actual packets then logs the reponses and parses the reponse code<br />
function mailPackets($sendStr,$mailConnect,&#038;$logArray,$logName = &#8221;)<br />
{<br />
  $newLine = &#8220;\r\n&#8221;; // LEAVE THIS ALONE<br />
  $keyCount = 0;  // Just an incremental counter for when we get more than a single line response<br />
  @fputs($mailConnect,$sendStr . $newLine); // Send the packet<br />
  do // Start grabbing the responses until we either get a terminal error or told we are at the end<br />
  {<br />
    $mailResponse = @fgets($mailConnect, 515); // Receive the response<br />
    $keyCount++; // Incrememnt the key count<br />
    $logArray[$logName . $keyCount] = $mailResponse; // Put the response in to the log array<br />
    $responseCode = substr($smtpResponse, 0, 3); // Grab the response code from start of the response<br />
    // Check for error codes except on ehlo, auth, and user details as they are not always fatal<br />
    if((($logName != &#8216;SMTPauth&#8217;) &#038;&#038; ($logName != &#8216;SMTPuser&#8217;) &#038;&#038; ($logName != &#8216;SMTPehlo&#8217;) &#038;&#038; ($logName != &#8216;SMTPpass&#8217;)) &#038;&#038; ($responseCode >= 400))<br />
    {<br />
       logMailError($logArray,$mailConnect);<br />
       return false;<br />
    }<br />
    elseif((substr($responseCode, 0, 1) == 4) || ($responseCode >= 521) &#038;&#038; ($logName != &#8216;SMTPehlo&#8217;))<br />
    {<br />
       logMailError($logArray,$mailConnect);<br />
       return false;<br />
    }<br />
  }<br />
  while((strlen($mailResponse) > 3) &#038;&#038; (strpos($mailResponse, &#8216; &#8216;) != 3)); // Loop until we get the end response<br />
  return $responseCode; // Return the response code<br />
}</p>
<p>function logMailError(&#038;$logArray, $mailServer = false)<br />
{<br />
  if($mailServer)<br />
  {<br />
    fclose($mailServer); // Be nice and close the connection<br />
  }<br />
  $fd = @fopen (&#8216;smtplog.txt&#8217;, &#8216;a&#8217;); // open the log file<br />
  $mailResults = print_r($logArray, true); // Create a nice printable version of logArray<br />
  @fwrite($fd,$mailResults); // Write the log<br />
  @fclose ($fd); // Close the file<br />
}</p>
<p>?>[/sourcecode]</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonize.co.uk/wp/2011/10/24/sending-email-via-smtp-using-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zuma Blitz on IE9</title>
		<link>http://carbonize.co.uk/wp/2011/05/17/zuma-blitz-on-ie9/</link>
		<comments>http://carbonize.co.uk/wp/2011/05/17/zuma-blitz-on-ie9/#comments</comments>
		<pubDate>Tue, 17 May 2011 15:43:08 +0000</pubDate>
		<dc:creator>Carbonize</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[web browsers]]></category>

		<guid isPermaLink="false">http://carbonize.co.uk/wp/?p=449</guid>
		<description><![CDATA[OK I&#8217;ve noticed a few people a searching for information about Zuma Blitz on IE9. I did notice this issue myself when I first tried IE9. The main problem is the hardware acceleration that comes turned on by default in &#8230;<p class="read-more"><a href="http://carbonize.co.uk/wp/2011/05/17/zuma-blitz-on-ie9/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>OK I&#8217;ve noticed a few people a searching for information about Zuma Blitz on IE9. I did notice this issue myself when I first tried IE9. The main problem is the hardware acceleration that comes turned on by default in IE9 which results in Zuma, and anything else Flash intensive, being really jerky and laggy unless you are on a pretty powerful computer. This is because both Flash and the web browser are using hardware acceleration and competing for your graphic cards processor. This also applies to Firefox 4. Anyway you can try to improve things by disabling the hardware acceleration in either the browser or in Flash.</p>
<p>To disable it in the browser go to Internet options by either clicking the gear cog on the right hand side of IE9s toolbar or go to your control panel. Once open click on the Advanced tab. The very first option is <strong>Use software rendering instead of GPU rendering*</strong> so tick that. You will then have to restart IE9. Hopefully Zuma Blitz will be a bit more tolerable now.</p>
<p>To disable it in Flash simply go to a web page that has Flash in it and right click on the flash. From the menu that appears select Settings&#8230; and then deselect the Enable hardware acceleration option.</p>
<p>So first try disabling one. If that doesn&#8217;t work re-enable the one you disabled and disable the other one. If it&#8217;s still jerky try disabling them both.</p>
<p>If all else fails you can always just uninstall IE9 and go back to IE8 or try one of the other browsers such as Firefox, Chrome or Opera.</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonize.co.uk/wp/2011/05/17/zuma-blitz-on-ie9/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Play MKV on Xbox 360</title>
		<link>http://carbonize.co.uk/wp/2011/05/14/play-mkv-on-xbox-360/</link>
		<comments>http://carbonize.co.uk/wp/2011/05/14/play-mkv-on-xbox-360/#comments</comments>
		<pubDate>Sat, 14 May 2011 10:51:56 +0000</pubDate>
		<dc:creator>Carbonize</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[free]]></category>

		<guid isPermaLink="false">http://carbonize.co.uk/wp/?p=440</guid>
		<description><![CDATA[OK so I downloaded the first two episodes of Pioneer One which is a free to download mini series made for VoDo, which is a free video site. Unfortunately, like a lot of high definition (HD) video, it came in &#8230;<p class="read-more"><a href="http://carbonize.co.uk/wp/2011/05/14/play-mkv-on-xbox-360/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>OK so I downloaded the first two episodes of <a  title="Pioneer One" href="http://www.pioneerone.tv/" target="_blank">Pioneer One</a> which is a free to download mini series made for <a  title="Free movies" href="http://vodo.net" target="_blank">VoDo, which is a free video site</a>. Unfortunately, like a lot of high definition (HD) video, it came in the MKV format which, unfortunately, the Xbox 360 does not support. Now the first thing you need to understand is that the video format is just a container. The actual video and audio inside the container can be exactly the same in a different container. Orange juice is still orange juice whether it&#8217;s in a glass or a cup. Anyway what we need to do is take the audio and video out of the MKV container and put it in to a container that the 360 can play such as mp4. I did a search for instructions on how to do this by searching for play MKV on Xbox 360 but <a  title="Long way to convert" href="http://www.afterdawn.com/guides/archive/how_to_play_mkv_content_on_xbox_360.cfm" target="_blank">the one I found</a> required about 10 different programs. Admittedly the instructions on that page are from 2008. Mine is a lot simpler and requires just a single, portable, program called <a  title="Xmedia Recode" href="http://www.xmedia-recode.de/download.html" target="_blank">XMedia Recode</a>. The site is in German but just click Download under where it says XMedia Recode Portable. Extract the contents of the zip file and run XMedia Recode.</p>
<p><span id="more-440"></span></p>
<div id="attachment_441" class="wp-caption aligncenter" style="width: 160px"><a  href="http://carbonize.co.uk/wp/wp-content/uploads/2011/05/Xmedia-recode.jpg" class="thickbox no_icon" rel="gallery-440" title="Xmedia recode"><img class="size-thumbnail wp-image-441 " title="Xmedia recode" src="http://carbonize.co.uk/wp/wp-content/uploads/2011/05/Xmedia-recode-150x150.jpg" alt="" width="150" height="150" /></a><p class="wp-caption-text">XMedia Recode</p></div>
<ol>
<li>Drag the video file you want to convert over on to the XMedia Recode window and wait for it to finish checking it</li>
<li>Click on the video in the list near the top of the XMedia Recode window</li>
<li>Click the Format tab and change Profile to Custom, Format to MP4 and File Extension to mp4</li>
<li>Click the Video tab and tick the Video Copy box at the bottom of the options</li>
<li>Click the Audio tab and under Modus select Copy. If your file has multiple audio streams you can choose to remove some at this point.</li>
<li>At the bottom, under Output, change it to Source Path so the mp4 version appears in same folder as the original (optional)</li>
<li>Click Add Job at the top</li>
<li>Click Encode</li>
</ol>
<p>If you want to do more than one file simply repeat steps 1 &#8211; 7 before clicking Encode. So now you now how simple it is to get MKV to play on Xbox 360.</p>
<p>Just a minor update. I forgot that the Xbox does not like 5.1 audio so if your original file is using 5.1 audio you will have to convert to stereo. If you do you need to do this then simply setting the Modus under Audio to convert instead of copy should work just fine as the default is stereo.</p>
<p><del datetime="2011-10-05T07:06:49+00:00"><strong style="color:#D00;">Warning!</strong> &#8211; The latest version of Xmedia recode, 3.0.3.0, has a bug where selecting Video copy will result in an empty file being created. I have informed them of this bug.</del> Appears to have been fixed in version 3.0.3.4.</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonize.co.uk/wp/2011/05/14/play-mkv-on-xbox-360/feed/</wfw:commentRss>
		<slash:comments>90</slash:comments>
		</item>
		<item>
		<title>Internet Explorer 9</title>
		<link>http://carbonize.co.uk/wp/2011/03/16/internet-explorer-9/</link>
		<comments>http://carbonize.co.uk/wp/2011/03/16/internet-explorer-9/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 04:36:07 +0000</pubDate>
		<dc:creator>Carbonize</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[web browsers]]></category>

		<guid isPermaLink="false">http://carbonize.co.uk/wp/?p=436</guid>
		<description><![CDATA[So Microsoft has finally unleashed Internet Explorer 9 on the world. It comes with a faster JavaScript engine that can actually compete with the likes of Chrome and Firefox 4. It is also the first released browser to have hardware &#8230;<p class="read-more"><a href="http://carbonize.co.uk/wp/2011/03/16/internet-explorer-9/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>So Microsoft has finally unleashed Internet Explorer 9 on the world. It comes with a faster JavaScript engine that can actually compete with the likes of Chrome and Firefox 4. It is also the first released browser to have hardware acceleration. Firefox, Chrome and Opera also have browsers with this but they are still either in alpha, beta or release candidate. It also has HTML 5 and CSS 3. Brand new user interface as well that I think will get a lot of complaints from the usual &#8220;we don&#8217;t like change&#8221; people.</p>
<p>Now on to the downsides.</p>
<p>Their video tag will only play .h264 files. Originally the specifications stated that the video tag would use the open source OGG codec but then Apple complained and so any codec could be used. Not that the fact both Apple and Microsoft own parts of the .h264 licences or anything. Now Google has purchased a company that was working on a new codec called WebM and has made it freely available with Firefox already supporting it as well as Chrome. Microsoft say they refuse to support WebM until Google can guarantee there will be no patent claims against WebM in the future. This is typical MS hypocrisy since their own licence for letting you use .h264 clearly states they offer no such guarantee themselves.</p>
<p>No support for the text-shadow CSS despite the fact Internet Explorer has offered text shadow as one of it&#8217;s filters since IE5.5.</p>
<p>Flash can be very laggy. My current favourite game, Zuma Blitz, is damn near impossible to play due to it being so jerky. This is possibly down to the hardware acceleration as Firefox 4 also suffers from this.</p>
<p>&nbsp;</p>
<p>Still I think for most people who only use IE this will be a major breath of fresh air.</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonize.co.uk/wp/2011/03/16/internet-explorer-9/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Do One Hundred Push ups</title>
		<link>http://carbonize.co.uk/wp/2010/09/05/do-one-hundred-push-ups/</link>
		<comments>http://carbonize.co.uk/wp/2010/09/05/do-one-hundred-push-ups/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 19:22:44 +0000</pubDate>
		<dc:creator>Carbonize</dc:creator>
				<category><![CDATA[Exercise]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[fitness]]></category>
		<category><![CDATA[leisure time]]></category>

		<guid isPermaLink="false">http://carbonize.co.uk/wp/?p=429</guid>
		<description><![CDATA[We all need goals to aim for and I&#8217;ve found a new one for me. To do 100 push ups (press ups to us Brits). I was inspired by the website Hundred Push Ups which breaks it down in to &#8230;<p class="read-more"><a href="http://carbonize.co.uk/wp/2010/09/05/do-one-hundred-push-ups/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>We all need goals to aim for and I&#8217;ve found a new one for me. To do 100 push ups (press ups to us Brits). I was inspired by the website <a  title="One Hundred Push Ups" href="http://hundredpushups.com" target="_blank">Hundred Push Ups</a> which breaks it down in to sets. It&#8217;s five sets per workout, three work outs a week and it&#8217;s set over six weeks. They also have an online log for you to keep track of your progress as well as publish it on Facebook and Twitter if you wish.</p>
<p>They also have <a  title="Two Hundred Sit Ups" href="http://www.twohundredsitups.com" target="_blank">Two Hundred Sit Ups</a>, <a  title="Two Hundred Squats" href="http://www.twohundredsquats.com" target="_blank">Two Hundred Squats</a> and <a  title="Fifty Pull Ups" href="http://www.fiftypullups.com" target="_blank">Fifty Pull Ups</a> if push ups aren&#8217;t your thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonize.co.uk/wp/2010/09/05/do-one-hundred-push-ups/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Trillian 5 beta</title>
		<link>http://carbonize.co.uk/wp/2010/08/03/trillian-5-beta/</link>
		<comments>http://carbonize.co.uk/wp/2010/08/03/trillian-5-beta/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 20:03:45 +0000</pubDate>
		<dc:creator>Carbonize</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://carbonize.co.uk/wp/2010/08/03/trillian-5-beta/</guid>
		<description><![CDATA[Cerulean Studios have just made a beta version of Trillian 5 available for the public to download. I have to say that after the ugly mess that was Trillian Astra it&#8217;s a relief to see the new clean interface. Because &#8230;<p class="read-more"><a href="http://carbonize.co.uk/wp/2010/08/03/trillian-5-beta/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><a  rel="lightbox" href="http://carbonize.co.uk/wp/wp-content/uploads/2010/08/Trillian_5_Beta.png" class="thickbox no_icon" title=""><img style="width: 71px; float: left; height: 100px;margin-right:5px;" src="http://carbonize.co.uk/wp/wp-content/uploads/2010/08/zrtn_004p65498e39_tn.jpg" alt="" width="71" height="100" /></a>Cerulean Studios have just made a beta version of Trillian 5 available for the public to download. I have to say that after the ugly mess that was Trillian Astra it&#8217;s a relief to see the new clean interface. Because they&#8217;ve been doing this for ten years you know that the messenger protocols they use are the latest versions and their code is stable.</p>
<p>They have seriously improved how they handle newfeeds such as Facebook and Twitter now giving them their own tray icons if you wish as well as their own windows. It also has a very small memory footprint and usually uses around 10MB. It&#8217;s email handling has also been improved but it still lacks <a  href="http://kvors.com/click/?s=104901&#038;c=117852" target="_blank">Digsby&#8217;s</a> ability to delete emails from Yahoo, Hotmail etc as I only seem able to delete emails sent to my Gmail account.</p>
<p>You can get more information as well as see screenshots and download the beta it&#8217;s self from <a  href="http://www.trillian.im/learn/tour-trillian5.html">http://www.trillian.im/learn/tour-trillian5.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://carbonize.co.uk/wp/2010/08/03/trillian-5-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Great Google Chrome Con</title>
		<link>http://carbonize.co.uk/wp/2010/05/15/the-great-google-chrome-con/</link>
		<comments>http://carbonize.co.uk/wp/2010/05/15/the-great-google-chrome-con/#comments</comments>
		<pubDate>Sat, 15 May 2010 16:46:29 +0000</pubDate>
		<dc:creator>Carbonize</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://carbonize.co.uk/wp/?p=405</guid>
		<description><![CDATA[Google Chrome is now at version 5 despite being only four years old. Version 6 is in beta. Before I began my rant I just need to explain how the versioning of programs usually works. The first number is the &#8230;<p class="read-more"><a href="http://carbonize.co.uk/wp/2010/05/15/the-great-google-chrome-con/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Google Chrome is now at version 5 despite being only four years old. Version 6 is in beta. Before I began my rant I just need to explain how the versioning of programs usually works. The first number is the major build number should only change when there have been major changes to the program. The smaller numbers are there to indicate smaller changes such as security and bug fixes. Since it&#8217;s release Chrome, as far as I can see, has only had two major changes to it and they are the addition of themes and extensions.</p>
<p>Firefox has been around about eight years and is only at version 3.5. Opera has been around over ten years and is only at version 10.50. With both of these browser they have only changed the major build number when they have made major changes to their browser.</p>
<p>So why is Google increasing Chrome&#8217;s build number more often that it has birthdays? Well others believe this is Google&#8217;s attempt at making the gullible believe that Chrome is a more mature program than it actually is. The less computer savvy are going to look at it and think, &#8220;Oh it&#8217;s on version 5 so must have been around a long time&#8221;. I tend to agree with their opinion as there is no other reason for Google to be doing this.</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonize.co.uk/wp/2010/05/15/the-great-google-chrome-con/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Stupid Items For Sale</title>
		<link>http://carbonize.co.uk/wp/2010/04/28/stupid-items-for-sale/</link>
		<comments>http://carbonize.co.uk/wp/2010/04/28/stupid-items-for-sale/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 20:59:05 +0000</pubDate>
		<dc:creator>Carbonize</dc:creator>
				<category><![CDATA[ebooks]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://carbonize.co.uk/wp/?p=401</guid>
		<description><![CDATA[I just noticed an advert in the adsense I use on my site that is offering 12,000+ ebooks on a DVD for £14.95. So I thought I&#8217;d take a look at the site. The image they use to show the &#8230;<p class="read-more"><a href="http://carbonize.co.uk/wp/2010/04/28/stupid-items-for-sale/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I just noticed an advert in the adsense I use on my site that is offering 12,000+ ebooks on a DVD for £14.95. So I thought I&#8217;d take a look at the site. The image they use to show the DVD you are buying is obviously just a <a  href="http://www.lightscribe.co.uk/" target="_blank">Lightscribe</a> DVD they have burnt the books on to. A quick look at the ebooks they are charging you £14.95 shows that they are all in fact ebooks that are available to download for free anyway from sites such as <a  href="http://www.gutenberg.org" target="_blank">Project Gutenberg</a>. So apart from about £1 they paid for the blank DVD and then about £0.50 it would cost them to post it that&#8217;s about £13 profit in their pocket because of gullible people. A search on Ebay shows me that they are also trying to sell the same DVD on there as well.</p>
<p>If you want <a  href="http://carbonize.co.uk/wp/2010/04/14/free-ebooks/" target="_blank">free ebooks</a> then check out my previous post which contains links to sites offering both classic and new works for you to download for free.</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonize.co.uk/wp/2010/04/28/stupid-items-for-sale/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.318 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-21 21:18:21 -->
<!-- Compression = gzip -->
