<?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>GoSquared - Blog &#187; Help Sheets</title>
	<atom:link href="http://www.gosquared.com/liquidicity/archives/category/helpsheets/feed" rel="self" type="application/rss+xml" />
	<link>http://www.gosquared.com/liquidicity</link>
	<description>The blog on design and technology by GoSquared</description>
	<lastBuildDate>Fri, 03 Feb 2012 14:17:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Panic Over! Node.JS Help Sheet is here.</title>
		<link>http://www.gosquared.com/liquidicity/archives/1930</link>
		<comments>http://www.gosquared.com/liquidicity/archives/1930#comments</comments>
		<pubDate>Wed, 18 May 2011 15:20:09 +0000</pubDate>
		<dc:creator>James Gill</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Help Sheets]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Cheat Sheet]]></category>
		<category><![CDATA[Cheatsheet]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Help Sheet]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Node]]></category>
		<category><![CDATA[NodeJS]]></category>
		<category><![CDATA[Real-Time]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.gosquared.com/liquidicity/?p=1930</guid>
		<description><![CDATA[What&#8217;s this? A new GoSquared Help Sheet? Hell yeah! We&#8217;re pleased to bring you a brand new GoSquared Help Sheet for your Node.JS needs. What&#8217;s Node.JS? If you&#8217;ve read this far, you probably already know, but for those intrigued, Node.JS is an evented I/O framework for the V8 JavaScript engine. It&#8217;s ideal for writing scalable [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.gosquared.com/images/liquidicity/11_05_18_nodehelpsheet_790x400.jpg" alt="Node.JS Help Sheet from GoSquared" width="790"/></p>
<p>What&#8217;s this? A new GoSquared Help Sheet? Hell yeah!</p>
<p>We&#8217;re  pleased to bring you a brand new <a href="http://www.gosquared.com/liquidicity/archives/category/helpsheets">GoSquared Help Sheet</a> for your Node.JS needs.</p>
<h3>What&#8217;s Node.JS?</h3>
<p>If you&#8217;ve read this far, you probably already know, but for those intrigued, <a href="http://nodejs.org/">Node.JS</a> is an evented I/O framework for the <a href="http://code.google.com/p/v8/">V8 JavaScript engine</a>. It&#8217;s ideal for writing scalable network programs such as web servers.</p>
<p>We&#8217;ve been working on some exciting things with Node.JS, and we felt it was only fair to share our knowledge in the form of an easy-to-read Help Sheet.</p>
<p><span id="more-1930"></span></p>
<p>Feel free to print it out, stick it on your wall, and get developing!</p>
<p>As always, if you find any errors or typos or anything like that, please drop us a note in the comments.</p>
<p><a href="http://downloads.gosquared.com/help_sheets/11/Node%20Help%20Sheet.pdf" title="Download the Node.JS Help Sheet PDF" onClick="javascript: pageTracker._trackPageview('/images/help_sheets_node'); "><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="Node.JS Help Sheet PDF" height="48" width="48" /> Get the Node.JS Help Sheet PDF (530KB)</a></p>
<p><a href="http://downloads.gosquared.com/help_sheets/11/Node-Help-Sheet-large.jpg" title="Node.JS Help Sheet - Click to enlarge"><img src="http://downloads.gosquared.com/help_sheets/11/Node-Help-Sheet.jpg" alt="Node.JS Help Sheet Preview - Click to enlarge" width="790"/></a></p>
<h3>Want more?</h3>
<p>If you&#8217;re stuck, we also have some other helpful <a href="http://www.gosquared.com/liquidicity/archives/category/helpsheets">Help Sheets</a> &#8211; for <a href="http://www.gosquared.com/liquidicity/archives/1010">CSS2 and CSS3</a>, <a href="http://www.gosquared.com/liquidicity/archives/501">HTML</a>, <a href="http://www.gosquared.com/liquidicity/archives/501">PHP</a>, and <a href="http://www.gosquared.com/liquidicity/archives/1333">VI</a>, as well as handy <a href="http://www.gosquared.com/liquidicity/archives/172">OS X Character Reference sheets</a>. All available for FREE download now!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gosquared.com/liquidicity/archives/1930/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Developers &#8211; Using AWS tags for Instance Identification</title>
		<link>http://www.gosquared.com/liquidicity/archives/1772</link>
		<comments>http://www.gosquared.com/liquidicity/archives/1772#comments</comments>
		<pubDate>Mon, 28 Feb 2011 11:16:53 +0000</pubDate>
		<dc:creator>Geoff Wagstaff</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Help Sheets]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[bashrc]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[hostnames]]></category>
		<category><![CDATA[identification]]></category>
		<category><![CDATA[instance]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[tagging]]></category>
		<category><![CDATA[tags]]></category>

		<guid isPermaLink="false">http://www.gosquared.com/liquidicity/?p=1772</guid>
		<description><![CDATA[A few months ago, AWS introduced an extremely useful little feature to their consistently developing EC2 platform: Instance Tagging. Before tags, it was relatively tricky to define a clear instance nomenclature, forcing you to implement a vague approach using security groups if you wanted something close to the same functionality. Since there is also a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.gosquared.com/images/liquidicity/09_12_06_geoffdev_790x100.jpg" alt="Develop with Geoff at GoSquared" title="Develop with Geoff at GoSquared" width="790" height="100" class="size-full wp-image-1105" /></p>
<p>A few months ago, AWS introduced an extremely useful little feature to their consistently developing EC2 platform: <a href="http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/Using_Tags.html">Instance Tagging</a>. Before tags, it was relatively tricky to define a clear instance nomenclature, forcing you to implement a vague approach using <a href="http://shlomoswidler.com/2009/06/tagging-ec2-instances-using-security_30.html">security groups</a> if you wanted something close to the same functionality. Since there is also a full API surrounding tags, they can be put to work in many useful ways.</p>
<h3>Naming instances</h3>
<p>Besides attaching up to ten custom nuggets of arbitrary data to instances, tags can be extremely handy when it comes to naming your EC2 instances, and more importantly, using these names to differentiate between instances and their roles. For example, you have three instances. One holds your master database and website, the second is a slave database in replication, and the third is a staging/test server. You&#8217;ll want to make pretty damn sure that when you&#8217;re SSH&#8217;d into all three of your instances, the commands you send are received by the intended recipient server.<br />
<span id="more-1772"></span><br />
In the EC2 management console, you can define a tag key for an instance which is then mapped to a value. There is a default tag key called &#8220;Name&#8221;. In the value for that &#8220;Name&#8221; key, you can type in the name you want to assign to that instance. For our servers in this example we can call the master server master-0, the slave server slave-0, and the staging server staging-0. I like this naming system because on the left of the hyphen you can define the type or classification of that server representing the role it performs, and the number following the hyphen can be incremented for each server of the same type, therefore acting as a unique ID for each server. </p>
<p>Conveniently, you can define which of these tags become a column in the table listing all of your instances. If you have a large number of instances, having this custom column for tags present can make it far quicker to find the instance you&#8217;re looking for at a glance, rather than trying to derive the right one from all of the other parameters displayed.</p>
<p><a href="http://www.gosquared.com/liquidicity/wp-content/uploads/2011/02/aws_columns.png"><img style="padding-left: 10px;" src="http://www.gosquared.com/liquidicity/wp-content/uploads/2011/02/aws_columns.png" alt="" title="aws_columns" width="637" height="380" class="alignnone size-full wp-image-1780" /></a></p>
<h3>Doing some magic with .bashrc</h3>
<p>I am a big fan of customising the bash prompt so that it displays only useful contextual information I need to know when I send commands. One of the problems I came across whilst working simultaneously on multiple instances is making sure I am sending commands to the correct one. Sure, most bash prompts include the server&#8217;s hostname in the prompt, but beware &#8211; there are flaws with this. For example, if you reboot an EBS-backed instance, the hostname it shows is not necessarily the one it is operating from. I needed something more definitive than that.</p>
<p>Here&#8217;s some example code you can place in your .bashrc file to display the instance ID and server name in the command prompt:</p>
<p><code>INSTANCEID=`curl -s http://169.254.169.254/latest/meta-data/instance-id`<br />
SERVER_IDENTIFIER=$INSTANCEID<br />
SERVER_TAG=0<br />
if [ -f /var/opt/server-tag ]; then<br />
    SERVER_TAG=`cat /var/opt/server-tag`<br />
    SERVER_IDENTIFIER="$SERVER_TAG:$SERVER_IDENTIFIER"<br />
fi<br />
if [ "$color_prompt" = yes ]; then<br />
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@${SERVER_IDENTIFIER}\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '<br />
else<br />
    PS1='${debian_chroot:+($debian_chroot)}\u@${SERVER_IDENTIFIER}:\w\$ '<br />
fi<br />
unset color_prompt force_color_prompt</code></p>
<p>The great thing about this bashrc code is that if you have a file saved at /var/opt/server-tag which contains the server&#8217;s tagged name, the prompt will look something like this:</p>
<p><a href="http://www.gosquared.com/liquidicity/wp-content/uploads/2011/02/command_prompt.png"><img style="padding-left: 10px;" src="http://www.gosquared.com/liquidicity/wp-content/uploads/2011/02/command_prompt.png" alt="" title="command_prompt" width="237" height="19" class="alignnone size-full wp-image-1781" /></a></p>
<p>That prompt clearly defines that I am working as user Ubuntu on a server called Node#1 with instance ID of i-b92990d5, so I don&#8217;t need to think twice about that.</p>
<h3>Using tags as hostnames</h3>
<p>Now that we have named our instances using tags, we can turn them into hostnames so we can address them directly in our scripts, avoiding the need for expensive lookups against Amazon&#8217;s API to find server internal IPs. I&#8217;ve written a simple script to add entries to the /etc/hosts file for each of your instances that have a tag called &#8220;Name&#8221;. The value in this &#8220;Name&#8221; tag will become that server&#8217;s hostname, which then forwards to its internal IP address. While we&#8217;re at it, we also create the aforementioned /var/opt/server-tag file so our .bashrc script can display the server name in the command prompt. Note this script requires the <a href="http://docs.amazonwebservices.com/AWSSDKforPHP/latest/">AWS SDK for PHP</a> and because we&#8217;re modifying the /etc/hosts file, you need to run it as root.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #666666; font-style: italic;">// Install the AWS PHP SDK from http://docs.amazonwebservices.com/AWSSDKforPHP/latest/ and follow the setup instructions on that page.</span>
<span style="color: #b1b100;">require_once</span> <span style="color: #0000ff;">&quot;aws-php-sdk/sdk.class.php&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'SERVER_TAG'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/var/opt/server-tag'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
try<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">// Parse hosts file into an array</span>
	<span style="color: #000088;">$hosts_file</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/etc/hosts'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$hosts_lines</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span>PHP_EOL<span style="color: #339933;">,</span> <span style="color: #000088;">$hosts_file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hosts_lines</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$hlkey</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$hline</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hline</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$host_lines</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$hlkey</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_split</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/\s/'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$hline</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000088;">$hosts_updated</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$this_instance_id</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http://169.254.169.254/latest/meta-data/instance-id'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">// Check server tag directory</span>
	<span style="color: #000088;">$server_tag_dir</span> <span style="color: #339933;">=</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span>SERVER_TAG<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$server_tag_dir</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">mkdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$server_tag_dir</span><span style="color: #339933;">,</span> <span style="color: #208080;">0777</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">// Get the server tag</span>
	<span style="color: #000088;">$server_tag</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span>SERVER_TAG<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$EC2</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> AmazonEC2<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$EC2</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">describe_instances</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isOK</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> Exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;ec2-&gt;describe_instances failed&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">// Each &quot;reservationSet&quot; is essentially an instance or compute &quot;reservation&quot;</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">body</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">reservationSet</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">item</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$rset</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$iset</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$rset</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">instancesSet</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">item</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$iset</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">instanceState</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">code</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">16</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Instance is not in &quot;running&quot; state, so ignore</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$iset</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tagSet</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// Server is tagged. We should note it down in the /etc/hosts file</span>
			<span style="color: #000088;">$tset</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$iset</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tagSet</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">item</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$server_identifier</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tset</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tset</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tset</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$tag</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
					<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tag</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">key</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'Name'</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$server_identifier</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #000088;">$tag</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">value</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tset</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">key</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'Name'</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$server_identifier</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #000088;">$tset</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">value</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$server_identifier</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #666666; font-style: italic;">// This server is tagged with an identifier. Make sure we've got it recorded in the server-tag file if this is our server</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #000088;">$iset</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">instanceId</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$this_instance_id</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$server_tag</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$server_identifier</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">file_put_contents</span> <span style="color: #009900;">&#40;</span>SERVER_TAG<span style="color: #339933;">,</span> <span style="color: #000088;">$server_identifier</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #666666; font-style: italic;">// Now me ensure the correct host entry is written or up to date</span>
				<span style="color: #000088;">$nice_si</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'-'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$server_identifier</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Replace # with - to avoid conflicts</span>
				<span style="color: #000088;">$hosts_match</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$host_lines</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$hlkey</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$hline</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
					<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hline</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'#'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Skip comment lines</span>
					<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hostname</span> <span style="color: #339933;">=</span> <span style="color: #990000;">next</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hline</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// Loop through the hostnames to see if this server exists in the host file</span>
						<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hostname</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$nice_si</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// Found a hostname match, so check the mapped IP address</span>
							<span style="color: #000088;">$hosts_match</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
							<span style="color: #000088;">$ip_addr</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #000088;">$iset</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">privateIpAddress</span><span style="color: #339933;">;</span>
							<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hline</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$ip_addr</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
								<span style="color: #666666; font-style: italic;">// Private IP address has changed. Update it after a quick sanity check on IP address</span>
								<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip_addr</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip_addr</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">7</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$hline</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$ip_addr</span><span style="color: #339933;">;</span>
								<span style="color: #000088;">$host_lines</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$hlkey</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$hline</span><span style="color: #339933;">;</span>
								<span style="color: #000088;">$hosts_updated</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
							<span style="color: #009900;">&#125;</span>
						<span style="color: #009900;">&#125;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$hosts_match</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
					<span style="color: #666666; font-style: italic;">// This server does not exist in the hosts list. Add it.</span>
					<span style="color: #000088;">$ip_addr</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #000088;">$iset</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">privateIpAddress</span><span style="color: #339933;">;</span>
					<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip_addr</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip_addr</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">7</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
						<span style="color: #000088;">$host_lines</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip_addr</span><span style="color: #339933;">,</span> <span style="color: #000088;">$nice_si</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #000088;">$hosts_updated</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hosts_updated</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$host_lines</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$hlkey</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$hline</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$host_lines</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$hlkey</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$hline</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_put_contents</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/etc/hosts'</span><span style="color: #339933;">,</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$host_lines</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;/etc/hosts has been updated successfully<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Could not update /etc/hosts file<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;No changes to make<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
catch<span style="color: #009900;">&#40;</span>Exception <span style="color: #000088;">$e</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$e</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>After running this script, we will have entries in our /etc/hosts file for all of our tagged servers, and because these are now defined as operating system hostnames, you can use these hostnames for connections between your servers (for example, if you were connecting to mysql from slave-0 to master-0 you could define the hostname for the connection as master-0:3306 and the connection will be made via Amazon&#8217;s internal DNS network. If you set this script to a regular cron job, you can ensure that the hostnames are kept updated and new ones are added as you tag new instances.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gosquared.com/liquidicity/archives/1772/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Panic Over! CSS2 and CSS3 Help Sheets are Here</title>
		<link>http://www.gosquared.com/liquidicity/archives/1010</link>
		<comments>http://www.gosquared.com/liquidicity/archives/1010#comments</comments>
		<pubDate>Thu, 13 May 2010 10:00:02 +0000</pubDate>
		<dc:creator>James Gill</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Help Sheets]]></category>
		<category><![CDATA[Useful links]]></category>
		<category><![CDATA[Cheatsheet]]></category>
		<category><![CDATA[cheatsheets]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Font-Face]]></category>
		<category><![CDATA[Help]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[Sheet]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Style]]></category>
		<category><![CDATA[styles]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://www.gosquared.com/liquidicity/?p=1010</guid>
		<description><![CDATA[We&#8217;re pleased to bring you the 3rd version of the GoSquared CSS Help Sheet, and a brand new CSS3 Help Sheet. With the VI Help Sheet we released last week, we redesigned our Help Sheets for a much better result when printed on paper, while ensuring they still don&#8217;t look too shabby on the screen [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.gosquared.com/images/liquidicity/10_05_12_csshelpsheet_790x400.jpg" alt="CSS Help Sheets by GoSquared - Get Stylish" title="CSS Help Sheets by GoSquared - Get Stylish" width="790" height="400" /></p>
<p>We&#8217;re pleased to bring you the 3rd version of the GoSquared CSS Help Sheet, and a brand new CSS3 Help Sheet.</p>
<p>With the <a href="http://www.gosquared.com/liquidicity/archives/1333">VI Help Sheet</a> we released last week, we redesigned our Help Sheets for a much better result when printed on paper, while ensuring they still don&#8217;t look too shabby on the screen of your Mac, PC, iPhone or iPad.</p>
<p>We&#8217;ve put together a Help Sheet specifically for CSS3. We&#8217;ve covered most of the basic options now possible with CSS3, but there&#8217;s a ton more we couldn&#8217;t fit in, so we&#8217;ve linked to a couple of handy articles such as <a href="http://www.456bereastreet.com/archive/200601/css_3_selectors_explained">this post by 456 Berea Street</a> on CSS Selectors, and this piece by <a href="http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/">Paul Irish on Font-Face</a>.</p>
<p>So what are you waiting for? Download them. Print them. Stick &#8216;em on the wall and get creative!</p>
<h3>New to GoSquared?</h3>
<p>For those of you new to <a href="http://www.gosquared.com/" title="GoSquared real-time web analytics and monitoring. Improve your site now.">GoSquared</a> &#8211; we help people improve their websites. GoSquared real-time web analytics enables you to understand what&#8217;s happening on your site right now. We run <a href="http://www.gosquared.com/liquidicity/">this blog</a>, on design, technology and marketing to share our thoughts and content with wonderful people like you in the hope that you&#8217;ll also <a href="/plans/" title="View plans and pricing for GoSquared real-time web analytics">try GoSquared</a>.</p>
<p>As always, if you find any errors or typos or anything like that, please drop us a note in the comments.</p>
<p><a href="http://downloads.gosquared.com/help_sheets/10/CSS%20Help%20Sheet%20outlined.pdf" title="Download the CSS2 Help Sheet PDF" onClick="javascript: pageTracker._trackPageview('/images/help_sheets_css2'); "><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="CSS2 Help Sheet PDF" height="48" width="48" /> Get the CSS2 Help Sheet PDF (230KB)</a></p>
<p><a href="http://downloads.gosquared.com/help_sheets/10/CSS3%20Help%20Sheet%20outlined.pdf" title="Download the CSS3 Help Sheet PDF" onClick="javascript: pageTracker._trackPageview('/images/help_sheets_css3'); "><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="CSS3 Help Sheet PDF" height="48" width="48" /> Get the CSS3 Help Sheet PDF (221KB)</a></p>
<p><span id="more-1010"></span></p>
<p><strong>The CSS2 Help Sheet</strong>. We made the original based on the wonderful work of <a href="http://lesliefranke.com/2005/10/css-cheat-sheet/">Leslie Frank</a>. Never forget those basic and vital styling options with this at your side, or on your wall.</p>
<p><a href="http://downloads.gosquared.com/help_sheets/10/CSS-Help-Sheet-large.jpg" title="CSS2 Help Sheet by GoSquared"><img src="http://downloads.gosquared.com/help_sheets/10/CSS-Help-Sheet.jpg" alt="CSS2 Help Sheet by GoSquared"/></a></p>
<p><strong>The CSS3 Help Sheet</strong>. All that&#8217;s coming to CSS, and all that&#8217;s already here for Chrome, Safari, WebKit, Firefox, Opera, and, erm, IE9?</p>
<p><a href="http://downloads.gosquared.com/help_sheets/10/CSS3-Help-Sheet-large.jpg" title="CSS3 Help Sheet by GoSquared"><img src="http://downloads.gosquared.com/help_sheets/10/CSS3-Help-Sheet.jpg" alt="CSS3 Help Sheet by GoSquared"/><br />
</a></p>
<p>We hope these are helpful to you.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gosquared.com/liquidicity/archives/1010/feed</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>VI (Linux Terminal) Help Sheet</title>
		<link>http://www.gosquared.com/liquidicity/archives/1333</link>
		<comments>http://www.gosquared.com/liquidicity/archives/1333#comments</comments>
		<pubDate>Mon, 03 May 2010 17:16:01 +0000</pubDate>
		<dc:creator>Geoff Wagstaff</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Help Sheets]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Cheat]]></category>
		<category><![CDATA[Cheatsheet]]></category>
		<category><![CDATA[cheatsheets]]></category>
		<category><![CDATA[Command]]></category>
		<category><![CDATA[Commands]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[Engineer]]></category>
		<category><![CDATA[Help]]></category>
		<category><![CDATA[Line]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[resource]]></category>
		<category><![CDATA[Sheet]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[VI]]></category>

		<guid isPermaLink="false">http://www.gosquared.com/liquidicity/?p=1333</guid>
		<description><![CDATA[We&#8217;re really pleased to bring you another Help Sheet. Introducing the VI Help Sheet for all you Linux loving developers out there. It&#8217;s been a while since we released our set of web development Help Sheets for PHP, HTML and CSS, so we thought it was time to release another. This one should keep a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://downloads.gosquared.com/help_sheets/10/VI-Help-Sheet-large.jpg"><img src="http://static.gosquared.com/images/liquidicity/10_05_03_vihelpsheet_790x400.jpg" alt="VI Editor Help Sheet from GoSquared - UNIX terminal commands reference" title="VI Help Sheet by GoSquared" width="790" height="400" /></a></p>
<p>We&#8217;re really pleased to bring you another Help Sheet. Introducing the <b>VI Help Sheet</b> for all you Linux loving developers out there.</p>
<p>It&#8217;s been a while since we released our set of web development <a href="http://www.gosquared.com/liquidicity/archives/501">Help Sheets for PHP, HTML and CSS</a>, so we thought it was time to release another. This one should keep a lot of developers happily coding away into the early hours of the morning.</p>
<p>So what are you waiting for? Download it. Print it. Stick it on the wall and get commanding.</p>
<p>As always, if you find any errors or typos or anything like that, please drop us a note in the comments.</p>
<p><span id="more-1333"></span></p>
<h3>New to GoSquared?</h3>
<p>For those of you new to <a href="http://www.gosquared.com/">GoSquared</a> &#8211; we design and engineer web applications for site owners to <a href="http://www.gosquared.com/livestats/">monitor their traffic</a> and earn more money from their Site. We run <a href="http://www.gosquared.com/liquidicity/">Liquidicity</a>, the blog on design &#038; technology to share our thoughts and content with wonderful people like you in the hope that one day you&#8217;ll use our products.</p>
<p><a href="http://downloads.gosquared.com/help_sheets/10/VI%20Help%20Sheet%20outlined.pdf" title="Download the VI Help Sheet PDF" onClick="javascript: pageTracker._trackPageview('/images/help_sheets_vi'); "><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="VI Help Sheet PDF" height="48" width="48" /> Get the PDF (553KB)</a></p>
<p><a href="http://downloads.gosquared.com/help_sheets/10/VI-Help-Sheet-large.jpg" title="VI Help Sheet full sized preview image"><img src="http://downloads.gosquared.com/help_sheets/10/VI-Help-Sheet.jpg" alt="VI Help Sheet Full Preview"/></a></p>
<p><strong>Update</strong>: Many thanks to <a href="http://twitter.com/aditgupta">Adit Gupta</a> of <a href="http://www.what-a-geek.com">www.what-a-geek.com</a> for suggesting some more useful commands and for <a href="http://www.smashingmagazine.com/2010/05/03/vi-editor-linux-terminal-cheat-sheet-pdf/">Joe on Smashing Magazine</a> for making a correction to one of the search commands. Thanks also to Oliver in the comments below for informing us of a few other corrections.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gosquared.com/liquidicity/archives/1333/feed</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Manually Install PECL Extensions on a Media Temple (dv) Server</title>
		<link>http://www.gosquared.com/liquidicity/archives/836</link>
		<comments>http://www.gosquared.com/liquidicity/archives/836#comments</comments>
		<pubDate>Fri, 28 Aug 2009 12:55:42 +0000</pubDate>
		<dc:creator>Geoff Wagstaff</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Help Sheets]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[(mt)]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[MediaTemple]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[PECL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.gosquared.com/liquidicity/?p=836</guid>
		<description><![CDATA[Having used MediaTemple&#8216;s hosting options for quite some time, we&#8217;ve built up a fair amount of experience working with their (dv) servers. Every now and again you may find it necessary to extend the core functionality of the pre-compiled PHP supplied with the (dv) server using PECL extensions to give your apps that little bit [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.gosquared.com/images/liquidicity/09_12_06_geoffdev_790x100.jpg" alt="Dev with Geoff - Development help and advice from our CTO Geoff Wagstaff" width="790" height="100"/></p>
<p>Having used <a href="http://www.mediatemple.net">MediaTemple</a>&#8216;s hosting options for quite some time, we&#8217;ve built up a fair amount of experience working with their (dv) servers. Every now and again you may find it necessary to extend the core functionality of the pre-compiled PHP supplied with the (dv) server using <a href="http://pecl.php.net/">PECL extensions</a> to give your apps that little bit more of a cutting edge.</p>
<p>There is a quick and easy way to insall the PECL modules on your (dv) server: pecl install [extension]. However, if for whatever reason this does not work for you, this guide documents a manual installation method.</p>
<p><span id="more-836"></span></p>
<p><strong>A preliminary word of warning &#038; disclaimer</strong><br />
We have only tested the following guide on (dv) 3.5 servers, and cannot in any way guarantee that this method will provide a stable and/or functional installation of your chosen PECL module(s) on your server, version 3.5 or otherwise. If your (dv) server is not version 3.5, this guide may not work due to possible path and environment differences. Therefore, any attempt to follow this guide is undertaken at entirely at your own risk and we cannot be held responsible for any resultant problems.</p>
<p>Phew, now I got that off my chest, let&#8217;s get started.</p>
<p><strong>Paths needed</strong><br />
PHP extension (modules) directory: <em>/usr/lib/php/modules</em><br />
php.ini file: <em>/etc/php.ini</em><br />
PHP extension .ini files (to facilitate autoload of extensions): <em>/etc/php.d/</em></p>
<p>For this to work, you&#8217;ll need to have root access to your server, and you&#8217;ll most probably need developer tools installed as well. To obtain these, log in to your MediaTemple (ac) panel and enable them both there.</p>
<p>Note: Replace [extension] with actual extension name</p>
<p>Open up your terminal using a remote SSH client (if you don&#8217;t have one, install an SSH client like <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PUTTY</a>) and log into your server as root.</p>
<p>Download the extension from PECL to somewhere on the server (e.g. /tmp/download/):<br />
<code>cd /tmp/download/<br />
wget http://pecl.php.net/get/[extension].tgz</code></p>
<p><strong>N.B.</strong> For this bit, [extension] must be replaced by your extension name including any version numbers of the version you downloaded e.g. memcache-2.2.5</p>
<p>Extract the compressed package and change directory to the extracted source folder<br />
<code>tar -xvf [extension].tgz<br />
cd [extension]</code></p>
<p>From this point onwards, [extension] now represents the actual name of the extension, for example, memcache instead of memcache-2.2.5</p>
<p>Prepare the build environment for the extension and make the binaries<br />
<code>phpize &#038;&#038; ./configure --enable-[extension] &#038;&#038; make</code></p>
<p>You may see lots of code/writing flicking up in your terminal. This is normal.<br />
If all that goes good, run:<br />
<code>make install</code></p>
<p>This should install the shared extension into <em>/usr/lib/php/extensions</em>. If this works properly, the [extension].so extension file will be automatically placed in the PHP extensions directory (<em>/usr/lib/php/extensions</em>)</p>
<p>Navigate to folder containing the .ini files for extensions:<br />
<code>cd /etc/php.d/</code></p>
<p>Create a new file called [extension].ini<br />
<code>vi [extension].ini</code></p>
<p>Press i and write/paste the following inside, <strong>replacing [extension] with the extension name</strong>:<br />
<code>; Enable [extension] extension<br />
extension=[extension].so</code></p>
<p>Press ESC then type :wq and press enter to save and exit the file.</p>
<p>Restart apache so PHP can load the new extension when it starts up:<br />
<code>/etc/init.d/httpd restart</code></p>
<p>That&#8217;s it! The new module is now installed and should be working properly. If you want to verify this, create a test.php file somewhere on your site, place</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php <span style="color: #990000;">phpinfo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p> inside and access it with your browser. Information for the new extension will appear in the list of extensions if everything has installed correctly.</p>
<p>We hope this helps you out. We would greatly appreciate it if anyone can test this on (dv) servers older or newer than (dv) 3.5 and let us know the result.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gosquared.com/liquidicity/archives/836/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Panic Over! PHP, CSS &amp; HTML Help Sheets</title>
		<link>http://www.gosquared.com/liquidicity/archives/501</link>
		<comments>http://www.gosquared.com/liquidicity/archives/501#comments</comments>
		<pubDate>Thu, 16 Oct 2008 23:05:43 +0000</pubDate>
		<dc:creator>James Gill</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Help Sheets]]></category>
		<category><![CDATA[Useful links]]></category>
		<category><![CDATA[Cheat]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[GoSquared]]></category>
		<category><![CDATA[Help]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[liquidicity]]></category>
		<category><![CDATA[Page]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Sheets]]></category>
		<category><![CDATA[Snippets]]></category>

		<guid isPermaLink="false">http://www.gosquared.com/liquidicity/?p=501</guid>
		<description><![CDATA[Today, we&#8217;re introducing our all new Help Sheets. You loved our original CSS and HTML Help Sheets, so we went back to the originals, tidied them up, and gave them a sprinkling of coolness. We&#8217;re also pleased to bring you an entirely new Help Sheet &#8211; the PHP Help Sheet. This should be a saviour [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.gosquared.com/images/liquidicity/08_10_17_help_sheets_preview_790x200.jpg" alt="" title="Preview of All Help Sheets - available to download from GoSquared for free" width="790" height="200" /></p>
<p>Today, we&#8217;re introducing our all new Help Sheets. You loved our original CSS and HTML Help Sheets, so we went back to the originals, tidied them up, and gave them a sprinkling of coolness.</p>
<p>We&#8217;re also pleased to bring you an entirely new Help Sheet &#8211; the PHP Help Sheet. This should be a saviour for you hardcore coders when you forget the odd array function or two.</p>
<p><span id="more-501"></span></p>
<h3>New to GoSquared?</h3>
<p>For those of you new to <a href="http://www.gosquared.com/" title="GoSquared real-time web analytics and monitoring. Improve your site now.">GoSquared</a> &#8211; we help people improve their websites. GoSquared real-time web analytics enables you to understand what&#8217;s happening on your site right now. We run <a href="http://www.gosquared.com/liquidicity/">this blog</a>, on design, technology and marketing to share our thoughts and content with wonderful people like you in the hope that you&#8217;ll also <a href="/plans/" title="View plans and pricing for GoSquared real-time web analytics">try GoSquared</a>.</p>
<p>You can download the full set as a ZIP (5.4MB) right here:</p>
<p><a href="http://downloads.gosquared.com/help_sheets/08/Help%20Sheets.zip" onClick="javascript: pageTracker._trackPageview('/images/help_sheets_zip'); "><img src="http://static.gosquared.com/images/liquidicity/Icon_ZIP_100x100.png" alt="Download a ZIP file containing all 3 Help Sheets" /></a></p>
<p><a href="http://downloads.gosquared.com/help_sheets/08/PHP-Help-Sheet-01.jpg"><img src="http://static.gosquared.com/images/liquidicity/08_10_17_PHP_help_sheet_preview_790x200.jpg" alt="" title="PHP Help Sheet Preview" width="790" height="200" /></a></p>
<p>The all new PHP Help Sheet. Everyone needs a handy reference now and then, so go ahead and print this off. Stick it on your wall and never get lost again!</p>
<p><a href="http://downloads.gosquared.com/help_sheets/08/PHP%20Help%20Sheet%2001.pdf" title="PDF" onClick="javascript: pageTracker._trackPageview('/images/help_sheets_php'); "><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="PHP Help Sheet PDF" height="48" width="48" /> Get the PDF (1.9MB)</a></p>
<p><a href="http://downloads.gosquared.com/help_sheets/08/HTML-Help-Sheet-02.jpg"><img src="http://static.gosquared.com/images/liquidicity/08_10_17_HTML_help_sheet_preview_790x200.jpg" alt="" title="HTML Help Sheet Preview" width="790" height="200" /></a></p>
<p>The HTML Help Sheet has been updated and tidied up, so now you have no excuses for not decorating your office notice board with snippets of usefulness.</p>
<p><a href="http://downloads.gosquared.com/help_sheets/08/HTML%20Help%20Sheet%2002.pdf" title="PDF" onClick="javascript: pageTracker._trackPageview('/images/help_sheets_html'); "><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="HTML Help Sheet PDF" height="48" width="48" /> Get the PDF (1.9MB)</a></p>
<p><a href="http://www.gosquared.com/liquidicity/archives/1010" title="New CSS Help Sheets this way!"><img src="http://static.gosquared.com/images/liquidicity/08_10_17_CSS_help_sheet_preview_790x200.jpg" alt="" title="CSS Help Sheet Preview" width="790" height="200" /></a></p>
<p>The CSS Help Sheet &#8211; our first ever, but updated to match the set. We made the original based on the wonderful work of <a href="http://lesliefranke.com/2005/10/css-cheat-sheet/">Leslie Frank</a>. Never forget those styling options with this at your side.</p>
<p><strong>Update</strong>: We&#8217;ve redesigned the CSS Help Sheet. <a href="http://www.gosquared.com/liquidicity/archives/1010" title="CSS2 and CSS3 Help Sheets">Get the new CSS2 and CSS3 Help Sheets now!</a></p>
<p><a href="http://downloads.gosquared.com/help_sheets/08/CSS%20Help%20Sheet%2002.pdf" title="PDF" onClick="javascript: pageTracker._trackPageview('/images/help_sheets_css'); "><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="CSS Help Sheet PDF" height="48" width="48" /> Get the PDF (1.9MB)</a></p>
<p>We hope you like the new Help Sheets, and would love to know what you want us to Help Sheet-ise next: JavaScript? Actionscript? JQuery? Tell us in the comments!</p>
<p>Oh and another thing, the other day one of our readers sent in a photo of our CSS Help Sheet on his office notice board. If you&#8217;re using our Help Sheets at your office / home / garage / Starbucks we&#8217;d love to see! Email us a photo or upload to Flickr with the tag &#8220;GoSquared&#8221;.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gosquared.com/liquidicity/archives/501/feed</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>WordPress Help Sheet. Panic Over.</title>
		<link>http://www.gosquared.com/liquidicity/archives/247</link>
		<comments>http://www.gosquared.com/liquidicity/archives/247#comments</comments>
		<pubDate>Fri, 02 Nov 2007 23:52:33 +0000</pubDate>
		<dc:creator>James Gill</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Help Sheets]]></category>
		<category><![CDATA[liquidicity]]></category>
		<category><![CDATA[Useful links]]></category>
		<category><![CDATA[Cheat]]></category>
		<category><![CDATA[GoSquared]]></category>
		<category><![CDATA[Help]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Sheet]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP Candy]]></category>

		<guid isPermaLink="false">http://www.gosquared.com/liquidicity/archives/247</guid>
		<description><![CDATA[If you like your blog, but want to make it better, and go tweaking the insides of WordPress, this may be of help to you. Our good friends over at WP Candy have done a great job in providing you with the quick shortcuts and need-to-knows of WordPress all on one easy to use sheet. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.gosquared.com/images/liquidicity/07_11_03_wp_preview_790x200.jpg" alt="Wordpress Help Sheet Preview - free to download from GoSquared" width="790" height="200" /></p>
<p>If you like your blog, but want to make it better, and go tweaking the insides of WordPress, this may be of help to you.</p>
<p>Our good friends over at <a href="http://www.wpcandy.com/">WP Candy</a> have done a great job in providing you with the quick shortcuts and need-to-knows of WordPress all on one easy to use sheet.</p>
<h3>New to GoSquared?</h3>
<p>For those of you new to <a href="http://www.gosquared.com/" title="GoSquared real-time web analytics and monitoring. Improve your site now.">GoSquared</a> &#8211; we help people improve their websites. GoSquared real-time web analytics enables you to understand what&#8217;s happening on your site right now. We run <a href="http://www.gosquared.com/liquidicity/">this blog</a>, on design, technology and marketing to share our thoughts and content with wonderful people like you in the hope that you&#8217;ll also <a href="/plans/" title="View plans and pricing for GoSquared real-time web analytics">try GoSquared</a>.</p>
<p><a href="http://downloads.gosquared.com/help_sheets/07/WordPress-Help-Sheet.pdf" title="PDF"><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="PDF" height="48" width="48" /> Get the PDF (592KB)</a></p>
<p>More Help Sheets by GoSquared: <a href="http://gosquared.com/liquidicity/archives/51">HTML Help Sheet</a>, and <a href="http://gosquared.com/liquidicity/archives/33">CSS Help Sheet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gosquared.com/liquidicity/archives/247/feed</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>Make indented text with this super easy method</title>
		<link>http://www.gosquared.com/liquidicity/archives/200</link>
		<comments>http://www.gosquared.com/liquidicity/archives/200#comments</comments>
		<pubDate>Wed, 12 Sep 2007 19:35:50 +0000</pubDate>
		<dc:creator>James Gill</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Help Sheets]]></category>
		<category><![CDATA[liquidicity]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Font]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Typography]]></category>

		<guid isPermaLink="false">http://www.gosquared.com/liquidicity/archives/200</guid>
		<description><![CDATA[A popular graphical style at the moment is to make your text look indented. I spent months and months trying to work out how to do this after seeing it perhaps for the first time in iTunes. I always looked for a filter or a tool to &#8220;emboss&#8221; or &#8220;bevel&#8221; the text, but these never [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.gosquared.com/images/liquidicity/07_09_12_lq_tut_bevel01.jpg" alt="Bevel post main image" /></p>
<p>A popular graphical style at the moment is to make your text look indented. I spent months and months trying to work out how to do this after seeing it perhaps for the first time in iTunes. I always looked for a filter or a tool to &#8220;emboss&#8221; or &#8220;bevel&#8221; the text, but these never looked quite as nice, and often made the text hard to read.</p>
<p>One day, it hit me: it&#8217;s SO SIMPLE! And the method I came up with didn&#8217;t involve filters, plug-ins, or any other jazz like that.</p>
<p>All you need to do to create the effect of indented text is to <strong>duplicate</strong> the line of text, with the duplicate behind, and slightly below the original.</p>
<p><img src="http://static.gosquared.com/images/liquidicity/07_09_12_lq_tut_bevel02.jpg" alt="Bevelled dark text in Illutsrator" /></p>
<p>Then, make the duplicated text slightly lighter than the original text. This will work perfectly when you have dark text, just like in the title of this post.</p>
<p><img src="http://static.gosquared.com/images/liquidicity/07_09_12_lq_tut_bevel03.jpg" alt="Bevelled light text in Iluustrator" /></p>
<p>Also, not many people realise you can use this method with light coloured text aswell. However, instead of moving the duplicated line of text <strong>below</strong> the original, you move it <strong>above</strong>, and make it <strong>darker</strong> than the original text. This will look just as good and give the same effect.</p>
<p>This method can be used in almost any application, but I made these with Adobe Illustrator. It&#8217;s great to know that something that looks so good can be done so easily.</p>
<p>Hope this helps  <img src='http://www.gosquared.com/liquidicity/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a href="http://downloads.gosquared.com/vectors/Bevel_Text_01.ai" title="Ai"><img src="http://static.gosquared.com/images/liquidicity/doc_ai_icon.png" title="Ai" alt="Ai" align="left" height="48" width="48" /> Get the Adobe Illustrator CS2 File [1.1MB]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gosquared.com/liquidicity/archives/200/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Reference for EVERY Character Key on a Mac</title>
		<link>http://www.gosquared.com/liquidicity/archives/172</link>
		<comments>http://www.gosquared.com/liquidicity/archives/172#comments</comments>
		<pubDate>Wed, 01 Aug 2007 17:56:11 +0000</pubDate>
		<dc:creator>James Gill</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Help Sheets]]></category>
		<category><![CDATA[Popular]]></category>
		<category><![CDATA[Alt]]></category>
		<category><![CDATA[Characters]]></category>
		<category><![CDATA[Chars]]></category>
		<category><![CDATA[Cheat]]></category>
		<category><![CDATA[Glyphs]]></category>
		<category><![CDATA[GoSquared]]></category>
		<category><![CDATA[Key]]></category>
		<category><![CDATA[Keyboard]]></category>
		<category><![CDATA[liquidicity]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Sheets]]></category>
		<category><![CDATA[Type]]></category>

		<guid isPermaLink="false">http://www.gosquared.com/liquidicity/archives/172</guid>
		<description><![CDATA[Ever wanted to type the copyright icon, or do an accent over an A without having to resort to some character palette? We have, and it takes time and is an effort. So we put together a series of help sheets that reference all of the characters that aren&#8217;t listed on your keyboard, along with [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.gosquared.com/images/liquidicity/07_08_01_glyphs_mac_chars_preview_03_790x200.jpg" alt="GoSquared reference PDFs for Mac OS X character keys. Free reference sheets to download from GoSquared" width="790" height="200" /></p>
<p>Ever wanted to type the copyright icon, or do an accent over an A without having to resort to some character palette? We have, and it takes time and is an effort. So we put together a series of help sheets that reference all of the characters that aren&#8217;t listed on your keyboard, along with their shortcut keys to make your life easier.</p>
<p><span id="more-172"></span></p>
<h3>New to GoSquared?</h3>
<p>For those of you new to <a href="http://www.gosquared.com/" title="GoSquared real-time web analytics and monitoring. Improve your site now.">GoSquared</a> &#8211; we help people improve their websites. GoSquared real-time web analytics enables you to understand what&#8217;s happening on your site right now. We run <a href="http://www.gosquared.com/liquidicity/">this blog</a>, on design, technology and marketing to share our thoughts and content with wonderful people like you in the hope that you&#8217;ll also <a href="/plans/" title="View plans and pricing for GoSquared real-time web analytics">try GoSquared</a>.</p>
<p>Click on a preview image to view a full jpg.</p>
<p><b>Note: The &#8220;Alt&#8221; key on these sheets is the same as the &#8220;Option&#8221; key as some users may put it.</b></p>
<h3>Download the full set</h3>
<p><a href="http://downloads.gosquared.com/help_sheets/Mac_Glyphs_All.pdf " target="_blank" title="Download all in one PDF"><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="PDF" height="48" width="48" /> Get them all in one PDF (216KB)</a></p>
<h3>The Individual Sheets</h3>
<p>There were so many, that to make the reference usable and readable we had to divide them into 3 sheets.</p>
<p><a href="http://downloads.gosquared.com/help_sheets/glyphs_mac_chars.jpg" title="Glyph Sheet 1" target="_blank"><img src="http://static.gosquared.com/images/liquidicity/07_08_01_glyphs_mac_chars_preview_01_790x200.jpg" alt="Glyphs set 1" /></a></p>
<p><a href="http://downloads.gosquared.com/help_sheets/glyphs_mac_chars.pdf" title="PDF"><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="PDF" height="48" width="48" /> Get the PDF (128KB)</a></p>
<p><a href="http://downloads.gosquared.com/help_sheets/glyphs_mac_more.jpg" title="Glyph Sheet 2" target="_blank"><img src="http://static.gosquared.com/images/liquidicity/07_08_01_glyphs_mac_chars_preview_02_790x200.jpg" alt="Glyphs set 2" /></a></p>
<p><a href="http://downloads.gosquared.com/help_sheets/glyphs_mac_more.pdf" title="PDF"><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="PDF" height="48" width="48" /> Get the PDF (116KB)</a></p>
<p>Last but not least, one more sheet.</p>
<p><a href="http://downloads.gosquared.com/help_sheets/glyphs_mac_more2.jpg" title="Glyph Sheet 3" target="_blank"><img src="http://static.gosquared.com/images/liquidicity/07_08_01_glyphs_mac_chars_preview_03_790x200.jpg" alt="Glyphs set 3" /></a></p>
<p><a href="http://downloads.gosquared.com/help_sheets/glyphs_mac_more2.pdf" title="PDF"><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="PDF" height="48" width="48" /> Get the PDF (112KB)</a></p>
<p>We hope you find them useful.</p>
<p>You might also like our <a href="http://www.gosquared.com/liquidicity/archives/category/icons">free vector and pixel-perfect icons</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gosquared.com/liquidicity/archives/172/feed</wfw:commentRss>
		<slash:comments>160</slash:comments>
		</item>
		<item>
		<title>HTML Help Sheet. Panic Over.</title>
		<link>http://www.gosquared.com/liquidicity/archives/51</link>
		<comments>http://www.gosquared.com/liquidicity/archives/51#comments</comments>
		<pubDate>Sun, 04 Mar 2007 15:09:05 +0000</pubDate>
		<dc:creator>James Gill</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Help Sheets]]></category>
		<category><![CDATA[liquidicity]]></category>
		<category><![CDATA[Cheat]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Div]]></category>
		<category><![CDATA[Fonts]]></category>
		<category><![CDATA[GoSquared]]></category>
		<category><![CDATA[Help]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Hyper]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Sheet]]></category>
		<category><![CDATA[Style]]></category>
		<category><![CDATA[Text]]></category>

		<guid isPermaLink="false">http://gosquared.com/liquidicity/archives/51</guid>
		<description><![CDATA[The second in our Help Sheet series, you liked cheating with CSS, hopefully you&#8217;ll love cheating with HTML! To get going with HTML, just get the PDF below. New to GoSquared? For those of you new to GoSquared &#8211; we help people improve their websites. GoSquared real-time web analytics enables you to understand what&#8217;s happening [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://static.gosquared.com/images/liquidicity/07_03_04_HTML_preview_790x200.jpg' alt='HTML Help Sheet Preview - download free reference sheets from GoSquared' width="790" height="200" /></p>
<p>The <a href="http://www.gosquared.com/liquidicity/archives/33">second</a> in our Help Sheet series, you liked cheating with CSS, hopefully you&#8217;ll <strong>love</strong> cheating with HTML! To get going with HTML, just get the PDF below.</p>
<h3>New to GoSquared?</h3>
<p>For those of you new to <a href="http://www.gosquared.com/" title="GoSquared real-time web analytics and monitoring. Improve your site now.">GoSquared</a> &#8211; we help people improve their websites. GoSquared real-time web analytics enables you to understand what&#8217;s happening on your site right now. We run <a href="http://www.gosquared.com/liquidicity/">this blog</a>, on design, technology and marketing to share our thoughts and content with wonderful people like you in the hope that you&#8217;ll also <a href="/plans/" title="View plans and pricing for GoSquared real-time web analytics">try GoSquared</a>.</p>
<p><a href="http://downloads.gosquared.com/help_sheets/07/HTML%20Help%20Sheet.pdf" title="PDF"><img src="http://static.gosquared.com/images/liquidicity/doc_pdf_48.png" alt="PDF" height="48" width="48" /> Get the PDF (112kb)</a></p>
<p>See also: <a href="http://gosquared.com/liquidicity/archives/33">CSS Help Sheet</a></p>
<h3>New Help Sheets Now Available!</h3>
<p><a href="http://www.gosquared.com/liquidicity/archives/category/helpsheets"><img src="http://static.gosquared.com/images/liquidicity/Help_sheets_promo_140x140.jpg" alt="Check out all available Help Sheets on GoSquared - including CSS, CSS3, HTML, PHP, and Node Help Sheets" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gosquared.com/liquidicity/archives/51/feed</wfw:commentRss>
		<slash:comments>101</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
