<?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>Red Root</title>
	<atom:link href="http://www.red-root.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.red-root.com</link>
	<description>Lost in Cyberspace</description>
	<lastBuildDate>Fri, 06 Jul 2012 20:19:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Tracking WordPress Errors with Exceptional.io</title>
		<link>http://www.red-root.com/code/tracking-wordpress-errors-with-exceptional-io/</link>
		<comments>http://www.red-root.com/code/tracking-wordpress-errors-with-exceptional-io/#comments</comments>
		<pubDate>Fri, 06 Jul 2012 20:10:51 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://www.red-root.com/?p=474</guid>
		<description><![CDATA[In my first few months at Forward, one of the coolest features I encountered was the ability to track errors with a third-party service such as Airbrake or Exceptional.io, which are used by a number of our Ruby and Javascript based systems. Recently I've been working with a Wordpress system that needs to scale to cope with high levels of traffic across multiple blogs, so I had a little investigation if there was a feasible.]]></description>
			<content:encoded><![CDATA[<p>In my first few months at <a href="http://www.forward.co.uk">Forward</a>, one of the coolest new features I encountered was the ability to track errors with a third-party service such as <a href="http://www.airbrake.io">Airbrake</a> or <a href="http://www.exceptional.io">Exceptional.io</a>, which are used by a number of our Ruby and Javascript based systems. Recently I&#8217;ve been working with a WordPress system that needs to scale to cope with high levels of traffic across multiple blogs, so I had a little investigation if there was a feasible.</p>
<p>Turns out <strong>Exceptional.io</strong> has a third-party PHP client that is incredibly simple to set up, even using WordPress: <strong><a href="https://github.com/ankane/exceptional-php/">exceptional-php</a>. </strong>Here are the steps I used to set it up:</p>
<ol>
<li>Sign for for a free 1-month trial on <strong><a href="http://www.exceptional.io">Exceptional.io</a></strong>, and retrieve your API key from the App Settings.</li>
<li>Checkout the <strong>exceptional-php</strong> repo somewhere in your WordPress installation, I dropped in the root folder.</li>
<li>Now we need to include and set up the library. To do this we are going to hook into the <strong>&#8216;init&#8217;</strong> action with the code below. I placed this in my theme&#8217;s <strong>functions.php</strong>, but  feel free to place this anywhere whether the <strong>add_action</strong> function is available (in a plugin for example):<br />
<pre class="crayon-plain-tag">add_action('init',function(){
	require(ABSPATH . '/exceptional/exceptional.php');
	Exceptional::setup('YOUR_API_KEY');
});</pre></li>
<li>That should be it!</li>
</ol>
<div></div>
<div></div>
<div></div>
<div><a href="http://www.red-root.com/wp-content/uploads/2012/07/Screen-Shot-2012-07-06-at-21.13.181.png"><img class="alignright size-medium wp-image-485" title="Screen Shot 2012-07-06 at 21.13.18" src="http://www.red-root.com/wp-content/uploads/2012/07/Screen-Shot-2012-07-06-at-21.13.181-300x157.png" alt="" width="300" height="157" /></a>I recommend you find a way to produce an error on you local or development setup, Exceptional will record the error regardless. Once Exceptional tracks the error, you should get an e-mail for each new error message, which you can follow up on the online interface which provides a trace and list of sources for the error.</div>
<div></div>
<div></div>
<div></div>
<div>Very useful for when your business critical system run on WordPress. Check out the docs for <strong>exceptional-php</strong> too there are some config options which you may find useful.</div>
<div></div>
<div>Any questions feel free to comment below.</div>
<div></div>
<p><strong>NB: </strong>I have only tested this with WordPress 3.3+, but I imagine the PHP version matters more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-root.com/code/tracking-wordpress-errors-with-exceptional-io/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Forward Thinking</title>
		<link>http://www.red-root.com/life/forward-thinking/</link>
		<comments>http://www.red-root.com/life/forward-thinking/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 17:24:13 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.red-root.com/?p=465</guid>
		<description><![CDATA[It's been a fair few weeks since an update so I thought I'd share what has been going on in my domain. The top secret Android app I have been building has finally launched, I've managed to get a great job in Camden, London and even managed to write a blog post about a technology I'd been used for a few weeks called Sass.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a fair few months since an update so I&#8217;d share what has been going on in my domain. </p>
<p>I spent 6 weeks in June and July building an Android app for me <em>alma mater</em>, and it is finally<a href="https://market.android.com/details?id=com.UniversityOfKent.UoKApp"> available on the Android Marketplace</a>. A great learning experience (layouts and style in XML and plenty of Java) but I&#8217;d have to say that I would be comfortable doing one again but I&#8217;d love to explore other options. </p>
<p>I&#8217;ve also moved backed to London after an incredible three years at University and was lucky enough to land a job at a great company in London called <a href="http://www.forward.co.uk">Forward</a>. They have a great mentality and I have been pushed every day to learn something new, namely technique at table tennis on most days as my form is fluctuating (curses!). In terms of actual work it&#8217;s been mainly internal, but we launched a new version of the developer&#8217;s site at called <a href="http://forwardtechnology.co.uk/">Forward Technology</a> complete with our own curated blog. I&#8217;ve used Ruby, Sass and Haml almost exclusively since I got (no more PHP for me) and even managed to write a post of my own post on <a href="http://forwardtechnology.co.uk/blog/a-responsive-grid-system-with-sass">responsive grid systems.</a></p>
<p>So its been a hectic couple of weeks, but I&#8217;m going to have some interesting points to write about over the coming months as I learn more so stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-root.com/life/forward-thinking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Next Step</title>
		<link>http://www.red-root.com/life/the-next-step/</link>
		<comments>http://www.red-root.com/life/the-next-step/#comments</comments>
		<pubDate>Sun, 26 Jun 2011 11:38:45 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.red-root.com/?p=463</guid>
		<description><![CDATA[As of June 17th (last Friday) I am longer enrolled in any form of formal education. I ended up getting a strong 1st (80%!) on my course and there last three years were definitely the best so far. I would strongly advocate free university education, it's a life changing experience, academia making up a small part of that, on the condition that standards are raised for entry. In my personal opinion I'm much rather it be elitist in terms of intelligence than money. Enough rambling, whats my next step?]]></description>
			<content:encoded><![CDATA[<p>As of June 17th (last Friday) I am longer enrolled in any form of formal education. I ended up getting a strong 1st (80%!) on my course and there last three years were definitely the best so far. I would strongly advocate free university education, it&#8217;s a life changing experience, academia making up a small part of that, on the condition that standards are raised for entry. In my personal opinion I&#8217;m much rather it be elitist in terms of intelligence than money. Enough rambling, whats my next step?</p>
<p>I&#8217;m still down in Canterbury fulfilling some exciting contract work (more on that soon) till the end of July, but I&#8217;m looking to move back to London and back into the web development circuit. I&#8217;ve sent my <a href="http://www.red-root.com/cv/">CV</a> around already and there&#8217;s some exciting prospects, here&#8217;s hoping any interviews I get go well.</p>
<p>And <strong><a href="http://www.urika-app.com/dev/">UR!KA</a></strong>? Well, the plan had been to launch this weekend, I&#8217;m currently writing a Safari extension to complement the Chrome version, but I am in fact moving out of one house into another for July, so tidying and packing are taking up most of my time this weekend. Just to wet your appetites though, here&#8217;s a preview of said Chrome Extension in action:</p>
<p><iframe src="http://player.vimeo.com/video/21416567?byline=0&amp;portrait=0&amp;color=f0000c" width="500" height="281" frameborder="0"></iframe>
<p><a href="http://vimeo.com/21416567">Video Tutorial 3: Chrome Extension</a> from <a href="http://vimeo.com/user3502016">Luke Williams</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-root.com/life/the-next-step/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Responsive CV</title>
		<link>http://www.red-root.com/design/a-responsive-cv/</link>
		<comments>http://www.red-root.com/design/a-responsive-cv/#comments</comments>
		<pubDate>Fri, 27 May 2011 16:50:38 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.red-root.com/?p=457</guid>
		<description><![CDATA[With a little under two weeks left until I get the overall mark for my degree, I decided to flex my design muscles and attempt to put together a nice one page, responsive CV/resume: and <a href="http://www.red-root.com/cv">here is the result</a>!]]></description>
			<content:encoded><![CDATA[<p>With a little under two weeks left until I get the overall mark for my degree, I decided to flex my design muscles and attempt to put together a nice one page, responsive CV/resume: and <a href="http://www.red-root.com/cv"><strong>here is the result</strong></a>!</p>
<p>For those who can&#8217;t view that, here&#8217;s a screenshot and link to the full link on Forrst:<br />
<a href="http://forrst.com/posts/DEl/original"><img src="http://forrst-production.s3.amazonaws.com/posts/snaps/84501/mega.jpg?1306490999" alt="Picture of all different versions of the CV" /></a></p>
<p>I&#8217;ve been meaning to use some sort of HTML5 boilerplate for a while, but most seem so heavy or excessive for something like this. That was until I came across <a href="http://www.getskeleton.com/"><strong>Skeleton</strong></a>, a stripped down starting point that was just what I needed. My favourite feature is the grid system is kept entirely separate from the reset/base CSS file (which I in fact dropped), meaning you have all the fun with a frankly awesome grid system without having to deal with inheriting unwanted styles. The naming a nice touch, allowing class combinations such as <em>ten columns offset-by-two</em>, and the default media query holders were such a great help, covering pretty much every base I needed.</p>
<p>Now to start sending this out! And to convert it to a PDF format for those who enjoy the old school.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-root.com/design/a-responsive-cv/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>LESS download button with CSS3</title>
		<link>http://www.red-root.com/design/less-download-button-with-css3/</link>
		<comments>http://www.red-root.com/design/less-download-button-with-css3/#comments</comments>
		<pubDate>Sat, 07 May 2011 10:24:13 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[The Web]]></category>

		<guid isPermaLink="false">http://www.red-root.com/?p=452</guid>
		<description><![CDATA[I was browsing the <a href="http://lesscss.org/" title="LESS CSS framework">LESS.js</a> website a last week, marvelling at the ideas behind it. I scrolled back up to the top of the page to find the download button. I spotted it and instantly assumed it was a purely HTML and CSS3 creation due to it's simplicity, but it turned out it was an image. I was struck by an idea: recreate this button using only markup and CSS3, no images allowed!]]></description>
			<content:encoded><![CDATA[<p>I was browsing the <a href="http://lesscss.org/" title="LESS CSS framework">LESS.js</a> website a last week, marvelling at the ideas behind it. I scrolled back up to the top of the page to find the download button. I spotted it and instantly assumed it was a purely HTML and CSS3 creation due to it&#8217;s simplicity, but it turned out it was an image:</p>
<p><img src="http://lesscss.org/images/download-button.png" alt="Download button from LESS.js website" /></p>
<p>I was struck by an idea: recreate this button using only markup and CSS3, no images allowed! I knew from spending basically my entirely adult life studying web development a button of this design was perfectly possible: multiple CSS3 gradients for background, use of outline and border for the, well, borders, CSS triangles for the arrow, and box-shadows for the flourishes.</p>
<p>The result of a few hours well spent can be seen in the result tab of the iFrame below. Whilst not a perfect match due to typefaces, the image version and the markup version are pretty much identical. This shows just how powerful CSS3 can be (it even degrades nicely in IE). </p>
<p><iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/redroot/NntAZ/embedded/"></iframe></p>
<p>One downside is the button is a little markup heavy due to the arrow section. This could easily be remedied if you included this as a background image if you ignored the &#8216;no images&#8217; rule, but otherwise the markup isn&#8217;t that obtrusive.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-root.com/design/less-download-button-with-css3/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>UR!KA</title>
		<link>http://www.red-root.com/work/urka/</link>
		<comments>http://www.red-root.com/work/urka/#comments</comments>
		<pubDate>Sat, 07 May 2011 10:07:04 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.red-root.com/?p=450</guid>
		<description><![CDATA[(Launching July 2011) UR!KA is a social inspiration web application built as part of my final year at the University of Kent, worth 30% of my degree. A year in the making, UR!KA is the best place on the web for creatives to share inspiration. Users can upload and crop images, tag with categories, create [...]]]></description>
			<content:encoded><![CDATA[<p>(Launching July 2011)</p>
<p>UR!KA is a social inspiration web application built as part of my final year at the <a href="http://www.eda.kent.ac.uk" title="EDA Department @ University of Kent">University of Kent</a>, worth 30% of my degree. A year in the making, UR!KA is the best place on the web for creatives to share inspiration. Users can upload and crop images, tag with categories, create moodboards and much more. </p>
<p>Built using CodeIgniter and the jQuery libraries this was an education in time management and learning how to build a large scale web application.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-root.com/work/urka/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>University of Kent</title>
		<link>http://www.red-root.com/work/university-of-kent/</link>
		<comments>http://www.red-root.com/work/university-of-kent/#comments</comments>
		<pubDate>Sat, 07 May 2011 09:58:26 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.red-root.com/?p=448</guid>
		<description><![CDATA[Working as part of a diverse team of other students, my role on the University of Kent webteam was primarily the development and maintenance of internal sites. The included helping to build and run an Adobe Dreamweaver and PHP based Content Management System (&#8216;Pantheon&#8217; theme engine) for the 20,000+ pages on the University website, developing [...]]]></description>
			<content:encoded><![CDATA[<p>Working as part of a diverse team of other students, my role on the University of Kent webteam was primarily the development and maintenance of internal sites. The included helping to build and run an Adobe Dreamweaver and PHP based Content Management System (&#8216;Pantheon&#8217; theme engine) for the 20,000+ pages on the University website, developing a robust and secure ‘drag-and-drop’ web form building service, as well as building numerous snippets to allow publishers to deliver rich and interesting content with no knowledge of web code. The sheer scale of these tasks gave me insights into aspects of project management inside such a large organisation, as well as giving me rewarding memories as the team achieved many successes during my tenure.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-root.com/work/university-of-kent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing holmes.css</title>
		<link>http://www.red-root.com/code/introducing-holmescss/</link>
		<comments>http://www.red-root.com/code/introducing-holmescss/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 18:07:05 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://www.red-root.com/?p=440</guid>
		<description><![CDATA[Had a little brainstorm last night (instead of doing the report for UR!KA), and out of this tempest came <strong><a href="http://www.red-root.com/sandbox/holmes/">holmes.css</a>, </strong>a stand>alone diagnostic CSS stylesheet that can highlight potentially invalid or erroneous HTML(5) markup by just adding one class.
]]></description>
			<content:encoded><![CDATA[<p>Had a little brainstorm last night (instead of doing the report for UR!KA), and out of this tempest came <strong><a href="http://www.red-root.com/sandbox/holmes/">holmes.css</a>, </strong>a stand&gt;alone diagnostic CSS stylesheet that can highlight potentially invalid or erroneous HTML(5) markup by just adding one class.</p>
<p>Not the most polished piece of work but the focus is on utility. The most difficult aspects were deciding which deprecated elements to flag for<footnote>apparently b and i tags are no deprecated?!</footnote> and deciding what level different warnings should be, such as a missing summary on a table element or missing title&#8217;s on links. I should really add that the diagnostic takes into account best practice and accessibility as well, hence the latter being an error level rather than a warning.</p>
<p>Ruby on Rails app is in the works. Oh yeah and that UR!KA thing too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-root.com/code/introducing-holmescss/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Learning from the jQuery Source</title>
		<link>http://www.red-root.com/code/learning-from-the-jquery-source/</link>
		<comments>http://www.red-root.com/code/learning-from-the-jquery-source/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 22:14:50 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://www.red-root.com/?p=433</guid>
		<description><![CDATA[Now I&#8217;ve come up from under the crushing weight of my final year project, I finally managed to catch up with some articles/tutorials I&#8217;ve been meaning to get round to. And get round to them I did. Two of those such articles were the incredibly enlightening 10 Things I Learned From jQuery Source and 11 [...]]]></description>
			<content:encoded><![CDATA[<p>Now I&#8217;ve come up from under the crushing weight of my final year project, I finally managed to catch up with some articles/tutorials I&#8217;ve been meaning to get round to. And get round to them I did. Two of those such articles were the incredibly enlightening <strong><a href="http://net.tutsplus.com/tutorials/javascript-ajax/10-things-i-learned-from-the-jquery-source/" target="_blank">10 Things I Learned From jQuery Source</a></strong> and <strong><a href="http://paulirish.com/2011/11-more-things-i-learned-from-the-jquery-source/">11 More Thing I Learned From jQuery Source</a></strong>, both by <a href="http://paulirish.com/" target="_blank">Paul Irish</a>. If you have to time, I must insist you go ahead and watch the videos (take notes) if you are at all interested in Javascript, Jqueryt. This post is my attempt at a summation of some of the more interesting points, which is are more JS specific rather than admiration of specific features of jQuery. With that said, lets begin.</p>
<h3>1) Self-executing anonymous function</h3>
<p>This is pretty much a basis for quite a few things in this list. If you are at all familiar with programming, the title should make sense. If not, what this means is a nameless function which is defined and calls itself immediately after its definition ends. The basic definition is:</p>
<p></p><pre class="crayon-plain-tag">(function()
{
// code here
})();</pre><p></p>
<p>There are two important points of interest here. Firstly, the brackets around the nameless function definition. This sets the function alone with a bubble as such, so no name is needed. I assume this is the same as assigning a function to variable and then calling it as <em>somevar();</em> later. The second bit is the (); immediately after these brackets. This calls the function immediately after it has been defined, so this runs as soon as the browser&#8217;s engine. This is what jQuery uses to wrap around almost it&#8217;s entire library code.</p>
<p>But how is this useful you say? Well its an important part of the next few examples, so read on to find the use</p>
<h3>2) Safely capture safe variables within the scope of your function</h3>
<p>Apparently, it is perfectly possible for a user script to pop this at the top of you page</p>
<p></p><pre class="crayon-plain-tag">undefined = true;</pre><p></p>
<p>Imagine the havoc that would cause a JS script! So what we do is was pass our own version through this large anonymous function.</p>
<p></p><pre class="crayon-plain-tag">(function(window,document,undefined){
// code
})(this,document);</pre><p></p>
<p>This allows to know for certain that no malicious user scripts can mess with our window, document or undefined methods. Consequentially, this also helps with compressors and reduces load on the native JS system since we have a local snapshot of important and oft-used objects within our library or function:</p>
<p></p><pre class="crayon-plain-tag">(function(a,b,c){

})(this,document);</pre><p></p>
<h3>3) Conditionals and self-executing anonymous functions</h3>
<p>Consider:</p>
<p></p><pre class="crayon-plain-tag">var base = null;
var fake = false;
var head = // header element

if(document.getElementsByTagName(&amp;quot;base&amp;quot;)[0])
{
	base = document.getElementsByTagName(&amp;quot;base&amp;quot;)[0];
}
else
{
	fake = true;
	base = head.insertBefore(document.createElement(&amp;quot;base&amp;quot;));
}</pre><p></p>
<p>We&#8217;ve all seen something like this before, where we have a conditional were the alternative option is two fold and we need some calculation. Well with the self-executing function we can make this a bit neater (depending on your preference) but processing the alternative option in said function.</p>
<p></p><pre class="crayon-plain-tag">var fake = false;
var header = // header element

var base = document.getElementsByTagName(&amp;quot;base&amp;quot;)[0] || (function()
{
	fake = true;
	return head.insertBefore(document.createElement(&amp;quot;base&amp;quot;));
})();</pre><p></p>
<p>Now for something completely different.</p>
<h3>4) Nested ternary usage</h3>
<p>Sometimes a switch statement just won&#8217;t do. Sometimes each of your multiple cases requires a slightly different test. For example consider this:</p>
<p></p><pre class="crayon-plain-tag">if(data === &amp;quot;true&amp;quot;)
{
	data = true;
}
else if(data === &amp;quot;false&amp;quot;)
{
	data = false;
}
else if(data === &amp;quot;null&amp;quot;)
{
	data = null;
}
else
{
	data = someFunc(data);
}</pre><p></p>
<p>I personally never had a problem with this sort of layered if/else if each case has complex logic to work through. But when the task at each case is pretty simple it seems that this could be streamlined. And this is what jQuery source taught me:</p>
<p></p><pre class="crayon-plain-tag">data = data === &amp;quot;true&amp;quot; ? true :
data === &amp;quot;false&amp;quot; ? false :
data === &amp;quot;null&amp;quot; ? null : someFunc(data);</pre><p></p>
<p>Of course this wouldn&#8217;t work for complex conditionals but for the meticulous programmer out there this looks quite neat.</p>
<h3>5) Live vs Static Nodelists</h3>
<p>This is an interesting feature of Javascript I never actually knew about. When you use the <em>document.getElementByClass</em>,<em>document.getElementByTagName</em>,<em>document.querySelectorAll</em> etc, you are returned a <strong>Nodelist</strong>. However, depending of which function you use, you might get a LIVE or STATIC nodelist.</p>
<p>Consider:</p>
<p></p><pre class="crayon-plain-tag">var all = document.getElementsByTagName(&amp;quot;div&amp;quot;); // all is 4 at the start

while(some_condition)
{
	// loop adds 2 more divs
}

document.write(all); // would now write 6! updates automatically and is not a snapshot.</pre><p></p>
<p>On the flipside, document.querySelectorAll(&#8220;div&#8221;); returns a static nodelist so it would remain 4 when additional divs were added. Clever Javascript, very clever.</p>
<p>Hope that was a fairly informative read, if you have time I definitely recommend watching the videos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-root.com/code/learning-from-the-jquery-source/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Final Year Project: Complete</title>
		<link>http://www.red-root.com/life/final-year-project-complete/</link>
		<comments>http://www.red-root.com/life/final-year-project-complete/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 00:54:26 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[The Web]]></category>

		<guid isPermaLink="false">http://www.red-root.com/?p=431</guid>
		<description><![CDATA[The site is online (somewhere). The codebase has been handed over to the examiners. Now its simply a task of writing the report and user manual and hopefully, hopefully, one the project gets marked in late May, I can set about putting it live. Beta of course.]]></description>
			<content:encoded><![CDATA[<p>The site is online (somewhere). The codebase has been handed over to the examiners. Now its simply a task of writing the report and user manual and hopefully, hopefully, one the project gets marked in late May, I can set about putting it live. Beta of course.</p>
<p>I&#8217;ve learnt a great deal of things during the development of this project. Time management skills, the importance of researching every single design/technological decision, how to build a Google Chrome extension from the ground up. But probably the most important thing I&#8217;ve learnt is the importance of being thorough when developing and not cuttings corners. The amount of times in these latter stages I have had to go back and modify old core code was not to be underestimated, but most of the time, due to my meticulous dungeon-crawler-esque coding styles of thinking of every possibility, everything stayed together. For the most part.</p>
<p>Since I&#8217;m getting to the end of my university life now I should really begin job hunting, so expect some wholesale changes on the site while I prepare it for CV mode!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.red-root.com/life/final-year-project-complete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
