<?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>Phil SherryPhil Sherry</title>
	<atom:link href="http://philsherry.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://philsherry.com</link>
	<description>Geek. Scouser. Web Designer.</description>
	<lastBuildDate>Sat, 14 Jan 2012 09:58:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>An easier Internet Explorer experience</title>
		<link>http://philsherry.com/2012/01/14/an-easier-internet-explorer-experience/</link>
		<comments>http://philsherry.com/2012/01/14/an-easier-internet-explorer-experience/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 08:54:34 +0000</pubDate>
		<dc:creator>Phil Sherry</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[conditional comments]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[ie7]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[less]]></category>
		<category><![CDATA[mixins]]></category>
		<category><![CDATA[sass]]></category>

		<guid isPermaLink="false">http://philsherry.com/?p=549</guid>
		<description><![CDATA[If you didn&#8217;t already know, I&#8217;ve been a professional Front&#8211;End Web Developer for about 13 years now. In that time, I&#8217;ve seen a lot of horrible practices come and go &#8212; tables for layout, JavaScript image rollovers (for important navigation, &#8230; <a href="http://philsherry.com/2012/01/14/an-easier-internet-explorer-experience/">Continue reading <span class="meta-nav">&#8594;</span></a><p>This article is copyright &copy; 2012 Phil Sherry.</p>]]></description>
			<content:encoded><![CDATA[<p>If you didn&#8217;t already know, I&#8217;ve been a professional Front&ndash;End Web Developer for about 13 years now. In that time, I&#8217;ve seen a lot of horrible practices come and go &mdash; tables for layout, JavaScript image rollovers (for important navigation, no less), &#8220;<a href="http://www.mshealthcareers.com/bestview.htm" title=":: How to view this site ::">This site looks best in Netscape 4 at 800&#215;600</a>&#8221;, abysmal Flash splash/loading pages with the omnipresent Skip Intro button, et cetera. One of those horrible practices, however, is still around today: Internet Explorer.</p>
<p>As someone who works in the real world, with real clients, I still have to build sites with IE in mind; often, from version 6 upwards. Despite the best efforts of everyone&mdash;<a href="http://www.ie6countdown.com/" title="Internet Explorer 6 Countdown | Death to IE 6 | IE6 Countdown">Microsoft included</a>&mdash;there are still some places where IE6 is the target browser. Try building a website for a China&ndash;based audience without making it IE6&ndash;proof and you&#8217;ve lost your target audience before you even launch the site. Hard to imagine in 2012, but there it is. </p>
<p>With that small bit of background, I&#8217;ll introduce Mark:</p>
<blockquote class="twitter-tweet"><p>Hang on. I&#8217;ll buy someone a beer if they sort out my IE CSS for me&hellip; anyone? anyone?</p>
<p>&mdash; Mark M (@M4RKM) <a href="https://twitter.com/M4RKM/status/154869885724397568" data-datetime="2012-01-05T10:20:32+00:00">January 5, 2012</a></p></blockquote>
<p><script src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>Mark Tweeted that just as I was glancing at my Twitter client, so I took him up on his offer. Without even seeing the site or any code, I helped him fix his problem. How? By applying a few Golden Rules. </p>
<ol>
<li><a href="#one">Does the HTML validate?</a></li>
<li><a href="#two">Have you used the correct methods for cross&ndash;browser inline&ndash;block, clearing floats, etc?</a></li>
<li><a href="#three">Are you using Conditional Comments rather than CSS hacks?</a></li>
</ol>
<h2 id="one">Always Validate</h2>
<p>As soon as I asked the first question: *facepalm*. He saw a missing &lt;/div&gt; was causing most of the problems. After fixing that, it was just a few minor fixes away from looking as it should. And this is why you should <a href="http://validator.w3.org/" title="The W3C Markup Validation Service">validate</a>. </p>
<p>I come across this kind of thing a lot on Twitter, so I thought I&#8217;d write a few words on the process that I use, in the hope that it may help a few people have a few less sleepless nights over such stupidly basic problems. I&#8217;ll also briefly cover one of the newer things to arrive on my desk: CSS pre&ndash;processors.</p>
<h2 id="two">Use the Available Resources</h2>
<p>You can usually guess which areas of a site will be problematic in IE6 as you&#8217;re building it. They&#8217;ll be things like margin/padding issues, due to the browser not being able to count properly. Lots of these problems are well documented at the most excellent <a href="http://www.positioniseverything.net/ie-primer.html" title="Internet Explorer vs. the Standards, a primer on standards violations in Explorer">Position is Everything</a>. Quite often, though, you&#8217;ll run into a whole load of float&ndash;related problems. A great way around this is to use inline&ndash;block. Yes, this isn&#8217;t natively respected by IE6, but there is a cross&ndash;browser fix that you can use: </p>
<blockquote cite="http://foohack.com/2007/11/cross-browser-support-for-inline-block-styling/">
<pre><code>display: -moz-inline-stack;
display: inline-block;
zoom: 1;
*display: inline;
</code></pre>
<p><cite>from: <a href="http://foohack.com/2007/11/cross-browser-support-for-inline-block-styling/" title="Cross Browser Support for inline-block Styling">http://foohack.com/2007/11/cross-browser-support-for-inline-block-styling/</a></cite>
</p></blockquote>
<p>That should help you get rid of some serious pain, but you may have to float some of those elements as well. First and foremost, give those floated elements a width, or IE6 will punch you in the face. Just adding a width isn&#8217;t the only step you need to take, though; that&#8217;s where the clear fix hack comes in. It&#8217;s been around for a while now, but here&#8217;s the latest version:</p>
<blockquote cite="http://nicolasgallagher.com/micro-clearfix-hack/">
<pre><code>/* For modern browsers */
.cf:before,
.cf:after {
    content: "";
    display: table;
}

.cf:after { clear: both; }

/* For IE 6/7 (trigger hasLayout) */
.cf { zoom: 1; }
</code></pre>
<p><cite>from: <a href="http://nicolasgallagher.com/micro-clearfix-hack/" title="A new micro clearfix hack &#8211;  Nicolas Gallagher">http://nicolasgallagher.com/micro-clearfix-hack/</a></cite>
</p></blockquote>
<p>If you&#8217;re already familiar with the clearfix hack, then you probably have that class littered throughout your markup. That&#8217;s pretty ugly. Almost on cue as I was thinking about writing this, Chris Stainthorpe hit me with this question:</p>
<blockquote class="twitter-tweet"><p>@<a href="https://twitter.com/philsherry">philsherry</a> You had strong opinions on the most-semantic-est way to apply clearfixes. Can you point me at an article about it?</p>
<p>&mdash; Chris Stainthorpe (@skipchris) <a href="https://twitter.com/skipchris/status/156848993475899392" data-datetime="2012-01-10T21:24:48+00:00">January 10, 2012</a></p></blockquote>
<p><script src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>As it&#8217;s 2012, you should be living in the now and using a CSS pre&ndash;processor, such as <a href="http://lesscss.org/" title="LESS &laquo; The Dynamic Stylesheet language">LESS</a> or <a href="http://sass-lang.com/" title="Sass - Syntactically Awesome Stylesheets">SASS</a>. They&#8217;re both fairly similar, but I prefer LESS. To use the two hacks above in your LESS files, just create the following mixins:</p>
<pre><code>.inline-block() {
    display: -moz-inline-stack;
    display: inline-block;
    zoom: 1;
    *display: inline;
}
.clearfix() {
    .cf:before,
    .cf:after {
        content: "";
        display: table;
    }
    .cf:after { clear: both; }
    .cf { zoom: 1; }
}
</code></pre>
<p>To use those mixins, it&#8217;s as simple as including them like so:</p>
<pre><code>.element {
    .clearfix();
    .inline-block();
}</code></pre>
<p>That will output the following in your CSS file:</p>
<pre><code>.element {
    display: -moz-inline-stack;
    display: inline-block;
    zoom: 1;
    *display: inline;
}
.element:before,
.element:after {
    display: table;
    content: "";
    zoom: 1;
    *display: inline;
}
.element:after {
    clear: both;
}</code></pre>
<p>As you can see, it&#8217;s a lot nicer to just be able to add <code>.clearfix();</code> into a style rule, than have to litter your markup with non&ndash;semantic <code>.clearfix</code> classes. </p>
<p>So, while using a CSS pre&ndash;processor isn&#8217;t a necessity for getting IE6 to behave nicely, I&#8217;m sure you can see it helps to make things a bit easier. The rest is just common sense: <strong>learn the basic bugs and how to write markup and CSS that eradicates them as much as possible, and then use resources like the <a href="http://css-tricks.com/snippets/css/" title="CSS | CSS-Tricks">CSS Tricks Snippets library</a> to grab fixes such as clearfix and inline&ndash;block, amongst other things</strong>. Pretty much everything is already out there, so you don&#8217;t have to suffer IE6 in silence.</p>
<p>If you want to know more about using LESS, Anthony Killeen (@MrQwest) recently published this article on <a href="http://www.12devsofxmas.co.uk/" title="12 Devs of Xmas | 12 interesting projects using the sweetest web tech of the year">12 Devs of Xmas</a>: <a href="http://www.12devsofxmas.co.uk/2011/12/less/" title="On the first day of Xmas, learn to use LESS | 12 Devs of Xmas">On the first day of Xmas, learn to use LESS</a>. Well worth a read.</p>
<h2 id="three">Conditional Comments</h2>
<p>Finally, I mentioned Conditional Comments, but what are they? A bloody fantastic invention, is what they are. Rather than having to litter your CSS with all manner of ugly hacks (<a href="http://tantek.com/CSS/Examples/boxmodelhack.html" title="Box Model Hack">Tantek&#8217;s Box Model Hack</a>, anyone?), Conditional Comments allow you to specify individual members of the IE family. Here&#8217;s how I go about that:</p>
<pre><code>&lt;!--[if lte IE 8]&gt;
&lt;script src=&quot;http://html5shim.googlecode.com/svn/trunk/html5.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/js/selectivzr.min.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/js/jquery.pseudo.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;/css/styles.css&quot; /&gt;
&lt;link rel=&quot;shortcut icon&quot; type=&quot;image/x-icon&quot; href=&quot;/favicon.ico&quot; /&gt;
&lt;link rel=&quot;apple-touch-icon&quot; href=&quot;/apple-touch-icon-57x57.png&quot;  /&gt;
&lt;link rel=&quot;apple-touch-icon&quot; sizes=&quot;72x72&quot; href=&quot;/apple-touch-icon-72x72.png&quot; /&gt;
&lt;link rel=&quot;apple-touch-icon&quot; sizes=&quot;114x114&quot; href=&quot;/apple-touch-icon-114x114.png&quot; /&gt;
&lt;!--[if IE]&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;/css/ie.css&quot; media=&quot;screen&quot; /&gt;
&lt;![endif]--&gt;
&lt;!--[if IE 8]&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;/css/ie8.css&quot; media=&quot;screen&quot; /&gt;
&lt;![endif]--&gt;
&lt;!--[if IE 7]&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;/css/ie7.css&quot; media=&quot;screen&quot; /&gt;
&lt;![endif]--&gt;
&lt;!--[if IE 6]&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;/css/ie6.css&quot; media=&quot;screen&quot; /&gt;
&lt;script src=&quot;/js/ie6.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;</code></pre>
<p>We&#8217;ll look at that in chunks. </p>
<p>The first chunk says &#8220;if less than or equal to IE 8, then do this&#8221;. IE8 downwards requires the HTML5 shim, plus a few other helping hands, so they get added here, before the main stylesheet.</p>
<p>Next up, regular styles and icons. </p>
<p>Following on, you&#8217;ll see rules for: all IEs, just IE8, just IE7, and then IE6, which gets its own JS file as well. If you&#8217;re using <a href="/2012/01/07/css3-enterprise/" title="CSS3 Enterprise | Phil Sherry">CSS3PIE</a>, you&#8217;d include your <code>pie.css</code> file here, too.</p>
<h2>And, relax&hellip;</h2>
<p>Using these methods, you should have a lot less bother with cross&ndash;browser testing and sleep far easier at night.</p>
<p>Thanks to Edd Couchman (@redheat) for prodding me about Conditional Comments.</p>
<p>This article is copyright &copy; 2012 Phil Sherry.</p>]]></content:encoded>
			<wfw:commentRss>http://philsherry.com/2012/01/14/an-easier-internet-explorer-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS3 Enterprise</title>
		<link>http://philsherry.com/2012/01/07/css3-enterprise/</link>
		<comments>http://philsherry.com/2012/01/07/css3-enterprise/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 17:30:13 +0000</pubDate>
		<dc:creator>Phil Sherry</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css3pie]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[ie7]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[magazine]]></category>
		<category><![CDATA[web designer magazine]]></category>

		<guid isPermaLink="false">http://philsherry.com/?p=561</guid>
		<description><![CDATA[Using CSS3 in the workplace with minimal trouble &#38; strife About this article Web Designer Magazine approached me to write a CSS3 article back in February 2011. Having spent the last few days making a client&#8217;s site looking good in &#8230; <a href="http://philsherry.com/2012/01/07/css3-enterprise/">Continue reading <span class="meta-nav">&#8594;</span></a><p>This article is copyright &copy; 2012 Phil Sherry.</p>]]></description>
			<content:encoded><![CDATA[<h2>Using CSS3 in the workplace with minimal trouble &amp; strife</h2>
<section>
<h2>About this article</h2>
<p><a href="http://www.webdesignermag.co.uk/" title="Web Designer - defining the internet through beautiful design">Web Designer Magazine</a> approached me to write a CSS3 article back in February 2011. Having spent the last few days making a client&#8217;s site looking good in IE6, I thought this would make for a good article. <a href="/files/webdesigner-magazine-demo-site-files.zip" title="download the files">You can download the files for this tutorial here</a> (920k zip file).</p>
<figure>
		<img src="/wp-content/uploads/2011/04/magazine-comp.jpg" alt="magazine-comp" title="Web Designer Magazine" class="alignnone size-full wp-image-568" /></p>
<figcaption>This article originally appeared in the May 2011 edition of <a href="http://www.webdesignermag.co.uk/" title="Web Designer - defining the internet through beautiful design">Web Designer Magazine</a>.</figcaption>
</figure>
</section>
<section>
<h2>Introduction</h2>
<p>You&#8217;ve no doubt read a lot of articles about CSS3, so you know how it can help you to perform miracles and probably improve your love life (or is that HTML5?). You may also have read that you can forget about those older browsers and &#8220;live in the now&#8221;. Some people even seem to design only for WebKit-based browsers. Yay for fantasy worlds!</p>
<p>But, lots of us still work in the real world–a world where our Enterprise clients still rely heavily on archaic technologies, such as IE6 and it&#8217;s evil twin brothers, IE7 &amp; IE8. Should you still be serving up those gradients and rounded corners as images for such lesser browsers? Hell no! </p>
<p>In this article, you&#8217;ll learn how to serve up a site that looks the same in all browsers; from the latest Chrome and Safari all the way down to IE6, complete with all those CSS3 treats, media queries, and some CSS2.1 selectors.  You&#8217;ll also learn to climb out of any holes along the way.</p>
<p>With some conditional comments, a couple of small JavaScript libraries and a text editor, you&#8217;ll be keeping everyone sweet, no matter which browser they&#8217;re using–all with minimal trouble and strife.</p>
</section>
<section>
<h2>Step 1: Let&#8217;s get started</h2>
<p>Open up index.html and we&#8217;ll focus on the <head> first. You&#8217;ll see we&#8217;re using a reset stylesheet and then setting some default styles. This is going to help to get everything playing nicely across the different browsers; the fewer browser oddities, the better. We&#8217;re using
<link>s rather than lazy @imports. </p>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta charset=&quot;utf-8&quot; /&gt;
&lt;title&gt;CSS3 Enterprise&amp;mdash;Using CSS3 in the workplace with minmal trouble &amp;amp; strife&lt;/title&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;css/html5reset-1.6.1.css&quot; media=&quot;screen&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;css/default.css&quot; media=&quot;screen&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;css/css3enterprise.css&quot; media=&quot;screen&quot; /&gt;</code></pre>
<figure>
		<img src="/wp-content/uploads/2011/04/step01.jpg" alt="step01" title="Step 1" class="alignnone size-full wp-image-569" /></p>
<figcaption>The directory structure for the demo site, complete with all kinds of IE CSS files.</figcaption>
</figure>
</section>
<section>
<h2>Step 2: Conditional Comments</h2>
<p>If you&#8217;re new to conditional comments, they&#8217;re the best way to serve up IE-specific content without resorting to ugly hacks. What you have here are rules to serve up stylesheets like so: everything below IE9, 7+, 8, 7- and finally IE6. There&#8217;s also @rem&#8217;s HTML5 shiv in there, to stop elements falling all over the screen in IE.</p>
<pre><code>&lt;!--[if lte IE 8]&gt;
&lt;script src=&quot;http://html5shiv.googlecode.com/svn/trunk/html5.js&quot;&gt;&lt;/script&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;css/ie.css&quot; media=&quot;screen&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;css/pie.css&quot; media=&quot;screen&quot;&gt;
&lt;![endif]--&gt;
&lt;!--[if gte IE 7]&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;css/pie78.css&quot; media=&quot;screen&quot; /&gt;
&lt;![endif]--&gt;
&lt;!--[if IE 8]&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;css/ie8.css&quot; media=&quot;screen&quot; /&gt;
&lt;![endif]--&gt;
&lt;!--[if lte IE 7]&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;css/ie7.css&quot; media=&quot;screen&quot; /&gt;
&lt;![endif]--&gt;
&lt;!--[if lte IE 6]&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;css/ie6.css&quot; media=&quot;screen&quot; /&gt;
&lt;![endif]--&gt;
&lt;/head&gt;</code></pre>
<figure>
		<img src="/wp-content/uploads/2011/04/step02a.jpg" alt="step02a" title="Step 2a" class="alignnone size-full wp-image-570" /><br />
		<img src="/wp-content/uploads/2011/04/step02b.jpg" alt="step02b" title="Step 2b" class="alignnone size-full wp-image-571" /></p>
<figcaption>Using conditional comments to serve up different content to different browsers.</figcaption>
</figure>
</section>
<section>
<h2>Step 3: JavaScript assistance</h2>
<p>Okay, moving down to the bottom of the page, you&#8217;ll find some JavaScript files lurking in conditional comments as well. These have become known as polyfills and further help to fill the holes in IE6-8. You&#8217;ve got one to add some missing selectors and one to add the power to use media queries. The last one adds some more selectors.</p>
<pre><code>&lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;js/functions.js&quot;&gt;&lt;/script&gt;
&lt;!--[if lte IE 8]&gt;
&lt;script src=&quot;js/selectivizr.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;js/css3-mediaqueries.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;
&lt;!--[if lte IE 6]&gt;
&lt;script src=&quot;js/ie6.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>
<figure>
		<img src="http://philsherry.com/wp-content/uploads/2011/04/step03.jpg" alt="step03" title="Step 3" class="alignnone size-full wp-image-572" /></p>
<figcaption>selectivizr is a JavaScript utility that emulates CSS3 pseudo-classes and attribute selectors in Internet Explorer 6-8.</figcaption>
</figure>
</section>
<section>
<h2>Step 4: Grab a slice of PIE</h2>
<p>The main focus of this article is on a nice little behavior file called PIE: Progressive Internet Explorer (css3pie.com). PIE does for CSS3 what ibuprofen does for headaches–it relieves the pain. Now you have border-radius, box-shadow, gradients and transparent PNGs, all in one tidy file. Let&#8217;s investigate a slice of PIE served on the site. </p>
<pre><code>#site-header {
background-color: #000;
background: -webkit-gradient(linear, left top, left bottom, from(#4b4b4b), to(#000));
background: -moz-linear-gradient(top, #4b4b4b, #000);
-moz-border-radius: 8px 8px 0 0;
-webkit-border-radius: 8px 8px 0 0;
border-radius: 8px 8px 0 0;
color: #fff;
overflow: hidden;
position: relative;
/* add the PIE magic -- */
behavior: url(/css3pie/PIE.htc);
}</code></pre>
<figure>
		<img src="http://philsherry.com/wp-content/uploads/2011/04/step04.jpg" alt="step04" title="Step 4" class="alignnone size-full wp-image-573" /></p>
<figcaption>PIE makes Internet Explorer 6-8 capable of rendering several of the most useful CSS3 decoration features.</figcaption>
</figure>
</section>
<section>
<h2>Step 5: Serve your PIE correctly</h2>
<p>Chances are your web server is already configured to serve up PIE with the correct content-type (text/x-component). If you can&#8217;t get it working, it&#8217;s possible that it&#8217;s being served incorrectly. You can work around this with some .htaccess action, or by using the PHP script which is included. So, to use the PHP version, you just change three letters.</p>
<pre><code>#site-header {
background-color: #000;
background: -webkit-gradient(linear, left top, left bottom, from(#4b4b4b), to(#000));
background: -moz-linear-gradient(top, #4b4b4b, #000);
-moz-border-radius: 8px 8px 0 0;
-webkit-border-radius: 8px 8px 0 0;
border-radius: 8px 8px 0 0;
color: #fff;
overflow: hidden;
position: relative;
/* add the PIE magic -- */
behavior: url(/css3pie/PIE.php);
}</code></pre>
</section>
<section>
<h2>Step 6: Serve your PIE correctly</h2>
<p>You may come across an instance where the page has fully loaded, but you&#8217;re going to introduce new elements that you need to PIE. If you think it&#8217;s all over, there&#8217;s still an option to try: PIE.js.  Throw a callback to PIE.js in the mix and you&#8217;ve still got control. </p>
<pre><code>&lt;script src=&quot;/css3pie/PIE.js&quot;&gt;&lt;/script&gt;

$(function(){

if ($(&#x27;.post-DOM-element&#x27;).length) {
	$(&#x27;.post-DOM-element&#x27;).each(function() {
		PIE.attach(this);
	});
}

});</code></pre>
</section>
<section>
<h2>Step 7: Keep things neat and tidy</h2>
<p>As you can see, using PIE is as easy as adding a behavior file into your CSS declarations. We don&#8217;t want to go throwing it all over the place, though. We&#8217;ll use a separate stylesheet to keep things neat and tidy, using the same commented sections as the main stylesheet for ease of use.</p>
<pre><code>/*
SITE: CSS3 Enterprise
FILE: pie.css
GEEK: @philsherry
DATE: 2011-02-22
WHAT: css3pie styles for IE6-8

Copyright &copy;2011 Phil Sherry. All rights reserved.
*/

/* declare all the elements which need to be PIE&#x27;d */

/* -- default -------------------------------------------------------------- */

/* -- layout --------------------------------------------------------------- */

/* -- lists ---------------------------------------------------------------- */

/* -- forms ---------------------------------------------------------------- */

/* -- gradients ------------------------------------------------------------ */

/* ------------ black -- */

/* ------------ green -- */

/* ------------ white -- */

/* ------------ orange -- */</code></pre>
</section>
<section>
<h2>Step 8: Rounded corners</h2>
<p>In the last few years, pretty much everything has had rounded corners. Mainly because… well, because we can now. You can retire that jQuery snippet for added them to IE, because PIE is all you need to get the job done. It uses the same syntax and couldn&#8217;t be easier to use. Let&#8217;s look at adding some curves to the top of that site header.</p>
<pre><code>/* for decent browsers */
#site-header {
/* gecko browsers */
-moz-border-radius: 8px 8px 0 0;
/* webkit browsers */
-webkit-border-radius: 8px 8px 0 0;
/* non-prefixed rule */
border-radius: 8px 8px 0 0;
} 

/* for IE6-8 */
#site-header {
/* add the PIE magic -- */
behavior: url(/css3pie/PIE.htc);
/* this will use the non-prefixed rule from above */
}</code></pre>
<figure>
		<img src="http://philsherry.com/wp-content/uploads/2011/04/step08.jpg" alt="step08" title="Step 8" class="alignnone size-full wp-image-574" /></p>
<figcaption>With PIE, it&#8217;s dead easy to serve up CSS3 properties like border-radius to IE.</figcaption>
</figure>
</section>
<section>
<h2>Step 9: Easier gradients</h2>
<p>Ditching gradient images for CSS gradients is fantastic. No more slicing up images and having to redo them when a client changes the color scheme. You have that same freedom with IE now. The rule is the same across the board, since a new change in how WebKit handles things. Let&#8217;s get a gradient in that header.</p>
<pre><code>#site-header {
behavior: url(/css3pie/PIE.htc);
/* old WebKit syntax */
background: -webkit-gradient(linear, left top, left bottom, from(#4b4b4b), to(#000));
/* new WebKit syntax */
background: -webkit-linear-gradient(top, #4b4b4b, #000);
background: -moz-linear-gradient(top, #4b4b4b, #000);
/* PIE style */
-pie-background: linear-gradient(top, #4b4b4b, #000);
}</code></pre>
</section>
<section>
<h2>Step 10: Rounded corners and gradients </h2>
<p>One really nice reason for using PIE is saying goodbye to those ugly IE filters for gradients. In fact, you&#8217;ll benefit in another way when you want to use them in conjunction with rounded corners. If you try to use a filter with a rounded corner, you&#8217;ll see a lovely square corner. Bleh, gimme PIE!</p>
<pre><code>#site-header {
/* old, ugly, hacky way */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4b4b4b, endColorstr=#000);
-ms-filter: &quot;progid:DXImageTransform.Microsoft.gradient(startColorstr=#4b4b4b, endColorstr=#000)&quot;;

/* when come back, bring PIE */
behavior: url(/css3pie/PIE.htc);
background: -moz-linear-gradient(top, #4b4b4b, #000);
}</code></pre>
</section>
<section>
<h2>Step 11: PNG transparency</h2>
<p>Using transparent PNGs in IE has always been a bit painful, but the latest version of PIE handles them like a champ–even on background images. So, no more serving up both 32-bit &amp; 8-PNGs and losing loads of quality with the latter. As is the PIE way, it&#8217;s dead easy to add transparency to your PNGs in IE.</p>
<pre><code>img {
behavior: url(/css3pie/PIE.htc);
-pie-png-fix: true;
}</code></pre>
</section>
<section>
<h2>Step 12: Embrace the alpha channel</h2>
<p>While you&#8217;re still feeling all warm and fuzzy from seeing those transparent PNGs working nice and easily with PIE, there&#8217;s more. If you&#8217;ve been using rbga() at all, you&#8217;ll be glad to know this is supported with PIE as well. Yes, you can use that alpha channel with another slice of PIE, just the same as you would in your regular stylesheet.</p>
<pre><code>#kitten .title {
-pie-background: rgba(0,0,0,.5);
}</code></pre>
<figure>
		<img src="images/step12.jpg" alt="Step 12"><br />
		<img src="http://philsherry.com/wp-content/uploads/2011/04/step12.jpg" alt="" title="step12" class="alignnone size-full wp-image-575" /></p>
<figcaption>Embracing the alpha channel via PIE and using rgba() instead of a hacky filter. </figcaption>
</figure>
</section>
<section>
<h2>Step 13: Lazy loading</h2>
<p>As with real pie, too much PIE can make you fat. If you&#8217;ve got a really big page with tons of elements that need to be PIE&#8217;d, you might notice you hit a speed bump as the page loads. No surprise there, but you can smooth that out with some lazy loading. </p>
<pre><code>.pie-rules {
behavior: url(/css3pie/PIE.htc);
-pie-lazy-init: true;
}</code></pre>
</section>
<section>
<h2>Step 14: It&#8217;s all relative</h2>
<p>As amazing as PIE is, you may find a few gotchas. Luckily, they&#8217;re easy enough to deal with. One of the old IE standby fixes is built into PIE: zoom:1. Something you&#8217;ll have to add more than a few times is position:relative. So, you might want to just beef up your PIE rule to include that by default and override when needed.</p>
<pre><code>.pie-rules {
behavior: url(/css3pie/PIE.htc);
-pie-lazy-init: true;
-pie-png-fix: true;
position: relative;
}

#positioned-element {
	/* this element needs PIE but is positioned absolutely
		so reset the position here */
	position: absolute;
}</code></pre>
</section>
<section>
<h2>Step 15: Another relative point</h2>
<p>Another important point to note when adding your PIE behavior, is how to target the file. Because of the way IE parses the behavior file relative to the actual HTML file that it&#8217;s being used against, you must specify the location of PIE as such. Using an absolute path is the path of least resistance.</p>
<pre><code>/* absolute: gooood */
.pie-rules {
behavior: url(/css3pie/PIE.php);
}

/* relative: baaaad */
.pie-rules {
behavior: url(../css3pie/PIE.php);
}</code></pre>
</section>
<section>
<h2>Step 16: PIE&#8217;s Pernickety Percentages</h2>
<p>Another bug to be aware of in the current version of PIE seems to happen when you use a percentage value to pad an element. You get a lovely dialogue window in IE, telling you the sky is falling and asking if you want to debug it. No need for that: just specify the values in pixels, job&#8217;s a good&#8217;un.</p>
<pre><code>legend {
border: 3px solid #2f6d7a;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
padding: 5px 10px;
/* 	PIE gotcha:
	using a percentage value here will give you a nice error
	eg: padding: 2% 5%;
-- */
}</code></pre>
</section>
<section>
<h2>Step 17: Shorthand is a must</h2>
<p>If you&#8217;ve been writing CSS for a while, you&#8217;ll probably be familiar with CSS shorthand. This is good; because it means you probably have a better understanding of what you&#8217;re doing. But also, while PIE is just dandy with shorthand values, it doesn&#8217;t like longhand values and won&#8217;t work if you try using them. </p>
<pre><code>/* shorthand: gooood */
#user-nav {
-moz-border-radius: 0 8px 0 8px;
-webkit-border-radius: 0 8px 0 8px;
border-radius: 0 8px 0 8px;
}

/* longhand: baaaad */
#user-nav {
-webkit-border-top-right-radius: 8px;
-webkit-border-bottom-left-radius: 8px;
-moz-border-radius-topright: 8px;
-moz-border-radius-bottomleft: 8px;
border-top-right-radius: 8px;
border-bottom-left-radius: 8px;
}</code></pre>
</section>
<section>
<h2>Step 18: Selectors via selectivizr</h2>
<p>Okay, that&#8217;s enough with the PIE show already. We&#8217;ll cover some slightly older (CSS 2.1) selectors now. Why? Because they&#8217;re still awesome, and yet they&#8217;re still missing in IE6-8. With all kinds of small JavaScript libraries available these days, naturally, there&#8217;s one that replaces many of these selectors. We&#8217;ve used selectivizr.js in our demo site, and with that, we get [attr] selectors. </p>
<pre><code>/* fully valid URL, likely external link */
a[href^=&quot;http://&quot;] { background-image: url(../images/external.png); }

/* internal relative link */
a[href^=&quot;/&quot;], a[href^=&quot;..&quot;] {}

/* email link */
a[href^=&quot;mailto:&quot;] { background-image: url(../images/email.png); }

/* PDF file */
a[href$=&quot;.pdf&quot;] { background-image: url(../images/page_white_acrobat.png); }

/* Microsoft Word file */
a[href$=&quot;.doc&quot;] { background-image: url(../images/page_white_word.png); }

/* music file */
a[href$=&quot;.mp3&quot;] { background-image: url(../images/page_white_cd.png); }

/* archive file */
a[href$=&quot;.zip&quot;] { background-image: url(../images/page_white_compressed.png); }

a[href^=&quot;http://&quot;],
a[href^=&quot;mailto:&quot;],
a[href$=&quot;.pdf&quot;],
a[href$=&quot;.doc&quot;],
a[href$=&quot;.mp3&quot;],
a[href$=&quot;.zip&quot;] {
	background-repeat: no-repeat;
	background-position: 98.5% 50%;
	padding-right: 20px;
	/* cross-browser inline-block: http://foohack.com/2007/11/cross-browser-support-for-inline-block-styling/ */
	display: -moz-inline-stack;
	display: inline-block;
	zoom: 1;
	*display: inline;
}</code></pre>
</section>
<section>
<h2>Step 19: No child left behind</h2>
<p>A really handy selector from the CSS3 stable is :last-child. In our demo site, we&#8217;ve used that to position one of the links away from the main links and style it slightly differently. As with lots of good stuff, this is missing in IE6-8, but selectivizr fills that gap and adds it right in there.  </p>
<pre><code>#site-nav li:last-child { margin-left: 250px; }</code></pre>
</section>
<section>
<h2>Step 20: Selectors via jQuery</h2>
<p>Unfortunately, selectivizr doesn&#8217;t cure all ills, so you can&#8217;t relax just yet. If you really do want to use the same selectors throughout your site, you can get jQuery to do some of the heavy lifting. If you&#8217;re after using the > selector, then it&#8217;s easy enough. Just add a couple of lines to your ie6.js file, like this.</p>
<pre><code>$(document).ready(function() {

$(&quot;section &gt; h1&quot;).css(&#x27;font-size&#x27;,&#x27;42px&#x27;);

$(&quot;article &gt; h1&quot;).css(&#x27;font-size&#x27;,&#x27;24px&#x27;);

});
</code></pre>
</section>
<section>
<h2>Step 21: Media Queries</h2>
<p>Unless you&#8217;ve been living under a rock for the past few months, you&#8217;ll no doubt have heard all about media queries and responsive web design. Anyone with an iPhone, iPad or smartphone can now get served up the same site in different sizes, dependent on the size of the viewport. Pretty nifty stuff. Andy Clark has kindly provided a nice boilerplate to use.</p>
<pre><code>/* 

Hardboiled CSS3 Media Queries by Andy Clarke:

http://stuffandnonsense.co.uk/blog/about/hardboiled_css3_media_queries/

Author: Andy Clarke
Web site: http://stuffandnonsense.co.uk
Twitter: http://twitter.com/malarkey

Hardboiled Web Design
Web site: http://hardboiledwebdesign.com
Twitter: http://twitter.com/itshardboiled

Version date : 30th September 2010
Version: 0.9

License: Creative Commons CC Zero Declaration. No Rights Reserved.

*/

/* Smartphones (portrait and landscape) ----------- */
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
/* Styles */
}

/* Smartphones (landscape) ----------- */
@media only screen and (min-width : 321px) {
/* Styles */
}

/* Smartphones (portrait) ----------- */
@media only screen and (max-width : 320px) {
/* Styles */
}

/* iPads (portrait and landscape) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
/* Styles */
}

/* iPads (landscape) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
/* Styles */
}

/* iPads (portrait) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
/* Styles */
}

/* Desktops and laptops ----------- */
@media only screen and (min-width : 1224px) {
/* Styles */
}

/* Large screens ----------- */
@media only screen and (min-width : 1824px) {
/* Styles */
}

/* iPhone 4 and high pixel ratio devices ----------- */
@media
only screen and (-webkit-min-device-pixel-ratio : 1.5),
only screen and (min-device-pixel-ratio : 1.5) {
/* Styles */
}</code></pre>
</section>
<section>
<h2>In Detail: Beating IE6-8 into responsive submission</h2>
<p>One of the latest hot topics is responsive web design. This boils down to serving up a site, but with CSS that adapts itself to the viewport of whichever device you&#8217;re using. This is done with some magic called media queries. They look a little scary at first, but they&#8217;re pretty easy to get your head around. Internet Explorer, on the other hand, doesn&#8217;t understand them at all. As ever, the internet&#8217;s favourite ginger-haired cousin needs a stern word. Once you&#8217;ve added a small JavaScript file, we&#8217;re using css3-mediaqueries.js here; you can then set about declaring different rules for different browser viewports. And just as an added extra, PIE works really nicely when the browser is resized. So, you get the full experience in IE at any size you like.</p>
</section>
<section>
<h2>Step 22: Media Queries in IE</h2>
<p>However, as you might expect, what with such an awesome feature, it&#8217;s not supported natively in IE6-8. As you&#8217;re probably beginning to learn, that no longer means you have to miss out, as there are some small libraries you can use to add this functionality to IE. We&#8217;re using css3-mediaqueries.js here, which works great.</p>
<pre><code>/* -- Desktops and laptops -- */
@media only screen and (min-width : 1224px) {
#page {
	width: 1200px;
}

#site-search .text {
	margin: 0;
	width: 195px;
}

#content-main { width: 800px; }

#content-sub { width: 300px; }

#footer-icons li { padding: 5px 10px; }

}</code></pre>
<figure>
		<img src="http://philsherry.com/wp-content/uploads/2011/04/step22.jpg" alt="step22" title="Step 22" class="alignnone size-full wp-image-576" /></p>
<figcaption>The full demo site in IE, complete with CSS3 rounded corners, gradients and shadows.</figcaption>
</figure>
</section>
<p>This article is copyright &copy; 2012 Phil Sherry.</p>]]></content:encoded>
			<wfw:commentRss>http://philsherry.com/2012/01/07/css3-enterprise/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learn to Code</title>
		<link>http://philsherry.com/2012/01/02/learn-to-code/</link>
		<comments>http://philsherry.com/2012/01/02/learn-to-code/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 16:56:14 +0000</pubDate>
		<dc:creator>Phil Sherry</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[code academy]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[learn]]></category>

		<guid isPermaLink="false">http://philsherry.com/?p=539</guid>
		<description><![CDATA[I came across this new resource earlier today: Make your New Year&#8217;s resolution learning to code. Sign up on Code Year to get a new interactive programming lesson sent to you each week and you&#8217;ll be building apps and web &#8230; <a href="http://philsherry.com/2012/01/02/learn-to-code/">Continue reading <span class="meta-nav">&#8594;</span></a><p>This article is copyright &copy; 2012 Phil Sherry.</p>]]></description>
			<content:encoded><![CDATA[<p>I came across this new resource earlier today:</p>
<blockquote cite="http://www.codeyear.com/">
<p><b>Make your New Year&#8217;s resolution learning to code.</b></p>
<p>Sign up on Code Year to get a new interactive programming lesson sent to you each week and you&#8217;ll be building apps and web sites before you know it.</p>
</blockquote>
<p>I thought The Wife &amp; Child may be interested to learn, but I needed to know what sort of level they were aiming at. As it happens, I&#8217;ve managed to learn a couple of things along the way myself. Bonus.</p>
<p><a href="http://www.codeyear.com/" title="Code Year"><img src="http://philsherry.com/wp-content/uploads/2012/01/learn-to-code-year.png" alt="code year" title="learn-to-code-year" class="alignnone size-full wp-image-541" /></a></p>
<p>So, if you&#8217;ve ever thought about it, but not had the right resource, you have no excuse any more. <a href="http://www.codecademy.com/" title="Learn to code | Codecademy">Get along to Code Academy and sign yourself up.</a> You won&#8217;t end up talking in binary, but you&#8217;ll have a better understanding of why developers are a bunch of cranky bastards.</p>
<p><a href="http://www.codecademy.com/" title="Learn to code | Codecademy"><img src="http://philsherry.com/wp-content/uploads/2012/01/learn-to-code-academy.png" alt="" title="learn-to-code-academy" class="alignnone size-full wp-image-540" /></a></p>
<p>This article is copyright &copy; 2012 Phil Sherry.</p>]]></content:encoded>
			<wfw:commentRss>http://philsherry.com/2012/01/02/learn-to-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011 Came and Went</title>
		<link>http://philsherry.com/2012/01/01/2011-came-and-went/</link>
		<comments>http://philsherry.com/2012/01/01/2011-came-and-went/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 11:09:01 +0000</pubDate>
		<dc:creator>Phil Sherry</dc:creator>
				<category><![CDATA[Phil Sherry]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Site]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[roundup]]></category>

		<guid isPermaLink="false">http://philsherry.com/?p=524</guid>
		<description><![CDATA[I didn&#8217;t blog in 2011. Not once. It&#8217;s not like nothing happened; it was eventful. I got married. I wrote some stuff. I took my Wife to Paris. The Child left the little pond to become a Big Fish. I &#8230; <a href="http://philsherry.com/2012/01/01/2011-came-and-went/">Continue reading <span class="meta-nav">&#8594;</span></a><p>This article is copyright &copy; 2012 Phil Sherry.</p>]]></description>
			<content:encoded><![CDATA[<p>I didn&#8217;t blog in 2011. Not once. It&#8217;s not like nothing happened; it was eventful.</p>
<p><img src="http://philsherry.com/wp-content/uploads/2012/01/2011-wedding.jpg" alt="2011-wedding" title="2011-wedding" class="alignnone size-full wp-image-535" /></p>
<p>I got married.</p>
<p><img src="http://philsherry.com/wp-content/uploads/2012/01/2011-magazine.jpg" alt="2011-magazine" title="2011-magazine" class="alignnone size-full wp-image-534" /></p>
<p>I wrote some stuff.</p>
<p><img src="http://philsherry.com/wp-content/uploads/2012/01/2011-paris.jpg" alt="2011-paris" title="2011-paris" class="alignnone size-full wp-image-531" /></p>
<p>I took my Wife to Paris.</p>
<p><img src="http://philsherry.com/wp-content/uploads/2012/01/2011-prom.jpg" alt="2011-prom" title="2011-prom" class="alignnone size-full wp-image-532" /></p>
<p>The Child left the little pond to become a Big Fish.</p>
<p><img src="http://philsherry.com/wp-content/uploads/2012/01/2011-spain.jpg" alt="2011-spain" title="2011-spain" class="alignnone size-full wp-image-533" /></p>
<p>I took my Wife to Spain.</p>
<p><img src="http://philsherry.com/wp-content/uploads/2012/01/2011-bird-head.jpg" alt="2011-bird-head" title="2011-bird-head" class="alignnone size-full wp-image-530" /></p>
<p>The cats upgraded our presents.</p>
<p><img src="http://philsherry.com/wp-content/uploads/2012/01/2011-weasley.jpg" alt="2011-weasley" title="2011-weasley" class="alignnone size-full wp-image-529" /></p>
<p>We welcomed Weasley to the family.</p>
<p><img src="http://philsherry.com/wp-content/uploads/2012/01/2011-old-skool.jpg" alt="2011-old-skool" title="2011-old-skool" class="alignnone size-full wp-image-528" /></p>
<p>I met some old friends.</p>
<p><img src="http://philsherry.com/wp-content/uploads/2012/01/2011-liverpool.jpg" alt="2011-liverpool" title="2011-liverpool" class="alignnone size-full wp-image-525" /></p>
<p>I revisited home a couple of times and saw my family.</p>
<p><img src="http://philsherry.com/wp-content/uploads/2012/01/2011-new-guitar.jpg" alt="2011-new-guitar" title="2011-new-guitar" class="alignnone size-full wp-image-526" /></p>
<p>I got another new guitar and played some new things.</p>
<p>2011 didn&#8217;t really have many minor points: I changed jobs a couple of times, and that was about it. No deaths, no major points of crisis, no accidents. </p>
<p>I will be making an effort to write things here again. Blame @TeddyZetterlund.</p>
<p>This article is copyright &copy; 2012 Phil Sherry.</p>]]></content:encoded>
			<wfw:commentRss>http://philsherry.com/2012/01/01/2011-came-and-went/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>s/2010/2011</title>
		<link>http://philsherry.com/2010/12/30/end-of-line/</link>
		<comments>http://philsherry.com/2010/12/30/end-of-line/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 23:23:50 +0000</pubDate>
		<dc:creator>Phil Sherry</dc:creator>
				<category><![CDATA[Freelance]]></category>
		<category><![CDATA[Site]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[roundup]]></category>

		<guid isPermaLink="false">http://philsherry.com/?p=409</guid>
		<description><![CDATA[<p>After not blogging for a few months, I figured I&#8217;d finish the year off and see the new one in.</p> <a href="http://philsherry.com/2010/12/30/end-of-line/">Continue reading <span class="meta-nav">&#8594;</span></a><p>This article is copyright &copy; 2012 Phil Sherry.</p>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve not really bothered much with blogging in the last few months. After <a href="/2010/09/03/back-in-the-uk/" title="Back in the UK | Phil Sherry">I got back from Spain</a>, I had a load of freelance jobs to finish up (including <a href="http://www.margaretcowen.co.uk" title="Margaret Cowen &#187; Actress">a site for an actress called Margaret Cowen</a>). I then found myself freelancing at <a href="http://www.orangebus.co.uk" title="website design | web development | e-commerce | content management systems | SEO | Newcastle Upon Tyne | Orange Bus Digital Agency">Orange Bus</a> for a few weeks. That turned into a couple of months, which turned into a permanent role. Nice bunch of people, great atmosphere, spanky new office &mdash; the Bus is going places in 2011, and I&#8217;m proud to be onboard. </p>
<p>2010&#8217;s lows and highs can be summed up, thus: had a house on the market, sold the house! Took almost a year, but we got shut of it the other day. A great end to a year that wasn&#8217;t really that bad. I&#8217;ve definitely had worse.</p>
<p><a href="http://www.eyefund.info" title="The Eye Fund | A charity to support people losing their vision">The Eye Fund</a> &mdash; my family&#8217;s charity to support people losing their vision &mdash; passed the &pound;50,000 mark, which is pretty fantastic.</p>
<p>I went to the <a href="http://www.netmag.co.uk/" title="Home - .net magazine">.Net Magazine</a> awards in London and watched my mate, Jake, <a href="http://www.systemerror.co.uk/2010/12/18/dems-the-break/" title="system error &raquo; This is not the error code you’re looking for…  &raquo; “Dem’s the breaks!”">break his arm in three places</a>, which was pretty horrific.</p>
<p>2011 brings my 40th birthday into play. It&#8217;s just a number, right? Right.</p>
<p>And with that minor interruption, I&#8217;m going to get back to setting up my new iMac. See you in 2011. Happy new year.</p>
<p>&mdash;END OF LINE</p>
<p>This article is copyright &copy; 2012 Phil Sherry.</p>]]></content:encoded>
			<wfw:commentRss>http://philsherry.com/2010/12/30/end-of-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back in the UK</title>
		<link>http://philsherry.com/2010/09/03/back-in-the-uk/</link>
		<comments>http://philsherry.com/2010/09/03/back-in-the-uk/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 10:04:24 +0000</pubDate>
		<dc:creator>Phil Sherry</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[estepona]]></category>
		<category><![CDATA[sanmiguel]]></category>
		<category><![CDATA[sanpedro]]></category>
		<category><![CDATA[sea]]></category>
		<category><![CDATA[spain]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://philsherry.com/?p=404</guid>
		<description><![CDATA[<p>Back in the gloomy UK after a week in the Mediterranean sun&#8230; and boy, does it suck.</p>
<p>The sun was relentless, the pool wasn&#8217;t too busy, the sea was crystal clear (and full of colourful fish!), the San Miguel was cold, and the veggie paella was gorgeous.</p>
 <a href="http://philsherry.com/2010/09/03/back-in-the-uk/">Continue reading <span class="meta-nav">&#8594;</span></a><p>This article is copyright &copy; 2012 Phil Sherry.</p>]]></description>
			<content:encoded><![CDATA[<p>Back in the gloomy UK after a week in the Mediterranean sun&hellip; and boy, does it suck.</p>
<p>My parents spend a few weeks near Estepona every year, so we thought we&#8217;d join them this time. We had a fantastic time. At times, I felt like I was in California; palm tree&ndash;lined roads, place names like San Pedro, Santa Clara, etc. The sun was relentless, the pool wasn&#8217;t too busy, the sea was crystal clear (and full of colourful fish!), the San Miguel was cold, and the veggie paella was gorgeous.</p>
<p>My brother was there with his family, too. His four&ndash;year old, Will, is utterly fearless in the pool. He spent all day jumping in and providing much hilarity.</p>
<p><iframe width="640" height="480" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/?ie=UTF8&amp;t=h&amp;ll=36.455652,-5.0509&amp;spn=0.004142,0.006866&amp;z=17&amp;iwloc=lyrftr:h,14399632441488577803,36.454781,-5.050825&amp;output=embed"></iframe></p>
<p>We&#8217;re hoping to return next year, maybe for longer, but it depends on lots of other things.</p>
<p>In the meantime, I shall sulk that I&#8217;m back in this country. Meh.</p>
<p>This article is copyright &copy; 2012 Phil Sherry.</p>]]></content:encoded>
			<wfw:commentRss>http://philsherry.com/2010/09/03/back-in-the-uk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

