<?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>Toby&#039;s Technical Ramblings &#187; Development</title> <atom:link href="http://tosbourn.com/category/development/feed/" rel="self" type="application/rss+xml" /><link>http://tosbourn.com</link> <description>A web development blog.</description> <lastBuildDate>Mon, 07 May 2012 10:47:42 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>The EU Cookie Law website</title><link>http://tosbourn.com/2012/05/development/the-eu-cookie-law-website/</link> <comments>http://tosbourn.com/2012/05/development/the-eu-cookie-law-website/#comments</comments> <pubDate>Tue, 01 May 2012 20:05:44 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[Google Analytics]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[LESS]]></category> <category><![CDATA[The EU Cookie Law]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=1021</guid> <description><![CDATA[So over the weekend I launched The EU Cookie Law.com, there are several firsts for me and interesting features that I wanted to discuss. So the reason I decided to create this site was because I wanted to learn more about the law and how it applies to the projects I work on. Initially I [...]]]></description> <content:encoded><![CDATA[<p>So over the weekend I launched <a
href="http://www.theeucookielaw.com">The EU Cookie Law</a>.com, there are several firsts for me and interesting features that I wanted to discuss.</p><p>So the reason I decided to create this site was because I wanted to learn more about the law and how it applies to the projects I work on.</p><p>Initially I was going to write an in-depth blog post about it but then decided to use it as an excuse to play with some funky new toys I have been meaning to play with for a while.</p><h2>Learning about the law</h2><p>Even the process of learning about the law was pretty interesting &#8211; on a quick pass you find a handful of websites aimed at the law and a few articles on it, but nothing major &#8211; but if you start to refine your search you find that there are hundreds of people chatting about it and there are a lot of conflicting views &#8211; it really depended on how you worded your search .</p><p>There is a question here around how neutral you can make yourself whenever you search on the web, the tone of question could very well dictate the type of answer, but that is for another blog post.</p><p>This project was the first time in a long time that I set myself a homework &#8211; normally I skim read dozens of articles, follow a handful of tutorials and generally coast through new things (I strongly believe this to be the most efficient way to be an excellent generalist).</p><p>This time I gave myself the task of learning about something in depth, writing notes on it and then summarising those notes in a way I felt would be useful to others.</p><p>I really enjoyed the process and I certainly think I am going to set myself more tasks like this &#8211; instead of maybe just following a tutorial, really getting my teeth into each section and writing about it in a longer form format.</p><p>The final takeaway point for learning about the law was the law itself,<span
style="color: #ff0000;"> <strong>it seriously sucks</strong></span>, if you want to know about the EU Cookie Law, naturally you should visit the site but essentially it is just a bollocks law set by people who clearly have no real grasp of the technical issues involved in policing or enforcing something like this &#8211; it will crush small/medium businesses and put European trade on the back foot. Complete rubbish.</p><h2>Technology</h2><p>So the reason I decided to make a site instead of writing a blog post was I wanted a reason to try out Twitter&#8217;s Bootstrap &#8211; just to see if it was any good. Honestly, I found it confusing as hell &#8211; I can see the use as a bit of a quick template to get you going but the experience wasn&#8217;t anywhere close to what I assumed it would be like. I wouldn&#8217;t recommend it.</p><p>Whilst I was looking through the source of the Bootstrap I was reminded though of LESS, which extends CSS to allow it to do a whole manner of awesome things &#8211; LESS is just the bee&#8217;s knees, you can add variables to your code and apply mathematical and graphic methods to them, for example you can darken a colour by a particular percentage, this is so freakin awesome and time saving you wouldn&#8217;t believe.</p><p>I was worried it would be a bit of an arse to set up because I was developing on a machine that I haven&#8217;t really had the time to set up yet &#8211; to be able to compile the LESS files down to CSS I needed to install a node package, to install a node package I needed to install node, to install node I needed to install homebrew and to install homebrew I needed to install Xcode. None of these steps was particularly hard to do, it was just annoying to have to do them!</p><p>Once all the dependancies were installed I was flying, there was even a build package already built for Sublime Text 2 (my current text editor of choice) So I can just type cmd+b to save my less file as a CSS file.</p><p>If you have been to the site you will see that it is <em>very</em> basic &#8211; it is really just one long article &#8211; I had decided to use HTML5 because frankly only the elderly are still writing in HTML &lt; 5, because there was nothing too fancy going on I didn&#8217;t bother including modernizr.js and my tests showed that IE7 handled everything just fine, which is more proof (if proof be needed) that HTML5  should be the standard doctype for your markup.</p><p>I also used this project as an excuse to dick around with responsive design &#8211; before you get too excited the site doesn&#8217;t do a massive pile, in fact it was designed to be flexible regardless of media queries, but I was able to write enough to get my head more around the concepts better than it had been before.</p><p>If you are looking and can&#8217;t see it, it is because it is <em>that</em> subtle, basically the gutters of the page decrease away to almost nothing when viewing it on a very narrow screen.</p><h2>Analytics</h2><p>One of the contentious issues around the EU Cookie Law is that analytics such as Google Analytics is not seen as core site functionality, and as such people need to be given the option to be able to opt in or out of getting the GA tracking cookie.</p><p>Obviously I didn&#8217;t want to have a site about the EU Cookie Law that breaks the law, so I decided not to install Google Analytics, or any other 3rd party analytics tools.</p><p>I have to say I forgot how much you get can out of the information stored by the likes of Webalizer that comes installed cPanel (which comes with my hosting) &#8211; on a project like this were my only real interest in analytics is to look at some visitor counts every so often Webalizer more than meets my needs. I am sure plenty would disagree with me but I am starting to wonder if I need to stop blindly putting GA code into my sites and instead work with what my server can log and give me.</p><p>Because I don&#8217;t have that tracking code installed, or any social networking plugins it means I could get away without any JavaScript on the site at all.</p><p>It has been years since I have been able to write a project that was 100% HTML/CSS and I have to say it was liberating &#8211; no debugging to do, no overheads to be concerned about, brilliant.</p><h2>The Power of Hacker News / Reddit</h2><p>The only promotion I did upon launching the site was to submit it to both Hacker News and Reddit, I had over 1000 hits on the first day and the traffic is still going strong. I couldn&#8217;t have asked for better!</p><p>Sorry for the long rambly post!</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/05/development/the-eu-cookie-law-website/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>HTML5 Rocks Hangout 1</title><link>http://tosbourn.com/2012/04/development/html5-rocks-hangout-1/</link> <comments>http://tosbourn.com/2012/04/development/html5-rocks-hangout-1/#comments</comments> <pubDate>Sat, 28 Apr 2012 18:05:24 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Boris Smus]]></category> <category><![CDATA[Eric Bidelman]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[Paul Irish]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=1016</guid> <description><![CDATA[Yesterday I watched a video taken from a Google+ hangout and really enjoyed it. Essentially it is three Googlers (Boris Smus, Eric Bidelman, Paul Irish) talking about some of the cool stuff they have been working on. It includes some tips on some JavaScript performance debugging you can do with the soon to be new [...]]]></description> <content:encoded><![CDATA[<p>Yesterday I watched a video taken from a Google+ hangout and really enjoyed it.</p><p>Essentially it is three Googlers (Boris Smus, Eric Bidelman, Paul Irish) talking about some of the cool stuff they have been working on. It includes some tips on some JavaScript performance debugging you can do with the soon to be new Chrome dev tools and some other pretty rocking stuff.</p><p><iframe
src="http://www.youtube.com/embed/pmqKnEG-6GA" frameborder="0" width="560" height="315"></iframe></p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/html5-rocks-hangout-1/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Review: CodeLobster</title><link>http://tosbourn.com/2012/04/development/review-codelobster/</link> <comments>http://tosbourn.com/2012/04/development/review-codelobster/#comments</comments> <pubDate>Thu, 26 Apr 2012 19:20:59 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[CodeLobster]]></category> <category><![CDATA[IDE]]></category> <category><![CDATA[Review]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=1011</guid> <description><![CDATA[I was recently asked by the guys at CodeLobster if I wouldn&#8217;t mind checking out their software and writing a quick review of it. I am always more than happy to review any software or hardware, and there is nothing I like more than a nice IDE, so I jumped at the chance and for [...]]]></description> <content:encoded><![CDATA[<p>I was recently asked by the guys at <a
href="http://www.codelobster.com/">CodeLobster</a> if I wouldn&#8217;t mind checking out their software and writing a quick review of it.</p><p>I am always more than happy to <a
title="Reviews and Interviews" href="http://tosbourn.com/reviews-and-interviews/">review any software or hardware</a>, and there is nothing I like more than a nice IDE, so I jumped at the chance and for the last week, have been doing 80% of my 9-5 coding using CodeLobster</p><h2>What is CodeLobster</h2><p>CodeLobster is a Windows based PHP IDE, its core aim seems to be to allow you to create websites and web applications with the least amount of resistance possible. It has built in support for things like WordPress and CakePHP, which I have to say is pretty awesome.</p><p>I am not going to list out all the features present in the app, just draw attention to some of the things I like and don&#8217;t like about it, for a full rundown you can always visit the website.</p><h2>What I liked about it</h2><p>I really liked how out of the box it came with a lot of stuff, there was the integration with various libraries and frameworks, there was version control, there was build and debug tools &#8211; there was a lot, and of course it had your standard slew of features like syntax hilighting and auto-complete.</p><p>The first thing you will probably say is that your IDE of choice has all those things, and it probably does (pretty much all the ones I have used recently do) but they have had to be installed after the fact as plugins, never really a huge task but with CodeLobster you don&#8217;t have to.</p><p>There is a really nice feature that if you hover over a CSS property, you immediately get shown which browsers support that property, naturally this doesn&#8217;t replace testing but it does mean you can catch stuff as you write it instead of after it has been compiled, uploaded and ran.</p><p>Speaking of CSS, it also gives you a preview of the colour you are using in a property, which is something I have found plenty of editors and IDEs to be lacking.</p><p>Everything seemed really customisable, which is something more and more programs are latching onto these days, you really do get the sense this was written with web developers in mind.</p><p>The level of support I received early on was excellent too, I know they had a vested interest in keeping me happy because I was going to write a review but I did have some questions that were quickly and fully answered.</p><h2>What I disliked about it</h2><p>It felt a little unfinished in places, there are a couple of spelling mistakes and a couple of images have been used without due care and attention. I think perhaps it has been built by programmers for programmers, which is a good thing but maybe needs a designer to take a quick look at it and give them some notes.</p><p>It ran on Windows, not a crime in and of itself but because I run a Mac setup at home I could only really test it in work &#8211; I should say it handled our projects without a hitch and helped me out a lot.</p><p>I had to register to get a free account, this is probably to stop piracy or something but when I download something I want to install it and run it immediately &#8211; not have to fill in forms and copy keys from emails into stuff.</p><h2>Final thoughts</h2><p>I guess my thoughts on this are that it is a really good attempt at a PHP IDE, it ticks all the boxes I would need a development environment to tick and I would have no qualms with recommending others try out the software.</p><p>I probably won&#8217;t continue to use it much to be honest because I have found my current setup to be far more streamlined for my needs and is cross system compatible so I can run it on both of my Macs and my work PC.</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/review-codelobster/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Copying a CakePHP Project from Linux to Windows</title><link>http://tosbourn.com/2012/04/development/copying-a-cakephp-project-from-linux-to-windows/</link> <comments>http://tosbourn.com/2012/04/development/copying-a-cakephp-project-from-linux-to-windows/#comments</comments> <pubDate>Wed, 18 Apr 2012 10:11:35 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[CakePHP]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Windows 7]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=986</guid> <description><![CDATA[Recently I had to make some changes to a website built on top of the CakePHP framework. Most of the time I would develop within a Linux environment, making the edits locally and running them on a development server before pushing them onto a production server &#8211; the development server being pretty much a clone [...]]]></description> <content:encoded><![CDATA[<p>Recently I had to make some changes to a website built on top of the CakePHP framework.</p><p>Most of the time I would develop within a Linux environment, making the edits locally and running them on a development server before pushing them onto a production server &#8211; the development server being pretty much a clone of the production server.</p><p>This time however I opted to do the changes locally (there were a lot of small changes that make pushing to a development server a bit of a pain).</p><p>My setup is Windows 7 with XAMPP installed on it, but the stages I had to follow should be similar for most setups.</p><p>I already had the website code downloaded onto my machine as that is where I make the edits &#8211; once I set up my hosts file in Windows and the virtual host directives in Apache I figured I would be 90% of the way there. I wish!</p><p>The first issue I encountered was this:</p><pre>Warning: include(cake\bootstrap.php) [function.include]: failed to open stream: No such file or directory in C:\path\to\my\site\webroot\index.php on line 78

Warning: include() [function.include]: Failed opening 'cake\bootstrap.php' for inclusion (include_path='/path/to/cake') in C:\path\to\my\site\webroot\index.php on line 78

Fatal error: CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your \cake core directory and your \vendors root directory. in C:\path\to\my\site\webroot\index.php on line 79</pre><p>Obviously you go where the errors take you, sure enough if I open webroot/index.php I can see that it is linking to a folder structure that I don&#8217;t have locally.</p><p>I jump onto the development machine and grab the files that it was linking to, pull them into a folder and put the correct path in, like so:</p><pre>if (!defined('CAKE_CORE_INCLUDE_PATH')) {
		//define('CAKE_CORE_INCLUDE_PATH', "/old/linux/path/cake" );
		define('CAKE_CORE_INCLUDE_PATH', "C:\new\windows\path\cake" );
	}</pre><p>Now when I go to my site I get this error:</p><pre>An Internal Error Has Occurred</pre><p>Useful! But before that displays I do get some of my layout displaying on screen, so there is a bit of progress.</p><p>In order to squeeze some more information out of cake I go into config/core.php and change the debug level.</p><pre>//Configure::write('debug', 0);
Configure::write('debug', 2);</pre><p>Now when I refresh the page I get plenty of useful information! In my case it was because I was an idiot and forgot to hook up my database &#8211; I won&#8217;t go through the steps to do that but basically export the development database, import it into your local and make sure you set up the same users with the same privileges.</p><p>I tend to try and keep my local setup the same as development so I am not messing about with config files too much.</p><p>My next issue that is immediately apparent after a refresh is that CSS is not getting loaded (and I am going to guess that JavaScript isn&#8217;t getting loaded either).</p><p>I have found that the best way to begin to track down this sort of issue is to view the source of the page, first of all is the code in place to try and load in CSS? In my case it was.</p><p>Next question, does the path to the CSS file look right? Again in my case it does.</p><p>Final question, when you click on the link to the CSS file, does it load? In my case it does not.</p><p>This immediately feels like an issue with either Apache or .htaccess redirects.</p><p>First let me check Apache to make sure that mod_rewrite is turned on, I check my httpd.conf file and sure enough it is enabled. Which means there is probably something wrong with how my site is locally trying to rewrite things. Onto .htaccess!</p><p>Annoyingly in my case htaccess was fine &#8211; in my case it turns out that I stupidly didn&#8217;t have my path in my virtual host set to the webroot, once I added this into my virtual host directive and restarted Apache I started to get my CSS again.</p><p>That is almost us finished &#8211; everything seems to be working but there was one edit made earlier that needs to be tidied up &#8211; the location of the Cake folder is something you want to worry about long term, having to remember to change that whenever you move code about is just a pain.</p><p>You don&#8217;t want to exclude webroot/index.php from any deployment solution because at some stage you might change something that you want to deploy, so I suggest doing something like this:</p><pre>	if (!defined('CAKE_CORE_INCLUDE_PATH')) {
	    $currenturi = $_SERVER['DOCUMENT_ROOT'];
	    $mypos = strpos($currenturi, 'C:');
	    if ($mypos !== false) {
	    	define('CAKE_CORE_INCLUDE_PATH', "C:\my\windows\path\to\cake" );
	    } else {
	    	define('CAKE_CORE_INCLUDE_PATH', "/linux/path/to/cake" );
	    }
	}</pre><p>This will check for &#8220;C:&#8221; in the document_root variable, if it is there then we must be on a Windows machine, so lets display our local path. If not the Linux path will be used. (Note, it isn&#8217;t just because this is Windows vs Linux, any two setups can do this &#8211; with Linux to Linux you might have your files in your home directory, in which case you would look up your name as the differentiator)</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/copying-a-cakephp-project-from-linux-to-windows/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>I just made an affiliate program.</title><link>http://tosbourn.com/2012/04/development/i-just-made-an-affiliate-program/</link> <comments>http://tosbourn.com/2012/04/development/i-just-made-an-affiliate-program/#comments</comments> <pubDate>Sat, 14 Apr 2012 15:28:14 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Paypal]]></category> <category><![CDATA[Productivity]]></category> <category><![CDATA[The Footy Tipster]]></category> <category><![CDATA[Wordpress]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=977</guid> <description><![CDATA[It is amazing what a few hours of concentrated work can do for you. Months ago me and my buddy who work together on TFT were talking about the idea of an affiliate program for our users &#8211; to try and encourage them to promote the site amongst friends and family, and to maybe entice [...]]]></description> <content:encoded><![CDATA[<p>It is amazing what a few hours of concentrated work can do for you.</p><p>Months ago me and my buddy who work together on <a
href="http://www.thefootytipster.com">TFT</a> were talking about the idea of an affiliate program for our users &#8211; to try and encourage them to promote the site amongst friends and family, and to maybe entice some of the bigger websites to send some traffic our way.</p><p>At the time I thought it would be a neat little project, but once I started listing the edge cases I noticed that this would be a bit of a slog to get right.</p><p>A combination of work and family issues stopped me from looking or even thinking about the affiliate program until recently, when my friend brought it up again.</p><p>This time instead of thinking about all the edge cases and worrying about replicating what some of the bigger affiliate systems do I brought it right back to basics.</p><p>I asked myself two questions.</p><ol><li>What is an affiliate system at its most basic form.</li><li>What is the least amount of effort I can put in (both long and short term) in order to achieve this.</li></ol><p>After spending maybe an hour mulling these questions over I had come up with a solution that would work.</p><p>5 hours later I had written, tested, debugged and deployed a solution that will work and will only need minor time investment to scale should we need to.</p><p>It won&#8217;t win any awards for being the most complete affiliate program in the world, but it will allow my users to make some money from the site and ultimately put more money into my pocket.</p><p>Normally I would love to go into the technical details of what I done, but how I have had to work it is such an edge case that I couldn&#8217;t possibly see it being useful to anyone. The short version is that it speaks to a couple of WordPress plugins and PayPal and to be honest will never win me a programmer of the year award.</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/i-just-made-an-affiliate-program/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>PHP &#8211; Turn UK Date into US Date</title><link>http://tosbourn.com/2012/04/development/php-turn-uk-date-into-us-date/</link> <comments>http://tosbourn.com/2012/04/development/php-turn-uk-date-into-us-date/#comments</comments> <pubDate>Sat, 14 Apr 2012 10:34:34 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Dates]]></category> <category><![CDATA[Github]]></category> <category><![CDATA[UK]]></category> <category><![CDATA[US]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=969</guid> <description><![CDATA[This is something I find myself needing to do quite frequently. You deal with UK dates as input and output of a system but somewhere in the middle they need to convert to US dates. A quick way to shove a UK Date into a US format is to to an explode on the UK [...]]]></description> <content:encoded><![CDATA[<p>This is something I find myself needing to do quite frequently. You deal with UK dates as input and output of a system but somewhere in the middle they need to convert to US dates.</p><p>A quick way to shove a UK Date into a US format is to to an explode on the UK date by whichever separator it is using (normally &#8216;/&#8217;, sometimes &#8216;-&#8217;) then glue the bits back together with the second element swapped with the first (moving month and day around).</p><p>I have compiled this into a quick method:</p><pre>/**
* A very simple function to change the date from the UK
* format to the American format.
*
* @param string $uk_date Assumed to be in the format day month year
* @param string $separator_input What divides the date up goung in.
* @param string $sepatator_output What divides the date up going out.
*
* @return string The date formatted to suit the US formatting.
*
* @author Toby Osbourn
*/

function makeUSDate($uk_date, $separator_input = '/', $sepatator_output = '/')
{
    list($day, $month, $year) = explode($separator_input, $uk_date);
    return $month.$sepatator_output.$day.$sepatator_output.$year;
}</pre><p>This is also part of my <a
href="https://github.com/tosbourn/Useful-PHP-Functions">Useful PHP Functions</a> file on Github.</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/php-turn-uk-date-into-us-date/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Review: The CSS3 Anthology</title><link>http://tosbourn.com/2012/04/development/review-the-css3-anthology/</link> <comments>http://tosbourn.com/2012/04/development/review-the-css3-anthology/#comments</comments> <pubDate>Fri, 13 Apr 2012 13:28:34 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Book]]></category> <category><![CDATA[CSS3]]></category> <category><![CDATA[Rachel Andrew]]></category> <category><![CDATA[Review]]></category> <category><![CDATA[Sitepoint]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=952</guid> <description><![CDATA[Recently I bought a copy of The CSS3 Anthology by Rachel Andrew &#8211; as well as the physical copy I got a digital download of the book. I have enjoyed reading it and figured I would post up a quick review in case you were thinking of purchasing a copy and wanted to read some [...]]]></description> <content:encoded><![CDATA[<p><img
class="alignright" title="The CSS3 Anthology" src="http://distilleryimage9.instagram.com/1cd6a67684ce11e1ab011231381052c0_7.jpg" alt="" width="257" height="257" />Recently I bought a copy of <a
href="http://www.sitepoint.com/books/cssant4/">The CSS3 Anthology</a> by <a
href="https://twitter.com/#!/rachelandrew">Rachel Andrew</a> &#8211; as well as the physical copy I got a digital download of the book. I have enjoyed reading it and figured I would post up a quick review in case you were thinking of purchasing a copy and wanted to read some opinions on it.</p><p><em>This is my first book review since school from what I can remember, so please post any criticism as this is something I would like to get better at.</em></p><h2>Why I bought it.</h2><p>I have spent many years working with CSS and have been bitten before with buying books that are either too basic or give wrong information &#8211; and I don&#8217;t mean wrong as in out of date, I mean wrong as in the samples were never best practice and shouldn&#8217;t be followed.</p><p>Long story short, I wasn&#8217;t really in the market for a new CSS book. I was listening to the <a
href="http://www.sitepoint.com/podcast-151-vender-prefixes-vs-web-standards-with-rachel-andrew/">Sitepoint podcast</a> and the interviewee for that episode was Rachel Andrew, I was already aware of Rachel&#8217;s excellent work and when I heard she was pulling together a combination of best practice I immediately thought &#8220;sold&#8221;.</p><p>Unlike many books in the market that try and teach you CSS, this book is more aimed at showing you the current thinking behind the solutions to the more common CSS problems &#8211; this is perfect for someone like me who can write CSS but has maybe spent too long writing it his way &#8211; once you know how to solve the problem of sub-menu navigation using CSS you don&#8217;t tend to re-evaluate it too often!</p><h2>Why I could review this so quickly.</h2><p>The book hasn&#8217;t been out long, and I know from reviewing music that you need to give whatever you are reviewing a couple of chances, letting your thoughts sink in for a couple of days and then revisiting the work to see if you still feel the same. I think this is the reason I haven&#8217;t reviewed books before &#8211; I don&#8217;t feel that one first pass is enough to be able to properly judge a book and I rarely have the time to read the same book again within a short time period.</p><p>The book only actually arrived on my desk a couple of days ago, but thanks to the fact I could immediately access a digital copy of the book I was able to read through it at my leisure from the moment I paid for it.</p><p>This meant that when the book did arrive I was able to give it one more read, compare notes and get writing!</p><h2>What I liked about the book.</h2><ul><li>I really like how quick a read this book is. Rachel doesn&#8217;t labour on any particular point, she explains the rationale behind her choices and moves on and the examples are complete without becoming clunky.</li><li>I like how all the major bases are covered &#8211; I had tried to think of things that maybe should have been in there, but in my opinion the issues covered are relevant to the vast majority of front end developers.</li><li>I enjoyed how image rich the book was &#8211; a lot of CSS books do a before and after shot, the CSS3 Anthology does during shots as well, which is useful when you are trying to dissect the CSS being used in a solution.</li><li>I appreciated how the sections had relevant pop-outs &#8211; for example when talking about <code>text-decoration</code> Rachel explains that adding underlines to things that are not links is bad practice, this wasn&#8217;t exactly a revelation but snippets like this are useful to read.</li></ul><h2>What I disliked about the book.</h2><ul><li>Honestly &#8211; very little. The pictures being in grey-scale were kind of annoying when the CSS was dealing with colour, but you could always make out what was being referenced.</li><li>I feel bad for only putting one negative thing (and it isn&#8217;t really that negative) so my second not-really-negative point is I don&#8217;t understand why the butterfly kite used on the front cover is relevant to CSS &#8211; the tagline of the book is &#8220;Take your sites to new heights&#8221; so maybe that is why &#8211; I would have preferred height to be a play on words with the <code>height</code> attribute!</li><li>Oh, actually I do have a genuine gripe &#8211; some of the sections felt in places like adverts for Sitepoint, I know it is released by Sitepoint and I know that for a lot of things Sitepoint does have nice canonical answers to things, but at times it felt a little too much.</li></ul><h2>Conclusions.</h2><p>As I am sure you picked up from reading what I disliked about the book, there wasn&#8217;t really anything &#8211; I enjoyed it and I think so long as you have a basic to good understanding of CSS you will too.</p><p>If you have read it I would love to hear your thoughts on it.</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/review-the-css3-anthology/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Interview with Derek Johnson</title><link>http://tosbourn.com/2012/04/development/interview-with-derek-johnson/</link> <comments>http://tosbourn.com/2012/04/development/interview-with-derek-johnson/#comments</comments> <pubDate>Thu, 12 Apr 2012 12:43:58 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Derek Johnson]]></category> <category><![CDATA[Interviews]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=945</guid> <description><![CDATA[I briefly met with Derek at a Build workshop last year and have been a big fan of the work he is putting out and his work curating the HTML5 Gallery, so I was glad when he accepted my offer to interview him for my site. Tell us a little about yourself, what you do [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://tosbourn.com/wp-content/uploads/2012/04/Picture-928.jpg?9d7bd4"><img
class="alignright size-thumbnail wp-image-946" title="Derek Johnson" src="http://tosbourn.com/wp-content/uploads/2012/04/Picture-928-e1334234628913-150x150.jpg?9d7bd4" alt="" width="150" height="150" /></a>I briefly met with Derek at a Build workshop last year and have been a big fan of the work he is putting out and his work curating the HTML5 Gallery, so I was glad when he accepted my offer to interview him for my site.</p><p><strong>Tell us a little about yourself, what you do and who you work for?</strong></p><p>I live in Co. Armagh with my wife Keyara and our three children. We are expecting our fourth child at the end of April.</p><p>I work at <a
href="http://www.websiteni.com/">Website NI</a> in Benburb, Co. Tyrone building websites for clients throughout Northern Ireland. I am especially interested in HTML5, responsive web design and mobile friendly web development.</p><p>I&#8217;m also one of the co-curators at <a
href="http://html5gallery.com">html5gallery.com</a> a showcase of sites that make good use of HTML5 and related technologies. We are always looking for new curators if anybody can lend a hand BTW.</p><p><strong>If someone wanted to lend a hand with HTML5 Gallery, how do they get in touch?</strong></p><p>They should contact Rich Clark on twitter <a
href="https://twitter.com/#!/Rich_Clark">@Rich_Clark</a> or via the contact form on the site.</p><p><strong>How did you get into tech and more specifically web development?</strong></p><p>I started fairly late in life and I&#8217;m not your typical geek &#8211; at school I hated computers and would have gone out of my way to avoid them. On top of that I&#8217;ve always been crap at video games. So crap that I&#8217;ve never managed to clear all the little dots from the first level of Pacman. When I left school I traveled a bit and eventually settled in Scotland where I worked as a forester by day and in bars in the evenings to supplement my income. I loved forestry but the industry was shrinking after tax breaks disappeared and wages were low.</p><p>Reluctantly I decided that I was going to have to learn how to use a computer if I was to move up in the world, so I enrolled in a basic computer course at a local college. There were modules on Microsoft Office, communication, C++, networking and UNIX, all of which made me yearn for the excitement of watching magnolia emulsion dry on Winter grass while it grew over my feet, apart from one &#8211; web design.</p><p>I thought it was absolutely amazing that I could make this thing (in FrontPage at the time) that would go on the web for anybody to see. I still clearly remember how magical it felt to create and click on a link from one page to a different page and back again. I was hooked (and remain so) and spent as much of my spare time as I could learning and building. I wasn&#8217;t able to finish the course as it didn&#8217;t pay the bills, but I made my first paid site soon after that for a forestry contractor and charged £70. I was over the moon.</p><p>I kept at the part-time freelance while working in other jobs, moving to Northern Ireland, getting married and having children until I eventually landed a full time job at Website NI just over three years ago.</p><p><strong>What are you finding yourself working a lot with at the moment?</strong></p><p>Responsive design. Clients are asking us if they can have a mobile site or native app, and when we sit down with them to get a handle on their needs what they are actually describing are cross-platform websites. Thanks to the blinding ray of light Ethan Marcotte shone on us all in May 2010 we can now help with that.</p><p>The types of sites we build are usually content managed and/or e-commerce. It&#8217;s very rare for us to build a straight up static brochure site these days.</p><p><strong>Ahh FrontPage &#8211; I was a Dreamweaver boy myself, anways, Who or what are your biggest influences?</strong></p><p>Ethan Marcotte&#8217;s responsive web design as I&#8217;ve already mentioned. It is a combination of three fairly simple technologies, but the underlying philosophy is a strong one and I believe it will define the coming era of front end web development in the same way Jeffrey Zeldman did with web standards.</p><p>Another big idea that influences the way I work comes from Luke Wroblewski. In May 2011 I attended the Mobilism conference in Amsterdam where he gave his Mobile First talk. Afterwards he was having a twitter conversation with Jeremy Keith about &#8220;content first&#8221; and in one of <a
href="https://twitter.com/#!/lukew/status/68621940973256704">his tweets</a> he said API first was more inclusive than content first. Being a bit dim I didn&#8217;t know what he meant but was lucky enough to bump into him in the bar and asked him, and he was kind enough to explain it in baby steps for me. Without that talk and that short conversation I would still be flapping about doing the web design equivalent of putting a motorbike helmet on arse first.</p><p>A year or so ago I would have told anybody who listened that responsive design and client side feature detection were the answer to everything, but now I think they&#8217;re only part of the answer to a smaller number of problems. I&#8217;m starting to adapt things on the server more now because cheaper and older devices often don&#8217;t live up to the promises they make via feature detection. It&#8217;s a very new thing for me but it can&#8217;t be ignored as device fragmentation is, well, very fragmented. That&#8217;s a good thing by the way &#8211; the further we move away from excuses to create illusions of control the better, because we don&#8217;t have any.</p><p>What we do have though is progressive enhancement and the opportunity to build our knowledge of the device landscape as described by Stephanie and Bryan Rieger. For the rest of 2012 I don&#8217;t think I&#8217;m likely to read, watch or hear anything as useful as <a
href="http://bdconf.com/2011/nashville/schedule#stephanierieger">Stephanie Rieger&#8217;s Pragmatic Responsive Design</a> and <a
href="http://bdconf.com/2011/nashville/schedule#bryanrieger">Bryan Rieger&#8217;s</a> Adaptation talks they gave at Breaking Development Nashville last year.</p><p><strong>What is your development environment like?</strong></p><p>Benburb is a quiet but thriving village set in idyllic countryside, and there is an amazing amount of creativity about the place. There is a potter, painter, basket weaver, woodworker and sculptor all working and creating in Benburb. I think it rubs off on us a bit even though we are technology and they are traditional.</p><p>I don&#8217;t think that&#8217;s the prosaic answer you were looking for however,[Toby's note - it wasn't <img
src="http://tosbourn.com/wp-includes/images/smilies/icon_wink.gif?9d7bd4" alt=';-)' class='wp-smiley' /> ] so I&#8217;ll give you that now! My main machine runs Windows 7 and I use Sublime Text 2 as my text editor and Opera as my development browser. Our test suite includes an iMac, a Windows 8 laptop, a couple of old £40 XP laptops with native IE6-8 installs, Kindle, iPad, iPhone, Blackberry Curve, Nokia 5800, HTC Hero, Galaxy S2, O2 XDA and a Sony Ericsson something or other. I also use a Windows Phone emulator and the indispensable Opera Mobile emulator. I do as much guerrilla testing on friends and relatives phones as I can too.</p><p><strong>That is a nice array of test machines. How do you try and keep on top of current tech / development news?</strong></p><p>Twitter, RSS and conferences are my weapons of choice. I curate my twitter following list and RSS feeds quite tightly (maybe too tightly) but I read all of it.</p><p>Conferences are slightly different in that you don&#8217;t get knowledge that isn&#8217;t necessarily available elsewhere, but the connections and conversations lead to so much more in the long term that they make the price of a ticket a bargain. I remember thinking after Mobilism that if I was to blog about it I would write about the people I met and conversations I had, and put the notes on each talk into an <code>&lt;aside&gt;</code></p><p>&nbsp;</p><p><strong>What is your biggest bugbear at the moment?</strong></p><p>Talented and/or successful people who mock less experienced people&#8217;s work.</p><p>It&#8217;s a cheap shot and mean spirited to set up a &#8220;WTF look at these fools LOL&#8221; tumblr, or to tweet a link to a site that could do with some work. We should remember that nobody sets out to create bad apps, sites or experiences, and that everybody has to start somewhere. The usual advice given to folk starting out is to put their work online and let people see it so more experienced folk can critique it and show where things could be done differently. Public humiliation was never part of the deal.</p><p>Everyone I&#8217;ve met online and offline who does this job loves it and does the best they can within the constraints provided by their budget, knowledge and experience. Let&#8217;s act like we&#8217;re part of a community not a class system.</p><p><strong>How can people get in touch with you?</strong></p><p>Twitter <a
href="https://twitter.com/#!/derekjohnson">@derekjohnson</a>. There&#8217;s a blog in the pipeline with a few draft posts done, but no definite launch date yet.</p><p><strong>Is there anything else you would like to add?</strong></p><p>Pay attention to the recognized experts in our industry. They aren&#8217;t self-appointed or loudmouths or bluffers. They are well known because they have put the hours in and come up with the goods.</p><p>Also, if something&#8217;s not working fix it by opening your mouth to declare it broken.</p><p><strong>#End of interview</strong></p><p>Thanks so much for Derek for taking part in the interview &#8211; you should definitely follow him on Twitter and I wish him all the best in the future (especially with the new addition to the family!)</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/interview-with-derek-johnson/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Things to check for in your htaccess file</title><link>http://tosbourn.com/2012/04/development/things-to-check-for-in-your-htaccess-file/</link> <comments>http://tosbourn.com/2012/04/development/things-to-check-for-in-your-htaccess-file/#comments</comments> <pubDate>Sun, 08 Apr 2012 18:40:19 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[htaccess]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=898</guid> <description><![CDATA[Obviously everyone needs .htaccess files for different reasons, but over the years I have noted a few things that generally seem to sneak themselves in &#8211; so I decided to draw up a list of things you might want to consider before go live on a site that relate just to .htaccess files. A good [...]]]></description> <content:encoded><![CDATA[<p>Obviously everyone needs .htaccess files for different reasons, but over the years I have noted a few things that generally seem to sneak themselves in &#8211; so I decided to draw up a list of things you might want to consider before go live on a site that relate just to .htaccess files.</p><p>A good lot of these are covered by the <a
href="http://html5boilerplate.com/">HTML5 Boilerplate</a>, so if you are looking for a quick win you could always download it.</p><p>The tl;dr version is this quick list:</p><ul><li><strong>Redirect to www</strong></li><li><strong>Comments</strong></li><li><strong>Forcing latest version of IE</strong></li><li><strong>Gzip compression</strong></li><li><strong>Setting some expires headers</strong></li><li><strong>Custom Error Pages</strong></li><li><strong>Block access to certain file types</strong></li></ul><h2>Redirect to www</h2><p>A very common requirement for .htaccess is to redirect non-www traffic to the www. domain (or vice versa) .</p><p>This keeps traffic on your website consistent (which can be invaluable when trying to debug issues or gather statistics).</p><p>Here is the code you would need.</p><pre>RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]</pre><h2>Comments</h2><p>This will sound like a weird one, but I know a lot of programmers who comment absolutely everything but will never comment .htaccess files.</p><p>A quick comment can outline what you are intending various lines to do, which will save you a lot of angst in the long run, especially if your htaccess file is doing something non-trivial or mission critical.</p><p>Comments are created by starting a line with the # character.  The rest of the line will then be ignored.</p><p>Here is a sample of a comment.</p><pre>#The following redirects traffic to https, do not delete it.</pre><h2>Forcing the latest version of IE</h2><p>We can do this in a couple of ways, but this is a nice quick way to easily apply the fix for IE. As well as forcing the latest version of IE it will also use the ChromeFrame if it is available.</p><p>This doesn&#8217;t need to be set for certain files, so we can exclude them.</p><pre>&lt;IfModule mod_headers.c&gt;
Header set X-UA-Compatible "IE=Edge,chrome=1"
&lt;FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|oex|xpi|safariextz|vcf)$" &gt;
Header unset X-UA-Compatible
&lt;/FilesMatch&gt;
&lt;/IfModule&gt;</pre><h2>Gzip Compression</h2><p>If possible we should try and compress anything coming from the webserver, it will help to make your website feel more snappy and save you some bandwidth.</p><pre>&lt;IfModule mod_deflate.c&gt;
&lt;IfModule mod_setenvif.c&gt;
&lt;IfModule mod_headers.c&gt;
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
&lt;/IfModule&gt;
&lt;/IfModule&gt;</pre><pre>&lt;IfModule filter_module&gt;
FilterDeclare   COMPRESS
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/html
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/css
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/plain
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/xml
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/x-component
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/javascript
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/json
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/xml
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/xhtml+xml
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/rss+xml
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/atom+xml
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/vnd.ms-fontobject
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $image/svg+xml
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $image/x-icon
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/x-font-ttf
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $font/opentype
FilterChain     COMPRESS
FilterProtocol  COMPRESS  DEFLATE change=yes;byteranges=no
&lt;/IfModule&gt;

&lt;IfModule !mod_filter.c&gt;
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
&lt;/IfModule&gt;
&lt;/IfModule&gt;</pre><h2>Setting some expires headers</h2><p>There are a lot of files that should be cached at the earliest possible time by the browser to save them having to be downloaded several times.</p><p>The code to do this looks pretty verbose but covers most angles.</p><pre>&lt;IfModule mod_expires.c&gt;
ExpiresActive on
ExpiresDefault                          "access plus 1 month"
ExpiresByType text/cache-manifest       "access plus 0 seconds"
ExpiresByType text/html                 "access plus 0 seconds"
ExpiresByType text/xml                  "access plus 0 seconds"
ExpiresByType application/xml           "access plus 0 seconds"
ExpiresByType application/json          "access plus 0 seconds"
ExpiresByType application/rss+xml       "access plus 1 hour"
ExpiresByType application/atom+xml      "access plus 1 hour"
ExpiresByType image/x-icon              "access plus 1 week"
ExpiresByType image/gif                 "access plus 1 month"
ExpiresByType image/png                 "access plus 1 month"
ExpiresByType image/jpg                 "access plus 1 month"
ExpiresByType image/jpeg                "access plus 1 month"
ExpiresByType video/ogg                 "access plus 1 month"
ExpiresByType audio/ogg                 "access plus 1 month"
ExpiresByType video/mp4                 "access plus 1 month"
ExpiresByType video/webm                "access plus 1 month"
ExpiresByType text/x-component          "access plus 1 month"
ExpiresByType application/x-font-ttf    "access plus 1 month"
ExpiresByType font/opentype             "access plus 1 month"
ExpiresByType application/x-font-woff   "access plus 1 month"
ExpiresByType image/svg+xml             "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType text/css                  "access plus 1 week"
ExpiresByType application/javascript    "access plus 1 week"
&lt;/IfModule&gt;</pre><h2>Custom Error Pages</h2><p>Custom Error Pages are an excellent way to customise your site, for example if your site returns a 404 error instead of showing the default page sent from Apache.</p><p>This is a pretty small bit of code.</p><pre>ErrorDocument 404 /404.html</pre><p>All this means is for the Error Document called 404, send the user to the page 404.html</p><h2>Block access to certain file types</h2><p>Oftentimes various text editors and programs will leave files that just end up getting uploaded with the other files when you update your website &#8211; best practice would be to not put these files on your web server but sometimes this cannot be avoided, and regardless of why they are there you should do something to tidy them up.</p><p>The following code blocks access to various files.</p><pre>&lt;FilesMatch "(\.(bak|config|sql|fla|psd|ini|log|sh|inc|swp|dist)|~)$"&gt;
Order allow,deny
Deny from all
Satisfy All
&lt;/FilesMatch&gt;</pre><h2>Conclusion</h2><p>There are plenty of other things .htaccess files can do, but these are the things I personally use most often, I hope you find them as useful as I have.</p><p>If there are things you think I should be adding to this list please share in the comments.</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/things-to-check-for-in-your-htaccess-file/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Recent Tech Tweets</title><link>http://tosbourn.com/2012/04/development/recent-tech-tweets/</link> <comments>http://tosbourn.com/2012/04/development/recent-tech-tweets/#comments</comments> <pubDate>Sun, 08 Apr 2012 08:48:34 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Twitter]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=935</guid> <description><![CDATA[Carrying on my recent idea to manually store my tech related tweets away from Twitter, here are some more! @PierceComms Pierce Communications is hiring! We&#8217;re looking for a Web Developer &#8211; details here: http://prc.ms/piercecareers #tweetni Every time you get the urge to check analytics for purely personal reasons, don&#8217;t, spend your time doing something to [...]]]></description> <content:encoded><![CDATA[<p>Carrying on my recent idea to manually store my tech related tweets away from Twitter, here are some more!</p><ul><li><s
title="9:10 AM - 5 Apr 12">@</s><strong>PierceComms</strong> Pierce Communications is hiring! We&#8217;re looking for a Web Developer &#8211; details here: <a
title="http://prc.ms/piercecareers" href="http://t.co/b3lHp9fN" rel="nofollow" target="_blank" data-ultimate-url="http://www.piercecommunications.co.uk/careers" data-expanded-url="http://prc.ms/piercecareers">http://prc.ms/piercecareers</a> <a
title="#tweetni" href="https://twitter.com/#%21/search/%23tweetni" data-query-source="hashtag_click"><s>#</s><strong>tweetni</strong></a></li></ul><ul><li>Every time you get the urge to check analytics for purely personal reasons, don&#8217;t, spend your time doing something to boost your metrics.</li></ul><ul><li>If you are looking for Hosting, SSL Certs, etc., give <a
href="https://twitter.com/#%21/bigwetfish" rel="nofollow" data-screen-name="bigwetfish"><s>@</s><strong>bigwetfish</strong></a> a try, excellent customer support and prices. <a
title="http://bit.ly/ygjrk3" href="http://t.co/9wGSx2EE" rel="nofollow" target="_blank" data-ultimate-url="https://www.bigwetfish.co.uk/whmcs/aff.php?aff=264" data-expanded-url="http://bit.ly/ygjrk3">http://bit.ly/ygjrk3</a></li></ul><ul><li>My article on Developers using Social Media has been used by the Software Developer&#8217;s Journal! <a
title="http://bit.ly/HejEPJ" href="http://t.co/Udo0XSYN" rel="nofollow" target="_blank" data-ultimate-url="http://en.sdjournal.org/new-sdj-extra-0212-4" data-expanded-url="http://bit.ly/HejEPJ">http://bit.ly/HejEPJ</a></li></ul><ul><li>Getting Cozy With Underscore.js <a
title="http://j.mp/Hbkldf" href="http://t.co/gIjt0fjQ" rel="nofollow" target="_blank" data-ultimate-url="http://net.tutsplus.com/tutorials/javascript-ajax/getting-cozy-with-underscore-js" data-expanded-url="http://j.mp/Hbkldf">http://j.mp/Hbkldf</a></li></ul><ul><li>If you missed it yesterday, here is the Google Chrome Lord of the Rings comment &#8211; <a
title="http://tosbourn.com/2012/03/development/chromes-lord-of-the-rings-easter-egg/" href="http://t.co/d7nNZa2U" rel="nofollow" target="_blank" data-ultimate-url="http://tosbourn.com/2012/03/development/chromes-lord-of-the-rings-easter-egg" data-expanded-url="http://tosbourn.com/2012/03/development/chromes-lord-of-the-rings-easter-egg/">http://tosbourn.com/2012/03/development/chromes-lord-of-the-rings-easter-egg/</a></li></ul><ul><li><a
href="https://twitter.com/#%21/intercom" data-user-id="274788446"><s
title="3:40 PM - 30 Mar 12">@</s><strong>intercom</strong> </a>Deadlines you can&#8217;t afford to miss can leave you with products you can&#8217;t afford to ship.</li></ul><ul><li>Really weird that you need get_the_date if you want to display the dates for each post&#8230; <a
title="http://bit.ly/HxyIX1" href="http://t.co/GbsknBhH" rel="nofollow" target="_blank" data-ultimate-url="http://codex.wordpress.org/Template_Tags/get_the_date" data-expanded-url="http://bit.ly/HxyIX1">http://bit.ly/HxyIX1</a> <a
title="#wordpress" href="https://twitter.com/#%21/search/%23wordpress" data-query-source="hashtag_click"><s>#</s><strong>wordpress</strong></a></li></ul><ul><li><s>@</s><strong>sofimi</strong> &#8220;Be there, or be border-radius: 0;&#8221; <a
title="#crying" href="https://twitter.com/#%21/search/%23crying" data-query-source="hashtag_click"><s>#</s><strong>crying</strong></a></li></ul><ul><li>5 Ways To Include Template Files In WordPress <a
title="http://bit.ly/H2LZqW" href="http://t.co/DQYjLUF0" rel="nofollow" target="_blank" data-ultimate-url="http://www.deluxeblogtips.com/2010/06/wordpress-include-template-files.html" data-expanded-url="http://bit.ly/H2LZqW">http://bit.ly/H2LZqW</a> via <a
href="https://twitter.com/#%21/AddThis" rel="nofollow" data-screen-name="AddThis"><s>@</s><strong>AddThis</strong></a></li></ul><ul><li>My <a
title="#FF" href="https://twitter.com/#%21/search/%23FF" data-query-source="hashtag_click"><s>#</s><strong>FF</strong></a> goes to <a
href="https://twitter.com/#%21/pauldonnelly" rel="nofollow" data-screen-name="pauldonnelly"><s>@</s><strong>pauldonnelly</strong></a> for his <a
title="#wordpress" href="https://twitter.com/#%21/search/%23wordpress" data-query-source="hashtag_click"><s>#</s><strong>wordpress</strong></a> mastery.</li></ul><ul><li>Pro-tip: How To Backup All Of Your GitHub Repositories In One Go <a
title="http://addyosmani.com/blog/backing-up-a-github-account/" href="http://t.co/zszFLs98" rel="nofollow" target="_blank" data-ultimate-url="http://t.co/zszFLs98" data-expanded-url="http://addyosmani.com/blog/backing-up-a-github-account/">http://addyosmani.com/blog/backing-up-a-github-account/</a></li></ul><ul><li>RT <a
href="https://twitter.com/#%21/aheadWorks" rel="nofollow" data-screen-name="aheadWorks"><s>@</s><strong>aheadWorks</strong></a>: The release of <a
title="#Magento" href="https://twitter.com/#%21/search/%23Magento" data-query-source="hashtag_click"><s>#</s><strong>Magento</strong></a> CE 1.7.0.0 is getting closer. Preview the improvements and new features.http://bit.ly/GZHSfO</li></ul><ul><li>Unable to connect to a linux box from a windows box using keys &#8211; any ideas? <a
title="http://serverfault.com/q/374430/33694?stw=1" href="http://t.co/MzWFimmW" rel="nofollow" target="_blank" data-ultimate-url="http://t.co/MzWFimmW" data-expanded-url="http://serverfault.com/q/374430/33694?stw=1">http://serverfault.com/q/374430/33694?stw=1</a></li></ul><ul><li>Anyone know any good german language web development/design blogs? <a
title="#german" href="https://twitter.com/#%21/search/%23german" data-query-source="hashtag_click"><s>#</s><strong>german</strong></a></li></ul><ul><li>I had no idea one of my questions was an IT Security Question of the Week. <a
title="http://bit.ly/GQcUoA" href="http://t.co/xaHhArHJ" rel="nofollow" target="_blank" data-ultimate-url="http://security.stackexchange.com/questions/222/when-a-sysadmin-leaves-what-extra-precautions-need-to-be-taken" data-expanded-url="http://bit.ly/GQcUoA">http://bit.ly/GQcUoA</a> <a
title="#security" href="https://twitter.com/#%21/search/%23security" data-query-source="hashtag_click"><s>#</s><strong>security</strong></a> What to do when a sysadmin leaves?</li></ul><ul><li>Fuck <a
href="https://twitter.com/#%21/willhamill" rel="nofollow" data-screen-name="willhamill"><s>@</s><strong>willhamill</strong></a> for wanting me to work here -http://www.betabeat.com/2012/03/23/how-to-feed-and-care-for-your-developer/</li></ul><ul><li>Mashing on a keyboard might make you think you have a secure password, but you know what is really good at replicating that shit, computers.</li></ul><ul><li>Does anyone add vendor prefixes to border-radius &#8211; looks like the support is there to drop them (<a
title="http://bit.ly/GFblKg" href="http://t.co/ap7d2pCT" rel="nofollow" target="_blank" data-ultimate-url="http://caniuse.com/" data-expanded-url="http://bit.ly/GFblKg">http://bit.ly/GFblKg</a>) <a
title="#css3" href="https://twitter.com/#%21/search/%23css3" data-query-source="hashtag_click"><s>#</s><strong>css3</strong></a></li></ul><ul><li>Making the Dino roar – syncing audio and CSS transitions ✩ Mozilla Hacks – the Web developer blog <a
title="http://hacks.mozilla.org/2012/03/making-the-dino-roar-syncing-audio-and-css-transitions/" href="http://t.co/4HIore2K" rel="nofollow" target="_blank" data-ultimate-url="http://hacks.mozilla.org/2012/03/making-the-dino-roar-syncing-audio-and-css-transitions" data-expanded-url="http://hacks.mozilla.org/2012/03/making-the-dino-roar-syncing-audio-and-css-transitions/">http://hacks.mozilla.org/2012/03/making-the-dino-roar-syncing-audio-and-css-transitions/</a></li></ul><ul><li>Getting Instance Name(s) of a JavaScript Object &#8211; <a
title="http://j.mp/FRojrp" href="http://t.co/cwD5T3oB" rel="nofollow" target="_blank" data-ultimate-url="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object" data-expanded-url="http://j.mp/FRojrp">http://j.mp/FRojrp</a></li></ul><ul><li>FireRainbow is dope.</li></ul><ul><li>Students &#8211; want to get paid to work on <a
href="https://twitter.com/#%21/owasp" rel="nofollow" data-screen-name="owasp"><s>@</s><strong>owasp</strong></a> projects like <a
href="https://twitter.com/#%21/zaproxy" rel="nofollow" data-screen-name="zaproxy"><s>@</s><strong>zaproxy</strong></a> ? See <a
title="https://www.owasp.org/index.php/GSoC2012_Ideas" href="https://t.co/uq8HT1fj" rel="nofollow" target="_blank" data-ultimate-url="https://www.owasp.org/index.php/GSoC2012_Ideas" data-expanded-url="https://www.owasp.org/index.php/GSoC2012_Ideas">https://www.owasp.org/index.php/GSoC2012_Ideas</a> <a
title="#GSoC" href="https://twitter.com/#%21/search/%23GSoC" data-query-source="hashtag_click"><s>#</s><strong>GSoC</strong></a> Please RT</li></ul><ul><li>Forcing www. on multiple domains <a
title="#modrewrite" href="https://twitter.com/#%21/search/%23modrewrite" data-query-source="hashtag_click"><s>#</s><strong>modrewrite</strong></a> RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]</li></ul><ul><li>The Art Of Content Marketing &#8211; <a
title="http://j.mp/yHmRIu" href="http://t.co/UqJEgnkB" rel="nofollow" target="_blank" data-ultimate-url="http://www.smashingmagazine.com/2012/03/16/the-art-of-content-marketing" data-expanded-url="http://j.mp/yHmRIu">http://j.mp/yHmRIu</a></li></ul><ul><li>Nettuts+ Quiz #11: Do You Know SQL? <a
title="http://j.mp/FTeBiU" href="http://t.co/nRQZhCYu" rel="nofollow" target="_blank" data-ultimate-url="http://net.tutsplus.com/articles/nettuts-quiz-11-do-you-know-sql" data-expanded-url="http://j.mp/FTeBiU">http://j.mp/FTeBiU</a></li></ul><ul><li>Re-designing CakePHP website &#8211; <a
title="http://j.mp/FPQ6a3" href="http://t.co/dZ2Tr8YO" rel="nofollow" target="_blank" data-ultimate-url="http://mark-story.com/posts/view/re-designing-cakephp" data-expanded-url="http://j.mp/FPQ6a3">http://j.mp/FPQ6a3</a></li></ul><ul><li>Symptoms Of An Epidemic: Web Design Trends <a
title="http://j.mp/z9KKcB" href="http://t.co/HTkWAjCq" rel="nofollow" target="_blank" data-ultimate-url="http://uxdesign.smashingmagazine.com/2012/03/15/symptoms-of-epidemic-web-design-trends" data-expanded-url="http://j.mp/z9KKcB">http://j.mp/z9KKcB</a></li></ul><ul><li>How to get girls to like code: <a
title="http://programmerryangosling.tumblr.com" href="http://t.co/WLnM5Pzt" rel="nofollow" target="_blank" data-ultimate-url="http://programmerryangosling.tumblr.com/" data-expanded-url="http://programmerryangosling.tumblr.com">http://programmerryangosling.tumblr.com</a> (via <a
href="https://twitter.com/#%21/Jason_scott" rel="nofollow" data-screen-name="Jason_scott"><s>@</s><strong>Jason_scott</strong></a>)</li></ul><ul><li>Just ordered the CSS Anthology by <a
href="https://twitter.com/#%21/rachelandrew" rel="nofollow" data-screen-name="rachelandrew"><s>@</s><strong>rachelandrew</strong></a> via <a
href="https://twitter.com/#%21/sitepointdotcom" rel="nofollow" data-screen-name="sitepointdotcom"><s>@</s><strong>sitepointdotcom</strong></a> looking forward to getting it.</li></ul><ul><li><small> </small><a
href="https://twitter.com/#%21/patrick_allaert" data-user-id="43508680"><s
title="9:12 AM - 15 Mar 12">@</s><strong>patrick_allaert</strong>  </a>A: Do you have a time estimation to develop it? B: Mhhh, about 2. A: Hours? B: Don&#8217;t know the unit yet. <a
title="#epic" href="https://twitter.com/#%21/search/%23epic" data-query-source="hashtag_click"><s>#</s><strong>epic</strong></a> <a
title="#estimation" href="https://twitter.com/#%21/search/%23estimation" data-query-source="hashtag_click"><s>#</s><strong>estimation</strong></a> <a
title="#development" href="https://twitter.com/#%21/search/%23development" data-query-source="hashtag_click"><s>#</s><strong>development</strong></a></li></ul><ul><li>This is excellent &#8211; “<a
href="https://twitter.com/#%21/brianjewing" rel="nofollow" data-screen-name="brianjewing"><s>@</s><strong>brianjewing</strong></a>: The IE team seem to be making a concerted effort to redeem IE9. Not bad, actually. <a
title="http://browseryoulovedtohate.com/" href="http://t.co/PD0dtvcm" rel="nofollow" target="_blank" data-ultimate-url="http://browseryoulovedtohate.com/" data-expanded-url="http://browseryoulovedtohate.com/">http://browseryoulovedtohate.com/</a>”</li></ul> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/recent-tech-tweets/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Served from: tosbourn.com @ 2012-05-20 04:07:58 by W3 Total Cache -->
