<?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>Jon Fox &#187; General</title>
	<atom:link href="http://www.jonefox.com/blog/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonefox.com/blog</link>
	<description>My rants, ramblings, and random thoughts</description>
	<lastBuildDate>Mon, 16 Jan 2012 14:48:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<cloud domain='www.jonefox.com' port='80' path='/blog/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>stop-sopa.js &#8211; along with WordPress, Blogger, and Typepad plugins</title>
		<link>http://www.jonefox.com/blog/2012/01/16/stop-sopa-js-along-with-wordpress-blogger-and-typepad-plugins/</link>
		<comments>http://www.jonefox.com/blog/2012/01/16/stop-sopa-js-along-with-wordpress-blogger-and-typepad-plugins/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 14:48:11 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[pipa]]></category>
		<category><![CDATA[sopa]]></category>
		<category><![CDATA[stop sopa widget]]></category>
		<category><![CDATA[stop-sopa.js]]></category>

		<guid isPermaLink="false">http://www.jonefox.com/blog/?p=636</guid>
		<description><![CDATA[SOPA (the Stop Online Privacy Act) is a really bad thing that potentially threatens this wonderful thing we created called the internet. If you don&#8217;t already know about it I won&#8217;t rehash it all here, but you can check out &#8230; <a href="http://www.jonefox.com/blog/2012/01/16/stop-sopa-js-along-with-wordpress-blogger-and-typepad-plugins/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>SOPA (the Stop Online Privacy Act) is a really bad thing that potentially threatens this wonderful thing we created called the internet. If you don&#8217;t already know about it I won&#8217;t rehash it all here, but you can check out <a href="https://www.eff.org/deeplinks/2011/10/sopa-hollywood-finally-gets-chance-break-internet" title="EFF - SOPA">this post from Electronic Frontier Foundation</a>.</p>
<p>At <a href="http://torbit.com" title="Torbit - making websites faster">Torbit</a>, we saw what other companies like <a href="http://blog.reddit.com/2012/01/stopped-they-must-be-on-this-all.html">Reddit</a> and <a href="http://www.craigslist.org/about/SOPA">Craigslist</a> were already doing and wanted to help other people participate in protesting SOPA. What we came up with is <a href="http://torbit.com/blog/2012/01/15/stop-sopa-js/" title="Stop-Sopa.js">stop-sopa.js</a>, which is an <a href="https://github.com/torbit/Stop-SOPA-Widget" title="Stop SOPA Widget">open source</a> widget to add an informative modal window to your site with information about SOPA and how to contact your local representatives to tell them you oppose this new bill. By default it will only be displayed on January 18th from 8am–8pm EST (1300–0100 UTC).  It&#8217;s available as a WordPress plugin, Blogger widget, Typepad widget, and a simple javascript snippet. Check out the screenshot below to see what it looks like or <a href="http://www.jonefox.com/blog/2012/01/16/stop-sopa-js-along-with-wordpress-blogger-and-typepad-plugins/?stopsopa#stopsopa" title="try stop-sopa.js">click here</a> to try it out.</p>
<p><img src="http://s1.torbitcdn.com/img/630e1ce44f871fa9c7ef6cfa36ccabc455b36f6c-stop-sopa-js.png63r611" alt="stop-sopa.js" /></p>
<p>Help protest this threat to the internet. Notify your representatives, spread the word, and <a href="http://torbit.com/blog/2012/01/15/stop-sopa-js/" title="Get the Stop Sopa Widget">protest on your site</a>. Stop censorship by stopping SOPA!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonefox.com/blog/2012/01/16/stop-sopa-js-along-with-wordpress-blogger-and-typepad-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving to California</title>
		<link>http://www.jonefox.com/blog/2011/08/17/moving-to-california/</link>
		<comments>http://www.jonefox.com/blog/2011/08/17/moving-to-california/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 18:12:36 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[california]]></category>
		<category><![CDATA[moving]]></category>

		<guid isPermaLink="false">http://www.jonefox.com/blog/?p=548</guid>
		<description><![CDATA[I&#8217;m excited to say that my wife and I have made the big move to Sunnyvale, California. Moving is always a big mix of bitter and sweet, excitement and craziness. It was definitely a hard choice to make. I lived &#8230; <a href="http://www.jonefox.com/blog/2011/08/17/moving-to-california/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jonefox.com/blog/wp-content/uploads/2011/08/Welcome-to-California.jpg"><img src="http://www.jonefox.com/blog/wp-content/uploads/2011/08/Welcome-to-California.jpg" alt="" title="Welcome to California" width="298" height="188" class="aligncenter size-full wp-image-549" /></a><br />
I&#8217;m excited to say that my wife and I have made the big move to Sunnyvale, California.  Moving is always a big mix of bitter and sweet, excitement and craziness.</p>
<p>It was definitely a hard choice to make.  I lived in the Boulder area for over four years and loved it.  The community in and around Boulder is one of a kind.  People truly want to help each other succeed and it&#8217;s very easy to get plugged in to the great people there.  It&#8217;s also full of great views, hiking, and tons of sun.  I still think it&#8217;s a great place to build a company and is an especially great community for first time entrepreneurs to find their legs. While getting started with <a href="http://torbit.com" title="Torbit - making websites faster">Torbit</a>, though, my partner and I had a tough choice to make.  Where did we want to build this company?</p>
<p>There wasn&#8217;t any one reason we decided to move, it ended up being a mix of lots of different factors (both personal and professional).  Josh and I wanted to grow our professional network in the Bay area, my wife and I were looking for a change in our personal lives, my wife was going through a bit of a career change, and we didn&#8217;t think there would be any better time to move out to CA (we don&#8217;t have kids or a house yet).  In the end we decided this company would probably be a good fit for CA and we were personally ready to make that change.</p>
<p>It was fun for me to look back at my <a href="http://www.jonefox.com/blog/2007/05/19/boulder-arrival/" title="Boulder Arrival">first post after I arrived in Boulder</a>.  The car was again packed pretty ridiculously, but this time we had two cars to drive out.  My then girlfriend, now wife came along for the ride as well.  And of course, the drive was mostly tedious and boring, but when we got here there was a lot of great stuff to see.</p>
<p>I look forward to meeting new people, finding new restaurants, and seeing what great opportunities CA will bring.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonefox.com/blog/2011/08/17/moving-to-california/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Interview on James Woodcock&#8217;s Podcast</title>
		<link>http://www.jonefox.com/blog/2010/05/24/interview-on-james-woodcocks-podcast/</link>
		<comments>http://www.jonefox.com/blog/2010/05/24/interview-on-james-woodcocks-podcast/#comments</comments>
		<pubDate>Mon, 24 May 2010 16:12:22 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[podcast]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=358</guid>
		<description><![CDATA[I recently did an interview about IntenseDebate on James Woodcock&#8217;s Podcast. Check it out here: http://www.jameswoodcock.co.uk/?p=3421]]></description>
			<content:encoded><![CDATA[<p>I recently did an interview about <a href="http://intensedebate.com">IntenseDebate</a> on <a href="http://www.jameswoodcock.co.uk/?page_id=2518">James Woodcock&#8217;s Podcast</a>.  Check it out here: <a href="http://www.jameswoodcock.co.uk/?p=3421">http://www.jameswoodcock.co.uk/?p=3421</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonefox.com/blog/2010/05/24/interview-on-james-woodcocks-podcast/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Add a custom url shortener to Firefox</title>
		<link>http://www.jonefox.com/blog/2009/11/30/add-a-custom-url-shortener-to-firefox/</link>
		<comments>http://www.jonefox.com/blog/2009/11/30/add-a-custom-url-shortener-to-firefox/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 19:52:12 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[jfox.in]]></category>
		<category><![CDATA[short url]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=271</guid>
		<description><![CDATA[I recently wrote a post about why I made my own url shortener. I&#8217;m now porting some of my common uses over to use this new shortener (keep life simple, right?). The first thing I wanted to address was adding &#8230; <a href="http://www.jonefox.com/blog/2009/11/30/add-a-custom-url-shortener-to-firefox/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently wrote a <a href="http://jonefox.com/blog/2009/11/01/my-own-short-urls/">post</a> about why I made my own url shortener.  I&#8217;m now porting some of my common uses over to use this new shortener (keep life simple, right?). The first thing I wanted to address was adding an option to the right-click menu to shorten whatever page I was currently viewing and copy it to the clipboard.  The easiest way I found to do this was to modify an existing Firefox addon called <a href="https://addons.mozilla.org/en-US/firefox/addon/11423">Shorten URL</a>.  It works particularly well because it already supports a TON of shortening services and adding new ones is a breeze.  So how do you do it?</p>
<ol>
<li>First, download <a href="https://addons.mozilla.org/en-US/firefox/addon/11423">the extension</a>.</li>
<li>Next, find your <a href="http://kb.mozillazine.org/Profile_folder_-_Firefox">Firefox profile folder</a>.</li>
<li>In your profile folder, find and open the &#8220;extensions/ShortenURL@loucypher/defaults/preferences&#8221; folder.</li>
<li>You should then find a file named shortenURL_prefs.js &#8211; open it in any text editor.</li>
<li>You should see two large blocks of similar lines repeating &#8211; find the last one in the first block (as of writing this it is <code>pref("extensions.shortenURL.name.145", "w3t.org");</code> and add a new line below it (incrementing the number) and swap out the name w/ whatever you want to reference your url shortener as. (in my case <code>pref("extensions.shortenURL.name.146", "jfox.in");</code></li>
<li>Continue to the end of the file and you should find a matching url line <code>pref("extensions.shortenURL.145", "http://w3t.org/?module=ShortURL&#038;file=Add&#038;mode=API&#038;url=");</code>.  Add a new line below this one incrementing the number again (to match the one in the last step) and adding the url of the page to submit a url to shorten (the url will be appended to the end).  For example: <code>pref("extensions.shortenURL.146", "http://jfox.in/make-tiny.php?url=");</code> (note the example here won&#8217;t actually work because my shortener is private).</li>
<li>Save the file and restart Firefox.  Now go to Tools->Add-ons, find ShortenURL in the list and select &#8220;preferences&#8221;.  You should now be able to find your custom shortener in the list using the name you provided above (in my case jfox.in).  Select your preference and enjoy!</li>
</ol>
<p>A quick trailing note:  This all assumes that your shortener has an interface that allows a url to be passed as a GET parameter and returns the shortened url in plain text as a result of that request.  This is straight forward to implement, but worth mentioning.  You should now be able to shorten simply by right-clicking and selecting the &#8220;Shorten this page URL&#8221; option (which will also copy the short url to your clipboard and put it in the location bar).  Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonefox.com/blog/2009/11/30/add-a-custom-url-shortener-to-firefox/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>My own short URLs</title>
		<link>http://www.jonefox.com/blog/2009/11/01/my-own-short-urls/</link>
		<comments>http://www.jonefox.com/blog/2009/11/01/my-own-short-urls/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 16:32:19 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[jfox.in]]></category>
		<category><![CDATA[short url]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=249</guid>
		<description><![CDATA[A little while ago I setup my own short URL service on http://jfox.in. I already know there are tons of free services that already do this and there are even a few open source alternatives of projects aimed at this &#8230; <a href="http://www.jonefox.com/blog/2009/11/01/my-own-short-urls/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A little while ago I setup my own short URL service on http://jfox.in.  I already know there are tons of free services that already do this and there are even a few open source alternatives of projects aimed at this kind of thing&#8230;so why then did I decide to write my own?  There are actually a couple reasons:</p>
<ul>
<li>Full control of the data &#8211; I can get at it wherever, however, and whenever I want to.  I can also move it into different formats and systems at will.</li>
<li>Full control over the service &#8211; I can add whatever features I want in whatever interface I want and not have to worry about the 15 other features I&#8217;ll never use that clutter up my UI.</li>
<li>Full control over the URLs themselves &#8211; I don&#8217;t have to worry about the domain shutting down, remapping my short URLs some time in the future, or what type of header redirect they&#8217;re using to make sure I get my Google juice.</li>
<li>It was fun &#8211; Perhaps the biggest reason I wanted to do this was because it&#8217;s such a simple project and it was kind of a fun exercise for me.</li>
</ul>
<p>Anyone that is code savvy and is considering doing this &#8211; whatever your reasons &#8211; I definitely recommend doing it.  It was simple and something I enjoyed, and it gives me the control I want in such a simple application.  Not every problem makes sense to roll your own solution for, but this is one that does in my mind since it&#8217;s so simple.</p>
<p>I honestly wouldn&#8217;t be surprised if we see more web services offering their own custom URLs.  It allows a bit more brand recognition and all the control issues I mention above.  It also seems that short URL services aren&#8217;t going away anytime soon.</p>
<p>Do you have any thoughts on the merits of short URL services?  Have you written your own or considered doing so?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonefox.com/blog/2009/11/01/my-own-short-urls/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Quebec</title>
		<link>http://www.jonefox.com/blog/2009/10/26/quebec/</link>
		<comments>http://www.jonefox.com/blog/2009/10/26/quebec/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 20:00:04 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Photos]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[automattic]]></category>
		<category><![CDATA[canada]]></category>
		<category><![CDATA[quebec]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=213</guid>
		<description><![CDATA[I recently got back from a trip to Quebec City for an Automattic meet up. It was a ton of fun and we cranked out some really interesting projects that will be rolling out over the coming weeks, but I &#8230; <a href="http://www.jonefox.com/blog/2009/10/26/quebec/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently got back from a trip to Quebec City for an <a href="http://automattic.com/">Automattic</a> meet up.  It was a ton of fun and we cranked out some really interesting projects that will be rolling out over the coming weeks, but I thought I&#8217;d share a few of my photos from the trip here.
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1268/' title='IMG_1268'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1268-150x150.jpg" class="attachment-thumbnail" alt="IMG_1268" title="IMG_1268" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1270/' title='IMG_1270'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1270-150x150.jpg" class="attachment-thumbnail" alt="IMG_1270" title="IMG_1270" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1273/' title='IMG_1273'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1273-150x150.jpg" class="attachment-thumbnail" alt="IMG_1273" title="IMG_1273" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1275/' title='IMG_1275'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1275-150x150.jpg" class="attachment-thumbnail" alt="IMG_1275" title="IMG_1275" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1276/' title='IMG_1276'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1276-150x150.jpg" class="attachment-thumbnail" alt="IMG_1276" title="IMG_1276" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1278/' title='IMG_1278'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1278-150x150.jpg" class="attachment-thumbnail" alt="IMG_1278" title="IMG_1278" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1279/' title='IMG_1279'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1279-150x150.jpg" class="attachment-thumbnail" alt="IMG_1279" title="IMG_1279" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1280/' title='IMG_1280'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1280-150x150.jpg" class="attachment-thumbnail" alt="IMG_1280" title="IMG_1280" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1281/' title='IMG_1281'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1281-150x150.jpg" class="attachment-thumbnail" alt="IMG_1281" title="IMG_1281" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1282/' title='IMG_1282'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1282-150x150.jpg" class="attachment-thumbnail" alt="IMG_1282" title="IMG_1282" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1283/' title='IMG_1283'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1283-150x150.jpg" class="attachment-thumbnail" alt="IMG_1283" title="IMG_1283" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1285/' title='IMG_1285'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1285-150x150.jpg" class="attachment-thumbnail" alt="IMG_1285" title="IMG_1285" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1286/' title='IMG_1286'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1286-150x150.jpg" class="attachment-thumbnail" alt="IMG_1286" title="IMG_1286" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1287/' title='IMG_1287'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1287-150x150.jpg" class="attachment-thumbnail" alt="IMG_1287" title="IMG_1287" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1291/' title='IMG_1291'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1291-150x150.jpg" class="attachment-thumbnail" alt="IMG_1291" title="IMG_1291" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1293/' title='IMG_1293'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1293-150x150.jpg" class="attachment-thumbnail" alt="IMG_1293" title="IMG_1293" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1299/' title='IMG_1299'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1299-150x150.jpg" class="attachment-thumbnail" alt="IMG_1299" title="IMG_1299" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1301/' title='IMG_1301'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1301-150x150.jpg" class="attachment-thumbnail" alt="IMG_1301" title="IMG_1301" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1304/' title='IMG_1304'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1304-150x150.jpg" class="attachment-thumbnail" alt="IMG_1304" title="IMG_1304" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1312/' title='IMG_1312'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1312-150x150.jpg" class="attachment-thumbnail" alt="IMG_1312" title="IMG_1312" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1313/' title='IMG_1313'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1313-150x150.jpg" class="attachment-thumbnail" alt="IMG_1313" title="IMG_1313" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1323/' title='IMG_1323'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1323-150x150.jpg" class="attachment-thumbnail" alt="IMG_1323" title="IMG_1323" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1327/' title='IMG_1327'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1327-150x150.jpg" class="attachment-thumbnail" alt="IMG_1327" title="IMG_1327" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1363/' title='IMG_1363'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1363-150x150.jpg" class="attachment-thumbnail" alt="IMG_1363" title="IMG_1363" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1366/' title='IMG_1366'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1366-150x150.jpg" class="attachment-thumbnail" alt="IMG_1366" title="IMG_1366" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1368/' title='IMG_1368'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1368-150x150.jpg" class="attachment-thumbnail" alt="IMG_1368" title="IMG_1368" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1373/' title='IMG_1373'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1373-150x150.jpg" class="attachment-thumbnail" alt="IMG_1373" title="IMG_1373" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1377/' title='IMG_1377'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1377-150x150.jpg" class="attachment-thumbnail" alt="IMG_1377" title="IMG_1377" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1385/' title='IMG_1385'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1385-150x150.jpg" class="attachment-thumbnail" alt="IMG_1385" title="IMG_1385" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1389/' title='IMG_1389'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1389-150x150.jpg" class="attachment-thumbnail" alt="IMG_1389" title="IMG_1389" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1390/' title='IMG_1390'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1390-150x150.jpg" class="attachment-thumbnail" alt="IMG_1390" title="IMG_1390" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1392/' title='IMG_1392'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1392-150x150.jpg" class="attachment-thumbnail" alt="IMG_1392" title="IMG_1392" /></a>
<a href='http://www.jonefox.com/blog/2009/10/26/quebec/img_1396/' title='IMG_1396'><img width="150" height="150" src="http://www.jonefox.com/blog/wp-content/uploads/2009/10/IMG_1396-150x150.jpg" class="attachment-thumbnail" alt="IMG_1396" title="IMG_1396" /></a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonefox.com/blog/2009/10/26/quebec/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>5 Things You Shouldn&#8217;t Do To A Developer Working On Fixing A Major Bug</title>
		<link>http://www.jonefox.com/blog/2008/12/08/5-things-you-shouldnt-do-to-a-developer-working-on-fixing-a-major-bug/</link>
		<comments>http://www.jonefox.com/blog/2008/12/08/5-things-you-shouldnt-do-to-a-developer-working-on-fixing-a-major-bug/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 06:30:42 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=102</guid>
		<description><![CDATA[For all you non-developers out there that work with developers on a regular basis, here are a few quick tips of things NOT to do when the developer is working on fixing a major bug. Ask for attendance at a &#8230; <a href="http://www.jonefox.com/blog/2008/12/08/5-things-you-shouldnt-do-to-a-developer-working-on-fixing-a-major-bug/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For all you non-developers out there that work with developers on a regular basis, here are a few quick tips of things <strong><em>NOT </em></strong> to do when the developer is working on fixing a major bug.</p>
<ol>
<li>Ask for attendance at a meeting which we&#8217;re not really needed at.</li>
<li>Assign other work to us &#8211; we need more weight on our shoulders in these stressful moments!</li>
<li>Ask for some development work to be done on another project &#8211; if we have any available time it&#8217;ll be spent fixing the urgent issue, so by definition we don&#8217;t have time to work on anything else.</li>
<li>Ignore our requests for help solving the problem &#8211; it&#8217;s top priority for us, but your time is better spent asking for updates than helping&#8230;</li>
<li>Send us multiple emails pointing out how serious the bug is &#8211; if we&#8217;re working on fixing it already&#8230;as fast as we can&#8230;a reminder of how urgent it is doesn&#8217;t really help anything.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.jonefox.com/blog/2008/12/08/5-things-you-shouldnt-do-to-a-developer-working-on-fixing-a-major-bug/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Follow Through</title>
		<link>http://www.jonefox.com/blog/2008/12/02/follow-through/</link>
		<comments>http://www.jonefox.com/blog/2008/12/02/follow-through/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 05:22:52 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=100</guid>
		<description><![CDATA[Do you have &#8220;follow through&#8221;? When I say follow through, what I mean is that you can be trusted to do what you say you will do &#8211; on your own. One very important lesson I&#8217;ve learned is that it&#8217;s &#8230; <a href="http://www.jonefox.com/blog/2008/12/02/follow-through/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Do you have &#8220;follow through&#8221;?</p>
<p>When I say follow through, what I mean is that you can be trusted to do what you say you will do &#8211; on your own.  One very important lesson I&#8217;ve learned is that it&#8217;s critical to find people that you can trust to follow through with what they tell you they will do when choosing partners/employees in a startup.  It&#8217;s also critically important that you can be trusted in this regard as well.</p>
<p>Startups by their very nature have limited resources.  Because of this, it is more important than anywhere else that startups are as efficient as possible with these resources.  The most valuable resource for a young company is the time of the employees/founders.  Since everyone is forced to wear many hats and there is always more to be done, time is often a bottleneck.</p>
<p>If you can&#8217;t trust your employees/partners to do what they say they will, then you&#8217;re forced to spend cycles on their problems.  Suddenly, you need to keep track of their tasks so that you can be sure that they complete them all.  You spend extra time checking up on the status of items to make sure they&#8217;re being done on time.  And most importantly, you can&#8217;t give them very much freedom to do their tasks and make them their own because you&#8217;re constantly having to check up on them.  This ends up wasting a lot of your time and a considerable amount of theirs.  You basically end up doubling up your resources on these problems, which is not an efficient way to do things.</p>
<p>Instead, make your first criteria when choosing partners/employees their ability to follow through with what they say they will do.  If you can&#8217;t trust them enough to assume that they&#8217;re doing what they say they will do then you should probably start looking elsewhere.  A young company simply can&#8217;t afford to have resources piled up on a single problem.  You can&#8217;t be second guessing other people in the company constantly or you&#8217;ll find progress slowing to a halt over time.</p>
<p>Find people you can trust to follow through, then give them the freedom to do it.  It&#8217;s the most efficient use of company resources, and a lot less likely to cause blow ups between coworkers stepping on each others&#8217; toes.</p>
<p>Here are a couple quick things to test if you trust your coworkers/have follow through:<br />
1.) Do you find yourself frequently doubling back on a task to check the status of an item?  For example, do you send a lot of emails like: &#8220;What&#8217;s the status on ______?  Did this ever get resolved?&#8221;.<br />
2.) Do you find yourself often asking people to run stuff by you?<br />
3.) Do you find yourself constantly worried about other people&#8217;s tasks?</p>
<p>These are solid signs that you don&#8217;t trust these people to &#8220;follow through&#8221; on their required tasks.  So make you and your company more efficient; find people you can trust and give them the freedom to complete the tasks on their own.  It&#8217;ll make all the difference&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonefox.com/blog/2008/12/02/follow-through/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Uploading vs Downloading</title>
		<link>http://www.jonefox.com/blog/2008/11/11/uploading-vs-downloading/</link>
		<comments>http://www.jonefox.com/blog/2008/11/11/uploading-vs-downloading/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 07:52:50 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=96</guid>
		<description><![CDATA[When the internet first started out it was really hard to do much of anything. Browsing in its current form didn&#8217;t exist, and just basic navigation around the web was difficult. Fortunately, we&#8217;ve gotten really good at downloading. With web &#8230; <a href="http://www.jonefox.com/blog/2008/11/11/uploading-vs-downloading/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When the internet first started out it was really hard to do much of anything.  Browsing in its current form didn&#8217;t exist, and just basic navigation around the web was difficult.  Fortunately, we&#8217;ve gotten really good at downloading.  With web browsers, search engines, and news feeds it&#8217;s easier than ever to consume tons of content online.</p>
<p>A bit slower to rise was the ease of uploading, or contributing new things, to the web.  Although downloading has been easy for the average guy for years, it&#8217;s really just now starting to get to a place where uploading is as easy.  With the rise of <a href="http://wordpress.com">WordPress</a>, <a href="http://flickr.com">Flickr</a>, <a href="http://youtube.com">YouTube</a>, <a href="http://twitter.com">Twitter</a>, and <a href="http://intensedebate.com">IntenseDebate </a>(among others) it&#8217;s become progressively easier to upload your content to the web (in whatever form) and contribute.</p>
<p>So please, don&#8217;t just consume the internet &#8211; help build it by being an uploader too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonefox.com/blog/2008/11/11/uploading-vs-downloading/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Front End Optimization &#8211; Part 2</title>
		<link>http://www.jonefox.com/blog/2008/09/21/front-end-optimization-part-2/</link>
		<comments>http://www.jonefox.com/blog/2008/09/21/front-end-optimization-part-2/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 05:29:50 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[optimization]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=76</guid>
		<description><![CDATA[One fairly common thing in javascript programming is the need to add/edit the html contents of an element on the page. It turns out that there&#8217;s actually a pretty significant performance impact on how quickly this update renders depending on &#8230; <a href="http://www.jonefox.com/blog/2008/09/21/front-end-optimization-part-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One fairly common thing in javascript programming is the need to add/edit the html contents of an element on the page.  It turns out that there&#8217;s actually a pretty significant performance impact on how quickly this update renders depending on how you do the actual edit.  The main 5 ways to add/edit html via javascript are the following:</p>
<ul>
<li>Document.write() method</li>
<li>element.innerHTML (before element is in the DOM)</li>
<li>element.innerHTML (after element is in the DOM)</li>
<li>DOM manipulations on the element (before element is in the DOM)</li>
<li>DOM manipulations on the element (after the element is in the DOM)</li>
</ul>
<p>So the first thing to note is that whenever you&#8217;re faced with the question of adding/editing html before or after adding it to the DOM you should always make any changes <strong>BEFORE</strong> adding it to the DOM.  The performance difference of this is pretty significant as if the element is in the DOM the browser must immediately render the changes as the edits are taking place.  If you modify the html before attaching the element to the DOM, however, the updates stay only in memory and don&#8217;t get rendered until the edits are in place.</p>
<p>This is the single most important factor for performance in this task.  In fact, the difference is often so drastic (particularly in IE browsers) that in many cases it&#8217;s actually better to remove the element from the DOM, edit the contents, and re-attach it instead of editing it directly.  This also allows you to sidestep odd inconsistencies in IE with the innerHTML method (in some cases editing the innerHTML attribut7e of an object can cause a browser cache in IE &#8211; in particular when the element is a child of a table element).</p>
<p>Now that we know to edit contents before attaching elements to the DOM, which method should we use?  In general, the order of speeds of the methods is as follows:</p>
<ol>
<li>document.write() method</li>
<li>element.innerHTML attribute</li>
<li>DOM manipulations</li>
</ol>
<p>Document.write is consistently the fastest across browsers and is often the best method to use when it&#8217;s possible.  The main drawback of this method, however, is that it can only be used during initial browser load/rendering.  If the method is used after the page has been initially rendered it will have the undesirable effect of either crashing the browser or clearing the current page and replacing the entire page contents with the write statement instead.  This makes it unusable for adding elements after initial page load or editing the contents of an element after page load, but the pure speed/flexibility (it basically allows you to write any html to the page including inline css and javascript &#8211; though javascript tags must be written as a combined string instead a standard script tag [for example "&lt;scr"+"ipt&gt;"]) make it an option worth using when possible.</p>
<p>The next fastest method is the element.innerHTML method.  This method is very readable and easy to construct quickly in general.  One other suggestion is when concatenating strings to form the innerHTML use a temporary variable and apply it to the element only once.  For example:<br />
<code>var innerHTML = "&lt;div&gt;";<br />innerHTML += "Inner Contents";<br />innerHTML += "&lt;/div&gt;";<br />element.innerHTML = innerHTML;</code></p>
<p>This speeds up rendering (since it only has to update the DOM/render the change once) and prevents some inconsistencies when using the concatenation/assignment operators in certain browsers.</p>
<p>The last, and by far the slowest, method is to do direct DOM manipulations.  This is a broad categorization of using methods like the following:<br /><code>var element = document.createElement('DIV');<br />var element2 = document.createElement('DIV'); <br />element.appendChild(element2);</code><br />
This technique has many disadvantages.  It renders slowly as each element is added and styled as it is appended to the DOM.  Although you can improve this drastically by waiting to attach the top level element to the DOM until all the inner elements are completed, it still doesn&#8217;t compare with the previous methods described above.  This code is also much harder to read (in general) than the above methods as each style, class, and attribute of the element must be assigned individually.  This also leads to much larger code than the previous methods which adds to download time and parsing time.  This method is really only suitable when you&#8217;re editing specific attributes or doing very minor manipulations.</p>
<p>And that wraps up the 5 different methods.  Hopefully someone out there finds this helpful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonefox.com/blog/2008/09/21/front-end-optimization-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

