<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Darcy Clarke's Blog</title>
	
	<link>http://darcyclarke.me</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Sat, 25 Feb 2012 02:08:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DarcyClarkesBlog" /><feedburner:info uri="darcyclarkesblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Bootstrap!</title>
		<link>http://feedproxy.google.com/~r/DarcyClarkesBlog/~3/arG6gsSBBgI/</link>
		<comments>http://darcyclarke.me/thoughts/bootstrap/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 07:04:09 +0000</pubDate>
		<dc:creator>Darcy Clarke</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[entrepreneur]]></category>
		<category><![CDATA[startups]]></category>

		<guid isPermaLink="false">http://darcyclarke.me/?p=1197</guid>
		<description><![CDATA[No, I&#8217;m not talking about Twitter&#8217;s sweet UI asset library (found here). I&#8217;m talking about business. Question, Why do people think they need a ton of money to get a business off the ground? Business founders that immediately turn their sights on funding either have no viable business model or don&#8217;t have the ability to [...]]]></description>
			<content:encoded><![CDATA[<p>No, I&#8217;m not talking about Twitter&#8217;s sweet UI asset library (found <a href="http://twitter.github.com/bootstrap/">here</a>). I&#8217;m talking about business.</p>
<p>Question, <strong>Why do people think they need a ton of money to get a business off the ground?</strong> Business founders that immediately turn their sights on funding either have no viable business model or don&#8217;t have the ability to execute themselves. I know people who are both (>_<). Of course there's always exceptions. Without the funding Facebook got it may never have grown as big as it has. But is your idea honestly the next Facebook? Don't answer that. Developers/Designers laugh at people when they come  to us with the answer. It's been happening for years now. Let's put our realist helmets on and all agree that we, near a perfect 100% of us, will never build a Facebook, Twitter or Google-esque company in our lifetimes. Great! Let's continue.</p>
<p><img src="http://darcyclarke.me/dev/bootstrap/money.png" width="100%"></p>
<p><strong>A business needs money to run.</strong> We all know this. That said, how much money do you need to run a tech startup these days? With cloud computing and exponentially cheaper memory there&#8217;s nearly zero reason why you would need funding in the hundreds of thousands or millions of dollars (<em>at least in the beginning</em>). No reason at all. </p>
<p>Keeping our realist helmets on, does anyone else think it a bit nuts to quit a paying job to work full time on a yet-to-be-proven business idea? I thought so. Don&#8217;t be an idiot, start making progress in your free time. This is an investment. If you want it bad enough you&#8217;ll find time while maintaining a steady income to keep your head afloat. </p>
<p>Don&#8217;t think you can circumvent the MVP (Minimum Viable Product) process and head straight into negotiations over unproven ideas and speculation. The only way to test an idea&#8217;s merit or validity is to bring it&#8217;s core concept to market or a market subset. If you&#8217;re a true business owner, this will often mean investing in your idea before asking someone else to. If you don&#8217;t have the ability to execute yourself, <strong>learn</strong>. Being the &#8220;fat&#8221; in a &#8220;lean&#8221; startup is a tasteless move. Just because you&#8217;re the &#8220;founder&#8221; doesn&#8217;t give you the right to be lazy. Honestly, idea&#8217;s are a &#8220;Yen a Dozen&#8221; (<em>~A Darcy Clarke Quote</em>). Seriously, they&#8217;re easy to come by. So get off your butt and go learn what needs to be done to bring your ideas to fruition.</p>
<p>That&#8217;s about it. Now go bootstrap the next Facebook <img src='http://darcyclarke.me/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  </p>
]]></content:encoded>
			<wfw:commentRss>http://darcyclarke.me/thoughts/bootstrap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://darcyclarke.me/thoughts/bootstrap/</feedburner:origLink></item>
		<item>
		<title>Front-end Job Interview Questions</title>
		<link>http://feedproxy.google.com/~r/DarcyClarkesBlog/~3/NVGWHLMNmQg/</link>
		<comments>http://darcyclarke.me/development/front-end-job-interview-questions/#comments</comments>
		<pubDate>Fri, 10 Feb 2012 00:16:02 +0000</pubDate>
		<dc:creator>Darcy Clarke</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[questions]]></category>

		<guid isPermaLink="false">http://darcyclarke.me/?p=1215</guid>
		<description><![CDATA[A while ago, a group of very intelligent and experienced Front-end Developers got together and created a list of great Front-end focused job interview questions. This group consisted of @bentruyman,@ajpiano, @paul_irish, @SlexAxton, @boazsender, @miketaylr, @iansym, @vladikoff and @gf3. Since it&#8217;s creation, I&#8217;ve expanded to this list and happen to use it to help friends prepare [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago, a group of very intelligent and experienced Front-end Developers got together and created a list of great Front-end focused job interview questions. This group consisted of <a href="https://twitter.com/#!/bentruyman">@bentruyman</a>,<a href="https://twitter.com/#!/ajpiano">@ajpiano</a>, <a href="https://twitter.com/#!/paul_irish">@paul_irish</a>, <a href="https://twitter.com/#!/SlexAxton">@SlexAxton</a>, <a href="https://twitter.com/#!/boazsender">@boazsender</a>, <a href="https://twitter.com/#!/miktaylr">@miketaylr</a>, <a href="https://twitter.com/#!/iansym">@iansym</a>, <a href="https://twitter.com/#!/vladikoff">@vladikoff</a> and <a href="https://twitter.com/#!/gf3">@gf3</a>. Since it&#8217;s creation, I&#8217;ve expanded to this list and happen to use it to help friends prepare for interviews (like my good friend <a href="http://wesbos.com/interviewing-with-google/">Wes Bos</a> / <a href="http://twitter.com/#!/wesbos">@wesbos</a>) or to interview developers myself.</p>
<p>To note, I think that it&#8217;s only necessary to choose a handfull of questions from this list to get a good sense of a candidates capabilities and fit. The most telling questions often relate to what a person does in their free time. Asking about Twitter &#038; Github Accounts, RSS feeds, Personal Blogs and general community involvement will tell you a lot about whether or not this person will stay up-to-date and is passionate about their work. The last group of questions will definitely let you know if the person&#8217;s got a sense of humour.</p>
<p>Hope this list helps some people and, if you do use it, make sure to give credit to the folks that contributed (listed above). </p>
<p class="note"><strong>Note:</strong> I&#8217;ve posted this document up on Github so that you can add to it if you want. Here&#8217;s the link: <a href="https://github.com/darcyclarke/Front-end-Developer-Interview-Questions">https://github.com/darcyclarke/Front-end-Developer-Interview-Questions</a></p>
<div class="paper">
<h2>JOB INTERVIEW QUESTIONNAIRE</h2>
<h3>General Questions:</h3>
<ul>
<li>Are you on Twitter?
<ul>
<li>If so, who do you follow on Twitter?
        </ul>
<li>Are you on Github?
<ul>
<li>If so, what are some examples of repos you follow
    	</ul>
<li>What blogs do you follow?
<li>What version control systems have you used?
<li>What is your preferred development enviroment? (OS, Editor, Browsers, Tools etc.)
<li>Can you describe your workflow when you create a web page?
<li>Can you describe the difference between progressive enhancement and graceful degradation?
<ul>
<li>Bonus points for the answer &#8220;no one can&#8221;
<li>Extra bonus points for describing feature detection
		</ul>
<li>Explain what &#8220;Semantic HTML&#8221; means.
<li>What does &#8220;minification&#8221; do?
<li>Why is it better to serve site assets from multiple domains? 
<ul>
<li>How many resources will a browser download from a given domain at a time?
		</ul>
<li>If you have 8 different stylesheets for a given design, how would you integrate them into the site?
<ul>
<li><strong>Looking for file concatenation.</strong>
<li>Points off for <code>@import</code>, unless it works in conjunction with a build system.
		</ul>
<li>If you jumped on a project and they used tabs and you used spaces, what would you do?
<ul>
<li><strong>issue :retab! command</strong>
		</ul>
<li>Write a simple slideshow page
<ul>
<li>Bonus points if it does not use JS.</ul>
<li>What tools do you use to test your code&#8217;s performance?
<li>If you could master one technology this year, what would it be?
<li>Name 3 ways to decrease page load. (perceived or actual load time)
<li>Explain the importance of standards.
	</ul>
</p>
<h3>HTML-Specific Questions:</h3>
<ul>
<li>What&#8217;s a <code>doctype</code> do, and how many can you name?
<li>What&#8217;s the difference between standards mode and quirks mode?
<li>What are the limitations when serving XHTML pages?
<ul>
<li>Are there any problems with serving pages as <code>application/xhtml+xml</code>?
		</ul>
<li>How do you serve a page with content in multiple languages?
<li>Can you use XHTML syntax in HTML5? How do you use XML in HTML5?
<li>What are <code>data-</code> attributes good for?
<li>What are the content models in HTML4 and are they different in HTML5?
<li>Consider HTML5 as an open web platform. What are the building blocks of HTML5?
<li>Describe the difference between cookies, sessionStorage and localStorage.
	</ul>
</p>
<h3>JS-Specific Questions</h3>
<ul>
<li>Which JavaScript libraries have you used?
<li>How is JavaScript different from Java?
<li>What are <code>undefined</code> and <code>undeclared</code> variables?
<li>What is a closure, and how/why would you use one?
<ul>
<li>Your favorite pattern used to create them? argyle (Only applicable to IIFEs)
		</ul>
<li>What&#8217;s a typical use case for anonymous functions?
<li>Explain the &#8220;JavaScript module pattern&#8221; and when you&#8217;d use it.
<ul>
<li>Bonus points for mentioning clean namespacing.
<li>What if your modules are namespace-less?
		</ul>
<li>how do you organize your code? (module pattern, classical inheritance?)
<li>What&#8217;s the difference between host objects and native objects?
<li>Difference between:
<pre><code class="javascript">function Person(){}
		var person = Person()
		var person = new Person()
	</code></pre>
<li>What&#8217;s the difference between <code>.call</code> and <code>.apply</code>?
<li>explain <code>Function.prototype.bind</code>?
<li>When do you optimize your code?
<li>Can you explain how inheritance works in JavaScript?
<ul>
<li>Bonus points for the funny answer: &#8220;no one can&#8221;
<li>Extra bonus points if they take a stab at explaining it
		</ul>
<li>When would you use <code>document.write()</code>?
<ul>
<li><strong>Correct answer: 1999 &#8211; time to weed out the junior devs</strong>
		</ul>
<li>What&#8217;s the difference between feature detection, feature inference, and using the UA string
<li>Explain AJAX in as much detail as possible
<li>Explain how JSONP works (and how it&#8217;s not really AJAX)
<li>Have you ever used JavaScript templating, and if so, what/how?
<li>Explain &#8220;hoisting&#8221;.
<li>What is FOUC? How do you avoid FOUC?
<li>Describe event bubbling.
<li>What&#8217;s the difference between an &#8220;attribute&#8221; and a &#8220;property&#8221;?
<li>Why is extending built in JavaScript objects not a good idea?
<li>Why is extending built ins a good idea?
<li>Difference between document load event and document ready event?
<li>What is the difference between <code>==</code> and <code>===</code>?
<li>Explain how you would get a query string parameter from the browser window&#8217;s URL.
<li>Explain the same-origin policy with regards to JavaScript.
<li>Explain event delegation.
<li>Describe inheritance patterns in JavaScript.
<li>Make this work: 
<pre><code class="javascript">[1,2,3,4,5].duplicator(); // [1,2,3,4,5,1,2,3,4,5]</code></pre>
<li>Describe a strategy for memoization in JavaScript.
<li>Why is it called a Ternary statement, what does the word &#8220;Ternary&#8221; indicate?
<li>What is the arity of a function?
	</ul>
</p>
<h3>JS-Code Examples:</h3>
<pre><code class="javascript">~~3.14</code></pre>
<p>Question: What value is returned from the above statement?<br />
<strong>Answer: 3</strong></p>
<pre><code class="javascript">"i'm a lasagna hog".split("").reverse().join("");</code></pre>
<p>Question: What value is returned from the above statement?<br />
<strong>Answer: &#8220;goh angasal a m&#8217;i&#8221;</strong></p>
<pre><code class="javascript">( window.foo || ( window.foo = "bar" ) );</code></pre>
<p>Question: What is the value of window.foo?<br />
<strong>Answer: &#8220;bar&#8221;</strong></p>
<pre><code class="javascript">var foo = "Hello";
(function() { 
  var bar = " World"; 
  alert(foo + bar); 
})(); 
alert(foo + bar);</code></pre>
<p>Question: What is the outcome of the two alerts above?<br />
<strong>Answer: &#8221;Hello World&#8221; &amp; ReferenceError: bar is not defined</strong></p>
<h3>jQuery-Specific Questions:</h3>
<ul>
<li>Explain &#8220;chaining&#8221;.
<li>What does <code>.end()</code> do?
<li>How, and why, would you namespace a bound event handler?
<li>What is the effects (or fx) queue?
<li>What is the difference between <code>.get()</code>, <code>[]</code>, and <code>.eq()</code>?
<li>What is the difference between <code>.bind()</code>, <code>.live()</code>, and <code>.delegate()</code>?
<li>What is the difference between <code>$</code> and <code>$.fn</code>? Or just what is <code>$.fn</code>.
<li>Optimize this selector:
<pre><code class="javascript">$(".foo div#bar:eq(0)")</code></pre>
</ul>
<h3>CSS-Specific Questions:</h3>
<ul>
<li>Describe what a &#8220;reset&#8221; CSS file does and how it&#8217;s useful.
<li>Describe Floats and how they work.
<li>What are the various clearing techniques and which is appropriate for what context?
<li>Explain CSS sprites, and how you would implement them on a page or site.
<li>What are the differences between the IE box model and the W3C box model?
<li>What are your favourite image replacement techniques and which do you use when?
<li>CSS property hacks, conditionally included .css files, or&#8230; something else?
<li>How do you serve your pages for feature-constrained browsers?
<ul>
<li>What techniques/processes do you use?</ul>
<li>What are the different ways to visually hide content (and make it available only for screenreaders)?
<li>Have you ever used a grid system, and if so, what do you prefer?
<li>Hav you used or implement media queries or mobile specific layouts/CSS? 
<li>Any familiarity with styling SVG?
<li>How do you optimize your webpages for print?
<li>What are some of the &#8220;gotchas&#8221; for writing efficient CSS?
<li>Do you use LESS?
<li>How would you implement a web design comp that uses non-standard fonts? (avoid mentioning webfonts so they can figure it out)
<li>Explain how a browser determines what elements match a CSS selector?
	</ul>
</p>
<h3>Optional fun Questions:</h3>
<ul>
<li>What&#8217;s the coolest thing you&#8217;ve ever coded, what are you most proud of?
<li>Do you know the HTML5 gang sign?
<li>Are you now, or have you ever been, on a boat.
<li>Tell me your favorite parts about Firebug / Webkit Inspector.
<li>Do you have any pet projects? What kind?
<li>Explain the significance of &#8220;cornify&#8221;.
<li>On a piece of paper, write down the letters A B C D E vertically. Now put these in descending order without writing one line of code.
<ul>
<li><strong>Wait and see if they turn the paper upside down</strong>
<li>This should make the laugh and is a fine way to relieve some tension at the end of the interview.</ul>
<li>Pirate or Ninja?
<ul>
<li>bonus if it&#8217;s a combo and a good reason was given (+2 for zombie monkey pirate ninjas)
<li>If not Web Development what would you be doing?
<li>Where in the world is Carmen Sandiego?
<ul>
<li><strong>(hint: their answer is always wrong)</strong></ul>
<li>What&#8217;s your favorite feature of Internet Explorer?
	</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://darcyclarke.me/development/front-end-job-interview-questions/feed/</wfw:commentRss>
		<slash:comments>59</slash:comments>
		<feedburner:origLink>http://darcyclarke.me/development/front-end-job-interview-questions/</feedburner:origLink></item>
		<item>
		<title>Scared…</title>
		<link>http://feedproxy.google.com/~r/DarcyClarkesBlog/~3/j31ApBaCNtM/</link>
		<comments>http://darcyclarke.me/thoughts/scared/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 20:37:12 +0000</pubDate>
		<dc:creator>Darcy Clarke</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[fear]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://darcyclarke.me/?p=1206</guid>
		<description><![CDATA[Sometimes I get scared to release things or ask questions. Often times, it&#8217;s because I&#8217;m scared of making mistakes and being criticized. I believe this fear has made me miss a lot of opportunities and I fight with it on a daily basis. Unfortunately, this fear has begun to creep into other aspects of my [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I get scared to release things or ask questions. Often times, it&#8217;s because I&#8217;m scared of making mistakes and being criticized. I believe this fear has made me miss a lot of opportunities and I fight with it on a daily basis. </p>
<p>Unfortunately, this fear has begun to creep into other aspects of my work/life. I&#8217;m afraid to make mistakes and so I don&#8217;t take as many chances. I don&#8217;t ask as many questions. I&#8217;m less involved. Less useful to the community. </p>
<p>I think that, for many reasons, this fear is justified. In the development and design industry, you&#8217;re faced with public scrutiny the minute you release any piece of work and it&#8217;s extremely easy to slip up, be negative and look down upon others.</p>
<p>I have presentation <strong>ideas</strong> that will never come to fruition, thousands of lines of code and hundreds of projects at <strong>50-80%</strong> completion, and last, but not least, I have over <strong>40</strong> blog posts drafted (and in some cases completed) that may never see the light of day. </p>
<p>I have no consoling words, advice or the like. I&#8217;m simply stating that there&#8217;s a problem here and I hope to fix it one day. </p>
<p>Thanks,<br />
Darcy</p>
]]></content:encoded>
			<wfw:commentRss>http://darcyclarke.me/thoughts/scared/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://darcyclarke.me/thoughts/scared/</feedburner:origLink></item>
		<item>
		<title>Quick Tip: Get Gravatar Images from Emails with JavaScript</title>
		<link>http://feedproxy.google.com/~r/DarcyClarkesBlog/~3/7652tujLYz4/</link>
		<comments>http://darcyclarke.me/development/quick-tip-get-gravatar-images-from-emails-with-javascript/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 14:30:41 +0000</pubDate>
		<dc:creator>Darcy Clarke</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gravatar]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[md5]]></category>

		<guid isPermaLink="false">http://darcyclarke.me/?p=1136</guid>
		<description><![CDATA[A quick video tutorial on how to get Gravatar images, from emails, with JavaScript. We get some nice help from Chris Coyier&#8217;s (http://css-tricks.com/ &#038; http://digwp.com/) MD5 Library. Final Code Example]]></description>
			<content:encoded><![CDATA[<p>A quick video tutorial on how to get Gravatar images, from emails, with JavaScript. We get some nice help from Chris Coyier&#8217;s (<a href="http://css-tricks.com">http://css-tricks.com/</a> &#038; <a href="http://digwp.com/">http://digwp.com/</a>) MD5 Library. </p>
<p><iframe width="500" height="350" src="http://www.youtube.com/embed/_I1caXuSmXo" frameborder="0" allowfullscreen></iframe></p>
<h2>Final Code Example</h2>
<p><iframe style="width: 100%; height: 600px; border:1px solid #ccc;padding:3px;" src="http://jsfiddle.net/darcyclarke/5v7Dk/1/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://darcyclarke.me/development/quick-tip-get-gravatar-images-from-emails-with-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://darcyclarke.me/development/quick-tip-get-gravatar-images-from-emails-with-javascript/</feedburner:origLink></item>
		<item>
		<title>Using jQuery Deferreds with Animations</title>
		<link>http://feedproxy.google.com/~r/DarcyClarkesBlog/~3/rWUOunycNzQ/</link>
		<comments>http://darcyclarke.me/development/using-jquery-deferreds-with-animations/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 14:30:07 +0000</pubDate>
		<dc:creator>Darcy Clarke</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[deferreds]]></category>
		<category><![CDATA[done]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[when]]></category>

		<guid isPermaLink="false">http://darcyclarke.me/?p=1165</guid>
		<description><![CDATA[I try and hang out in the #jQuery IRC Channel whenever I&#8217;ve got some time and I see a lot of the same questions. One of those, which I see fairly often, is: &#8220;How do I run some code once my animations ar finished?&#8221;. The simple answer would be to add a callback function to [...]]]></description>
			<content:encoded><![CDATA[<p>I try and hang out in the #jQuery IRC Channel whenever I&#8217;ve got some time and I see a lot of the same questions. One of those, which I see fairly often, is: <em>&#8220;How do I run some code once my animations ar finished?&#8221;</em>. The simple answer would be to add a callback function to <code>.animate()</code>, but for many, they only want to execute that function once, after all their elements have finished animating. We can solve this easily with deferreds.</p>
<pre><code class="javascript">$.when($('div').animate({"opacity": "0"}, 1000)).done(function(){
    // animations are finished, run code
});</code></pre>
<p>The above example shows how we can easily wrap our animate in a deferred and it gets nicely resolved with our callback only executing a single time. </p>
]]></content:encoded>
			<wfw:commentRss>http://darcyclarke.me/development/using-jquery-deferreds-with-animations/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://darcyclarke.me/development/using-jquery-deferreds-with-animations/</feedburner:origLink></item>
		<item>
		<title>Live vs. Static Node Lists</title>
		<link>http://feedproxy.google.com/~r/DarcyClarkesBlog/~3/SgN7S_CpvEA/</link>
		<comments>http://darcyclarke.me/development/live-vs-static-node-lists/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 11:30:43 +0000</pubDate>
		<dc:creator>Darcy Clarke</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[getElementsByTagName]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[nodelist]]></category>
		<category><![CDATA[nodes]]></category>
		<category><![CDATA[querySelectorAll]]></category>
		<category><![CDATA[static]]></category>

		<guid isPermaLink="false">http://darcyclarke.me/?p=1071</guid>
		<description><![CDATA[A little while ago, I was working on an application where I wanted to cache collections of elements to save on DOM traversals / improve performance. The problem with caching a collection of elements is that you&#8217;ll, in most cases, store a static node list. Thus, when new elements are introduced to the DOM, that [...]]]></description>
			<content:encoded><![CDATA[<p>A little while ago, I was working on an application where I wanted to cache collections of elements to save on DOM traversals / improve performance. The problem with caching a collection of elements is that you&#8217;ll, in most cases, store a static node list. Thus, when new elements are introduced to the DOM, that match your selector, they won&#8217;t be included (unless you re-query the DOM). </p>
<p>JavaScript frameworks, like <a href="http://jquery.com" title="jQuery JavaScript Library" target="_blank">jQuery</a>, return static arrays of elements by default. So, if you&#8217;re using a JavaScript framework, you&#8217;ll be well acquainted with either: re-querying the DOM, or using methods like <code>.live()</code> or <code>.delegate()</code>. That said, there are some native query methods you can use that will return live node lists.</p>
<p><code>document.getElementsByTagName()</code>, <code>document.getElementsByTagNameNS</code> and <code>document.getElementsByClassName()</code> are the only options available that return &#8220;live&#8221; node lists. Looking at those methods, you may be discouraged, but don&#8217;t be. The returned is a live node list so all subsequent children of those elements will also be updated automatically. This means we can setup a live node list selector, that updates automatically, and then find the elements we&#8217;d like to use when ready.</p>
<p class="note"><strong>Note:</strong> I&#8217;m not suggesting storing the whole body as a live node list but a more refined selection. Although, I guess, you could do that if you were so inclined. <br /><code>var cache = document.getElementsByTagName('body');</code><br /> <strong>vs.</strong> <br /><code>var cache = document.getElementsByTagName('ul');</code></p>
<p>Here&#8217;s an example of a live node list in use:</p>
<p><iframe style="width: 100%; height: 500px; border: 1px solid #ccc; padding: 3px;" src="http://jsfiddle.net/darcyclarke/sNL5f/3/embedded/"></iframe></p>
<p>So the key here is that we&#8217;ve moved away from re-querying the DOM and instead simply filtered our stored node list (which was the <code>var test.ul = document.getElementsByTagName('ul');</code>). </p>
<p>Another example I put together demonstrates the difference between a selection made with a JavaScript library like jQuery (and their Sizzle Selector Engine) verse a, rather basic, native selector method.</p>
<p><iframe style="width: 100%; height: 500px; border: 1px solid #ccc; padding: 3px;" src="http://jsfiddle.net/darcyclarke/e6Sa6/embedded/"></iframe></p>
<p>Of course, we need to factor in the robustness of a selector engine, such as <a href="http://sizzlejs.com/" target="_blank" title="Sizzle DOM Selector Engine">Sizzle JS</a>, compared to the simple <code>document.getElementsByTagName()</code>. The tradeoffs of each will come down to your individual scenario/use-case. Either way, it&#8217;s good to know how you&#8217;re interacting with the DOM and what options you have. </p>
<p class="note"><strong>Note:</strong> Unfortunately, the latest query method,  <code>document.querySelectorAll()</code>, was developed and standardized to return a static node list (booo!). Otherwise, this would be the ideal native method.</p>
]]></content:encoded>
			<wfw:commentRss>http://darcyclarke.me/development/live-vs-static-node-lists/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://darcyclarke.me/development/live-vs-static-node-lists/</feedburner:origLink></item>
		<item>
		<title>Goodbye Toronto, Hello NYC!</title>
		<link>http://feedproxy.google.com/~r/DarcyClarkesBlog/~3/454R3Rd7nbA/</link>
		<comments>http://darcyclarke.me/news/goodbye-toronto-hello-nyc/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 03:04:26 +0000</pubDate>
		<dc:creator>Darcy Clarke</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[dealpage]]></category>
		<category><![CDATA[fantasy interactive]]></category>
		<category><![CDATA[fi]]></category>
		<category><![CDATA[moving]]></category>
		<category><![CDATA[new york]]></category>
		<category><![CDATA[themify]]></category>
		<category><![CDATA[toronto]]></category>

		<guid isPermaLink="false">http://darcyclarke.me/?p=989</guid>
		<description><![CDATA[Throughout my life I&#8217;ve often called Toronto home. Although I&#8217;ve lived in 8 different cities across Ontario it has always been the hub for my family and friends. As of September 9th I will be moving on from my &#8220;hometown&#8221;. New York, the city that never sleeps, has open it&#8217;s arms and kindly accepted me [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://darcyclarke.me/dev/fi/fi.jpg" style="float:right;margin:0 0 15px 15px;">Throughout my life I&#8217;ve often called Toronto home. Although I&#8217;ve lived in 8 different cities across Ontario it has always been the hub for my family and friends. As of <strong>September 9th</strong> I will be moving on from my &#8220;hometown&#8221;. New York, the city that never sleeps, has open it&#8217;s arms and kindly accepted me in. The reason for this move? I will be joining one of the best creative agencies in the industry, Fi (Fantasy Interactive, <a href="http://f-i.com" target="_blank">http://f-i.com</a>), helping continue to build award winning experiences. Toronto, and Canada as a whole, will always be my home but for now, I seek to grow and spread my proverbial wings beyond this city.  </p>
<h3>Why Fantasy Interactive?</h3>
<p><iframe style="border:1px solid #ccc;padding:2px;float:right;margin: 0 0 15px 15px;"  width="250" height="250" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.ca/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=80+Franklin+Street+new+york&amp;aq=&amp;sll=43.653466,-79.383774&amp;sspn=0.326899,0.490265&amp;vpsrc=0&amp;ie=UTF8&amp;hq=&amp;hnear=80+Franklin+St,+New+York,+10013,+United+States&amp;ll=40.718119,-74.004421&amp;spn=0.016263,0.021372&amp;z=14&amp;iwloc=A&amp;output=embed"></iframe><br />
They are awesome! Honestly. For over 4 years I&#8217;ve closely watched Fi grow and continue to develop rich/immersive web experiences. They&#8217;ve led the way on so many fronts and are continuing to forge ahead utilizing the latest web technologies. I&#8217;ve always respected their work and am humbled to join their ranks. </p>
<p>Along with exceptional work, Fi has bred a fun work environment and culture. With 4 different offices across the globe the team likes to connect and share their experiences through the company&#8217;s social network <a href="http://kontain.com/fi" target="_blank">Kontain</a> and livestream using <a href="http://www.thefwa.com/fwawebtv" target="_blank">FWA TV</a>. Sharing knowledge, laughter and a few drinks are all ways a team can grow closer and create better work. Having great office space helps too, as the pictures show below.</p>
<p><img src="http://darcyclarke.me/dev/fi/office.jpg" width="100%"></p>
<p><img src="http://darcyclarke.me/dev/fi/office2.jpg" width="235px" style="clear:both;float:left;margin:0 15px 15px 0;"><img src="http://darcyclarke.me/dev/fi/office3.jpg" width="235px" style="float:left;"></p>
<p><img src="http://darcyclarke.me/dev/fi/office4.jpg" width="235px" style="clear:both;float:left;margin:0 15px 15px 0;"><img src="http://darcyclarke.me/dev/fi/office5.jpg" width="235px" style="float:left;"></p>
<div style="clear:both;height:20px;"></div>
<h3>What about DealPage &#038; Themify?</h3>
<p>If you know me well you know that I&#8217;ve helped co-found two incredible companies here in Toronto, <a href="http://dealpage.me" target="_blank">DealPage</a> &#038; <a href="http://themify.me/" target="_blank">Themify</a>. Respectively, <a href="http://wesbos.com/" target="_blank">Wes Bos</a> &#038; <a href="http://webdesignerwall.com/" target="_blank">Nick La</a>, have both given me encouragement and support while I&#8217;ve made this new Chapter in my life a reality. DealPage will continue to be looked after and maintained by both Wes and I while Themify has already begun to be run solely by Nick. Knowing this, I am still heavily involved in the WordPress community and have discussed a few options with how I will be able to maintain &#038; support the platform Nick and I&#8217;ve built at Themify.</p>
<p><a href="http://dealpage.me" target="_blank"><img src="http://darcyclarke.me/dev/projects/dealpage.jpg" width="235px" style="margin:0 15px 15px 0;float:left;"></a><a href="http://themify.me/" target="_blank"><img src="http://darcyclarke.me/dev/projects/themify.jpg" width="235px" style="margin:0 0 15px 0;float:left;"></a></p>
<div style="clear:both;height:20px;"></div>
<h3>What about Toronto?</h3>
<p><iframe style="border:1px solid #ccc;padding:2px;float:right;margin: 0 0 15px 15px;" width="250" height="250" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.ca/maps?q=toronto&amp;ie=UTF8&amp;hl=en&amp;hq=&amp;hnear=Toronto,+Toronto+Division,+Ontario&amp;vpsrc=0&amp;ll=43.653466,-79.383774&amp;spn=0.124202,0.172348&amp;z=11&amp;iwloc=A&amp;output=embed"></iframe><br />
Toronto has a mature tech scene. I am proud to say that I have lived there in a time when entrepreneurs truly stuck out their necks and put their all behind their companies. Not only has the startup scene flourished but industry giants have flocked to the city. Google, Facebook, Yahoo, Microsoft etc. have all found their way into Canada through our &#8220;unofficial&#8221; nations capital. </p>
<p>My departure may be a disappointment to many in the development community. A community that grows strong just to see so many leave. I know, in my heart, that the only way for Toronto to truly become a hot bed for foreign talent will be for the great local developers to stick around. That said, I&#8217;m leaving Toronto and Toronto&#8217;s tech scene in some great hands who will continue to foster this community.</p>
<h3>Toronto&#8217;s Best &#038; Brightest</h3>
<ul class="friends" id="friends">
<li><a href="http://twitter.com/wesbos"><img src="http://darcyclarke.me/dev/fi/thumbs/0.jpg"><span class="info">Wes Bos @wesbos &#8211; Freelance</span></a></li>
<li><a href="http://twitter.com/verneho"><img src="http://darcyclarke.me/dev/fi/thumbs/1.jpg"><span class="info">Verne Ho @verneho &#8211; Jet Cooper</span></a></li>
<li><a href="http://twitter.com/skanwar"><img src="http://darcyclarke.me/dev/fi/thumbs/2.jpg"><span class="info">Satish Kanwar @skanwar &#8211; Jet Cooper</span></a></li>
<li><a href="http://twitter.com/mmhd"><img src="http://darcyclarke.me/dev/fi/thumbs/3.jpg"><span class="info">Moeed Mohammad @mmhd &#8211; Freelance</span></a></li>
<li><a href="http://twitter.com/tan_charlene"><img src="http://darcyclarke.me/dev/fi/thumbs/4.jpg"><span class="info">Charlene Tan @tan_charlene &#8211; Bnotions</span></a></li>
<li><a href="http://twitter.com/andrewliew"><img src="http://darcyclarke.me/dev/fi/thumbs/5.jpg"><span class="info">Andrea Liew @andrealiew &#8211; Bnotions</span></a></li>
<li><a href="http://twitter.com/rdbannon"><img src="http://darcyclarke.me/dev/fi/thumbs/6.jpg"><span class="info">Ryan Bannon @rdbannon &#8211; Playground</span></a></li>
<li><a href="http://twitter.com/PlaygroundSami"><img src="http://darcyclarke.me/dev/fi/thumbs/7.jpg"><span class="info">Sami Sadaghiani @PlaygroundSami &#8211; Playground</span></a></li>
<li><a href="http://twitter.com/steeben"><img src="http://darcyclarke.me/dev/fi/thumbs/8.jpg"><span class="info">Stephen Megitt @steeben &#8211; Filament Group</span></a></li>
<li><a href="http://twitter.com/lnakanishi"><img src="http://darcyclarke.me/dev/fi/thumbs/9.jpg"><span class="info">Linda Nakanishi @lnakanishi &#8211; Humber College</span></a></li>
<li><a href="http://twitter.com/malqinneh"><img src="http://darcyclarke.me/dev/fi/thumbs/10.jpg"><span class="info">Mustafa Al Qinneh @malqinneh &#8211; Teehan &#038; Lax</span></a></li>
<li><a href="http://twitter.com/jlax"><img src="http://darcyclarke.me/dev/fi/thumbs/11.jpg"><span class="info">Jon Lax @jlax &#8211; Teehan &#038; Lax</span></a></li>
<li><a href="http://twitter.com/ednapiranha"><img src="http://darcyclarke.me/dev/fi/thumbs/12.jpg"><span class="info">Jen Fong-Adwent @ednapiranha &#8211; Freelance</span></a></li>
<li><a href="http://twitter.com/zachaysan"><img src="http://darcyclarke.me/dev/fi/thumbs/13.jpg"><span class="info">Zach Aysan @zachaysan &#8211; Freelance</span></a></li>
<li><a href="http://twitter.com/gavinsmith"><img src="http://darcyclarke.me/dev/fi/thumbs/14.jpg"><span class="info">Gavin Smith @gavinsmith &#8211; Jet Cooper</span></a></li>
<li><a href="http://twitter.com/matt416"><img src="http://darcyclarke.me/dev/fi/thumbs/15.jpg"><span class="info">Matt Rintoul @matt416 &#8211; Say Yeah!</span></a></li>
<li><a href="http://twitter.com/smack416"><img src="http://darcyclarke.me/dev/fi/thumbs/16.jpg"><span class="info">Lee Dale @smack416 &#8211; Say Yeah!</span></a></li>
<li><a href="http://twitter.com/_afshin"><img src="http://darcyclarke.me/dev/fi/thumbs/17.jpg"><span class="info">Afshin Musavian @_afshin &#8211; Sequentia</span></a></li>
<li><a href="http://twitter.com/Dariusbashar"><img src="http://darcyclarke.me/dev/fi/thumbs/18.jpg"><span class="info">Darius Bashar @Dariusbashar &#8211; ExtremeGroup</span></a></li>
<li><a href="http://twitter.com/dombort"><img src="http://darcyclarke.me/dev/fi/thumbs/19.jpg"><span class="info">Dominic Bortolussi @dombort &#8211; TWG</span></a></li>
<li><a href="http://twitter.com/eh_eh"><img src="http://darcyclarke.me/dev/fi/thumbs/20.jpg"><span class="info">Andrés Aquino @eh_eh &#8211; TWG</span></a></li>
<li><a href="http://twitter.com/jonlim"><img src="http://darcyclarke.me/dev/fi/thumbs/21.jpg"><span class="info">Jon Lim @jonlim &#8211; TWG
<li><a href="http://twitter.com/bgilham"><img src="http://darcyclarke.me/dev/fi/thumbs/22.jpg"><span class="info">Brian Gilham @bgilham &#8211; TWG</span></a></li>
<li><a href="http://twitter.com/AliGhafour"><img src="http://darcyclarke.me/dev/fi/thumbs/23.jpg"><span class="info">Ali Ghafour @AliGhafour &#8211; Viafoura</span></a></li>
<li><a href="http://twitter.com/viafoura"><img src="http://darcyclarke.me/dev/fi/thumbs/24.jpg"><span class="info">Jesse Moeinifar @viafoura &#8211; Viafoura</span></a></li>
<li><a href="http://twitter.com/simonleojung"><img src="http://darcyclarke.me/dev/fi/thumbs/25.jpg"><span class="info">Simon Jung @simonleojung &#8211; Viafoura</span></a></li>
<li><a href="http://twitter.com/alexikonn"><img src="http://darcyclarke.me/dev/fi/thumbs/26.jpg"><span class="info">Alex Ikonn @alexikonn &#8211; Luxxy Hair Extensions</span></a></li>
<li><a href="http://twitter.com/waynesang"><img src="http://darcyclarke.me/dev/fi/thumbs/27.jpg"><span class="info">Wayne Sang @waynesang &#8211; Freelance</span></a></li>
<li><a href="http://twitter.com/maxcameron"><img src="http://darcyclarke.me/dev/fi/thumbs/28.jpg"><span class="info">Max Cameron @maxcameron &#8211; Big Bang</span></a></li>
<li><a href="http://twitter.com/camwest"><img src="http://darcyclarke.me/dev/fi/thumbs/29.jpg"><span class="info">Cameron Westland @camwest &#8211; Big Bang</span></a></li>
<li><a href="http://twitter.com/alkarim"><img src="http://darcyclarke.me/dev/fi/thumbs/32.jpg"><span class="info">Alkarim Nasser @alkarim &#8211; Bnotions</span></a></li>
<li><a href="http://twitter.com/markreale"><img src="http://darcyclarke.me/dev/fi/thumbs/33.jpg"><span class="info">Mark Reale @markreale &#8211; Bnotions</span></a></li>
<li><a href="http://twitter.com/Lowgain"><img src="http://darcyclarke.me/dev/fi/thumbs/34.jpg"><span class="info">Logan Aube @Lowgain &#8211; Bnotions</span></a></li>
<li><a href="http://twitter.com/vsmantis"><img src="http://darcyclarke.me/dev/fi/thumbs/35.jpg"><span class="info">Aaron Ritchie @vsmantis &#8211; Bnotions</span></a></li>
<li><a href="http://twitter.com/vinnyverma"><img src="http://darcyclarke.me/dev/fi/thumbs/36.jpg"><span class="info">Vinny Verma @vinnyverma &#8211; Eitheen Eighty</span></a></li>
<li><a href="http://twitter.com/rob_robichaud"><img src="http://darcyclarke.me/dev/fi/thumbs/37.jpg"><span class="info">Rob Robichaud @rob_robichaud &#8211; RBC</span></a></li>
<li><a href="http://twitter.com/gf3"><img src="http://darcyclarke.me/dev/fi/thumbs/38.jpg"><span class="info">Gianni Chiappetta @gf3 &#8211; Freelance</span></a></li>
<li><a href="http://twitter.com/drupeek"><img src="http://darcyclarke.me/dev/fi/thumbs/39.jpg"><span class="info">Andrew Peek @drupeek &#8211; Rocketr</span></a></li>
<li><a href="http://twitter.com/rlangdon"><img src="http://darcyclarke.me/dev/fi/thumbs/40.jpg"><span class="info">Rayanne Langdon @rlangdon &#8211; High Road Communications</span></a></li>
<li><a href="http://twitter.com/suntasem"><img src="http://darcyclarke.me/dev/fi/thumbs/41.jpg"><span class="info">Sunta Sem @suntasem &#8211; Freelance</span></a></li>
<li><a href="http://twitter.com/danielpatricio"><img src="http://darcyclarke.me/dev/fi/thumbs/42.jpg"><span class="info">Daniel Patricio @danielpatricio &#8211; Pinpoint Social</span></a></li>
<li><a href="http://twitter.com/SarahPrevette"><img src="http://darcyclarke.me/dev/fi/thumbs/43.jpg"><span class="info">Sarah Prevette @SarahPrevette &#8211; Sprouter</span></a></li>
<li><a href="http://twitter.com/erinbury"><img src="http://darcyclarke.me/dev/fi/thumbs/44.jpg"><span class="info">Erin Bury @erinbury &#8211; Sprouter</span></a></li>
<li><a href="http://twitter.com/dildhalla"><img src="http://darcyclarke.me/dev/fi/thumbs/45.jpg"><span class="info">Adil Dhalla @dildhalla &#8211; My City Lives</span></a></li>
<li><a href="http://twitter.com/adambenaron"><img src="http://darcyclarke.me/dev/fi/thumbs/46.jpg"><span class="info">Adam Ben-Aron @adambenaron &#8211; My City Lives</span></a></li>
<li><a href="http://twitter.com/43n79w"><img src="http://darcyclarke.me/dev/fi/thumbs/47.jpg"><span class="info">Paul Jara @43n79w &#8211; My City Lives</span></a></li>
<li><a href="http://twitter.com/amirad"><img src="http://darcyclarke.me/dev/fi/thumbs/48.jpg"><span class="info">Amira Dhalla @amirad &#8211; My City Lives</span></a></li>
<li><a href="http://twitter.com/kenseto"><img src="http://darcyclarke.me/dev/fi/thumbs/49.jpg"><span class="info">Ken Seto @kenseto &#8211; Massive Damage</span></a></li>
<li><a href="http://twitter.com/garryseto"><img src="http://darcyclarke.me/dev/fi/thumbs/50.jpg"><span class="info">Garry Seto @garryseto &#8211; Massive Damage</span></a></li>
</ul>
<div style="clear:both; height:20px;"></div>
<p>There&#8217;s literally hundreds more people I could have added but these are the few that stuck out and all of which I consider friends. Every last person listed is a champion in their field and continues to excel by sharing experiences and working with one another. I look forward to seeing what things lay ahead for, not just these individuals but, everyone in the Toronto digital landscape. You will all be missed and never forgotten!</p>
<h3 style="border:none;font-family:georgia,serif;margin:0 0 5px 0;font-size:22px;">&#8220;To unpathed waters, undreamed shores.&#8221;</h3>
<p><em>~William Shakepeare</em></p>
<p><img src="http://darcyclarke.me/dev/fi/toronto.jpg"></p>
<p><iframe style="border:1px solid #ccc;padding:2px;" width="100%" height="340px" src="http://www.youtube.com/embed/XjiwBwBL4Qo" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://darcyclarke.me/news/goodbye-toronto-hello-nyc/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		<feedburner:origLink>http://darcyclarke.me/news/goodbye-toronto-hello-nyc/</feedburner:origLink></item>
		<item>
		<title>Skin your Chrome Inspector</title>
		<link>http://feedproxy.google.com/~r/DarcyClarkesBlog/~3/0ZOvbuC_bVg/</link>
		<comments>http://darcyclarke.me/design/skin-your-chrome-inspector/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 17:04:25 +0000</pubDate>
		<dc:creator>Darcy Clarke</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[cobalt]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[inspector]]></category>
		<category><![CDATA[skin]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://darcyclarke.me/?p=965</guid>
		<description><![CDATA[Ever want to change the look of your Google Chrome Web Inspector? I personally love being able to customize the "theme" or "brush" of my favorite IDE and my Web Inspector is no different. If you've ever done some snooping around Google Chrome's Web Inspector you may have noticed that it's...]]></description>
			<content:encoded><![CDATA[<div class="clearBoth"></div>
<p class="update"><strong>Update:</strong> Since publishing this article the Chrome Team have added a unique ID to the container of the Chrome Dev Tools. The ID is <code>#-webkit-web-inspector</code>. via <a href="http://twitter.com/paul_irish">@paul_irish</a> (<a href="http://trac.webkit.org/changeset/99933/trunk/Source/WebCore/inspector/front-end/inspector.html" target="_blank">Trac Reference</a>)</p>
<p><img src="http://f.cl.ly/items/0l3R2b0y1T1a3Y0U2S40/Screen%20shot%202011-08-02%20at%2011.51.08%20PM.png" alt="" width="100%" /></p>
<p>Ever want to change the look of your Google Chrome Web Inspector? I personally love being able to customize the &#8220;theme&#8221; or &#8220;brush&#8221; of my favorite IDE and my Web Inspector is no different. If you&#8217;ve ever done some snooping around Google Chrome&#8217;s Web Inspector you may have noticed that it&#8217;s made of straight HTML + CSS + JavaScript. My buddy <a title="Paul irish" href="http://paulirish.com" target="_blank">Paul Irish</a> was the one to show me how you can &#8220;inspect&#8221; the Inspector (very Inception-esque).</p>
<p>With this knowledge, I acquired the help of my good friend <a title="Wes Bos" href="http://wesbos.com" target="_blank">Wes Bos</a>. Together we went looking for a way to customize our installs. Luckily enough, the Chromium team have set us up with a nice way of inserting our own CSS.</p>
<p><strong>Mac</strong>: <code>~/Library/Application\ Support/Google/Chrome/Default/User\ StyleSheets/Custom.css</code></p>
<p><strong>PC</strong>: <code>C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default\User StyleSheets\Custom.css</code> ~Thanks to @VSC</p>
<p><strong>Ubuntu (Chromium)</strong>: <code>~/.config/chromium/Default/User\ StyleSheets/Custom.css</code> ~Thanks to @Carlos</p>
<p>The file above is, as it sounds, a CSS file that you can modify and add your own custom styles to. To help you get started, I&#8217;m posting my <code>Custom.css</code> file for you to use. I&#8217;ve documented almost all the selectors so it should be easy to modify. Check it out below:</p>
<p><a href="http://darcyclarke.me/dev/inspectorskin/Custom.css" title="Download Skin"><img src="http://f.cl.ly/items/1q3g3Z2n15082s0y193K/Screen%20shot%202011-08-15%20at%2012.49.25%20PM.png" style='width:100%;'></a></p>
<p><a href="http://darcyclarke.me/dev/inspectorskin/Custom.css" title="Download Skin"><strong>Download this Skin here.</strong></a></p>
<p class="note"><strong>Note:</strong> You can check out more selectors and default CSS by copying + pasting the URL below in to your version of Chrome:<br />
<code>chrome-devtools://devtools/devTools.css</code></p>
<p>Have fun theming your install, and make sure to post your results back here!</p>
<p><strong>Update:</strong> Some people have made some great skins. I especially like <a href="http://bentruyman.com/">Ben Truyman&#8217;s</a> IR Black theme seen here below. I&#8217;ll keep adding to this list of skins if you guys keep them coming!</p>
<p><img src="http://f.cl.ly/items/3G3E3A1m2Y1c402R142q/Screen%20shot%202011-08-19%20at%202.06.52%20PM.png" width="100%"></p>
<p><a href="https://gist.github.com/1150520" target="_blank"><strong>Download IR Black Skin here.</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://darcyclarke.me/design/skin-your-chrome-inspector/feed/</wfw:commentRss>
		<slash:comments>58</slash:comments>
		<feedburner:origLink>http://darcyclarke.me/design/skin-your-chrome-inspector/</feedburner:origLink></item>
		<item>
		<title>Getting a clean document or window Object in JavaScript</title>
		<link>http://feedproxy.google.com/~r/DarcyClarkesBlog/~3/fHjCQbw_e7c/</link>
		<comments>http://darcyclarke.me/development/getting-a-clean-document-or-window-object-in-javascript/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 18:24:52 +0000</pubDate>
		<dc:creator>Darcy Clarke</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[document]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[window]]></category>

		<guid isPermaLink="false">http://darcyclarke.me/?p=930</guid>
		<description><![CDATA[Most JavaScript libraries and plugins have now implemented a form of protection against carless remapping of native methods. Protoype.js itself used to do this kind remapping/modification, which they&#8217;ve now changed. That said, there&#8217;s still a very real possibility, as a library or plugin, that your script will be run in an environment not carefully maintained [...]]]></description>
			<content:encoded><![CDATA[<p>Most JavaScript libraries and plugins have now implemented a form of protection against carless remapping of native methods. <a href="http://www.prototypejs.org/" title="Prototype.js JavaScript Library">Protoype.js</a> itself used to do this kind remapping/modification, which they&#8217;ve now changed. That said, there&#8217;s still a very real possibility, as a library or plugin, that your script will be run in an environment not carefully maintained by other scripts. </p>
<h3>So, how do I protect my code?</h3>
<p>I was actually asked this question by <a href="http://anton.kovalyov.net/" title="Anton Kovalyov">Anton Kovalyov</a> (of the awesome company <a href="http://disqus.com/" title="Disqus">Disqus</a>). It&#8217;s among a <a href="http://darcyclarke.me/development/front-end-job-interview-questions/" title="Front end Developer Interview Questions">list</a> of many formulated to help with developer interviews (this list was created by some savy Front End / JavaScript Devs). To be honest, I was caught off guard that I had been right by my initial thoughts to its answer. Of course, I said nothing to Anton though (smooth). <strong>The Answer:</strong> The only true way to make sure you&#8217;re working with a clean instance of either the <code>window</code> or <code>document</code> objects is to embed an <code>&lt;iframe&gt;</code> and nab that clean, untampered version of both. Pretty straightforward, but if you haven&#8217;t had the need to do something like this before it may not have come to you as easily.</p>
<p class="note"><strong>Note:</strong> You may have also thought that you could embed your plugin or library before any other scripts but you can&#8217;t be reassured users of your script will do this (something I thought of as well).</p>
<p>A very rudimentary example of the kind of code would be:</p>
<pre><code class="language-javascript">(function(){
    var iframe = document.createElement('iframe');
    iframe.style.display = "none";
    iframe = document.body.appendChild(iframe);
    var _window = iframe.contentWindow,
         _document = iframe.contentDocument || iframe.contentWindow.document ;
    document.body.removeChild(iframe);
})();</code></pre>
<p><a href="http://jquery.com" title="jQuery JavaScript Library - Write Less Do More">jQuery</a> does something very similar in order to retrieve the contents of an <code>iframe</code> in the method <code>.contents()</code>. The real magic of an <code>iframe</code> element object is its <code>.contentWindow</code> property. This is where the <code>iframe</code>&#8216;s <code>window</code> and, subsequent, <code>document</code> objects are stored. Using these, we can store clean copies of both to be used within our code. </p>
<p class="note"><strong>Note:</strong> Some browsers implement <code>.contentDocument</code>, the <code>iframe</code>&#8216;s <code>document</code> object, directly on the <code>iframe</code> object and not nested under the <code>.contentWindow</code> (or <code>window</code> object). In our example, we&#8217;ve added a check for this much like jQuerys/the accepted implementation.</p>
<p>I highly recommend the use of this, or similar, code if you&#8217;re a plugin author that relies on a stable environment (which I think most would).</p>
]]></content:encoded>
			<wfw:commentRss>http://darcyclarke.me/development/getting-a-clean-document-or-window-object-in-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://darcyclarke.me/development/getting-a-clean-document-or-window-object-in-javascript/</feedburner:origLink></item>
		<item>
		<title>When to Start Taking Your Business Seriously?</title>
		<link>http://feedproxy.google.com/~r/DarcyClarkesBlog/~3/GrOWPLQw778/</link>
		<comments>http://darcyclarke.me/thoughts/when-to-start-taking-your-business-seriously/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 16:24:04 +0000</pubDate>
		<dc:creator>Darcy Clarke</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[founders]]></category>
		<category><![CDATA[startups]]></category>

		<guid isPermaLink="false">http://darcyclarke.me/?p=900</guid>
		<description><![CDATA[Answer: The minute you take a serious first step. It&#8217;s fine to goof off and to take things at face value when your business has only one set of eyes on it. Heck, at that point it&#8217;s not really a business. As soon as you introduce that business to someone else though, you need to [...]]]></description>
			<content:encoded><![CDATA[<h3>Answer: The minute you take a serious first step.</h3>
<p>It&#8217;s fine to goof off and to take things at face value when your business has only one set of eyes on it. Heck, at that point it&#8217;s not really a business. As soon as you introduce that business to someone else though, you need to start shaping up. To give a bit more clarity, this moment usually involves the promotion of the business. Perhaps a site or product launch. Maybe even the minute you&#8217;ve registered your business with the government. All of those are examples of moments in which your introducing and recognizing your business, for the first time, as such.  Once you&#8217;ve taken that first serious step in your business&#8217; life, there&#8217;s no turning back. </p>
<h3>Problems?</h3>
<p>Too often I talk with &#8220;Founders&#8221; of startups that are running their business like hyped up freelance opportunities. Many of them are 20-somes with lack-luster startup ideas in the first place. On top of that, they usually have those cheesy marketing personalities you love to hate (yuk, I like real people, that talk normally).</p>
<p>I&#8217;m not claiming I know all the answers but many of these young entrepreneurs do (and that kills me). Starting a company is never easy but when you loose sight of business objectives and proper business etiquette for even a second then you&#8217;ve lost credibility.</p>
<p><img src="http://f.cl.ly/items/3Y2p331G3Y2A2m2f0Q31/1b3ffa350964588278f4241e43716aa06.jpeg" alt="Ha Ha Business" width="500"></p>
<p>I also don&#8217;t claim to be any different from this segment to which I&#8217;m, so kindly, hating on (Yes, I&#8217;m a hater). At 24, I&#8217;m the Co-Founder of two companies: <a href="http://dealpage.me" title="DealPage - Daily Deal Aggregator">DealPage.me</a> and <a href="http://themify.me" title="Themify - Commerical WordPress themes">Themify.me</a>. Although my involvement and the time required for their upkeep have lessoned in recent months, they are still full fledge, money making businesses and have been since Day 1, respectively (something that can&#8217;t be said for many recent startups). </p>
<p>Again, I&#8217;m no different or impervious to the stigma of a young entrepreneur. Embracing critical feedback, keeping a professional attitude towards markets / industries and having that proper business etiquette have been hurtles I&#8217;ve succumbed to at times. </p>
<p>That said, I do know startups that have built reputations for being extremely business savvy and professional from their earliest days onward (so there&#8217;s light at the end of this tunnel). Maintaing these images, however, is important going forward. Even the slightest crack in business operations or ethics can show a companies inexperience. </p>
<p>Most of the associations I make with these reputable businesses hinge on very simple, minute facets in their day to day. Paying people on time, responding to emails, giving, taking and appreciating constructive criticism are all simple things that help create a professional image around your business. In my mind, it doesn&#8217;t take much to keep up with these things but it&#8217;s also not hard to waiver from them. </p>
<p><strong>&#8220;Remember, I&#8217;m pullin&#8217; for ya. We&#8217;re all in this together&#8221;</strong> ~ <a href="http://www.redgreen.com/" title="Red Green">Red Green</a></p>
<p class="note">
<strong>Note:</strong> I don&#8217;t often write on this blog about my businesses, business practices or business theories. To that point, this will most likely be one of few ever written here.</p>
]]></content:encoded>
			<wfw:commentRss>http://darcyclarke.me/thoughts/when-to-start-taking-your-business-seriously/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://darcyclarke.me/thoughts/when-to-start-taking-your-business-seriously/</feedburner:origLink></item>
	</channel>
</rss>

