<?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/" version="2.0">

<channel>
	<title>Jon Fox</title>
	
	<link>http://jonefox.com/blog</link>
	<description>My rants, ramblings, and random thoughts</description>
	<lastBuildDate>Thu, 21 May 2009 06:20:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/JonFox" type="application/rss+xml" /><item>
		<title>Internet Explorer and the innerHTML Property</title>
		<link>http://jonefox.com/blog/2009/05/21/internet-explorer-and-the-innerhtml-property/</link>
		<comments>http://jonefox.com/blog/2009/05/21/internet-explorer-and-the-innerhtml-property/#comments</comments>
		<pubDate>Thu, 21 May 2009 06:19:47 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[browser crash]]></category>
		<category><![CDATA[innerHTML]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[tables]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=181</guid>
		<description><![CDATA[Recently while helping a friend deal with the joys of cross-browser JavaScript when working with widgets, I was reminded of a painful quirk in how Intenert Explorer handles the innerHTML property of DOM elements in some cases.  In particular, DOM elements that are part of a table, or are a child to a table (no [...]]]></description>
			<content:encoded><![CDATA[<p>Recently while helping a friend deal with the joys of cross-browser JavaScript when working with widgets, I was reminded of a painful quirk in how Intenert Explorer handles the innerHTML property of DOM elements in some cases.  In particular, DOM elements that are part of a table, or are a child to a table (no matter how many levels deep), can&#8217;t have the innerHTML property set at run time.  Doing so produces a completely unhelpful error message and crashes the rendering engine.  This is not only true for tables, but unfortunately happens with several other HTML elements in regard to Internet Explorer.</p>
<p>So, how does one get around this unfortunate problem?  Well, the best method I&#8217;ve found is to set the innerHTML property when the element is not yet attached to the DOM or is attached in a &#8220;safe&#8221; place (usually at the BODY tag).  To make this process simpler, I generalized this into a function that creates a new DOM node of the same type, preserves any attributes I care about, sets the innerHTML property, and replaces the original node in the DOM with this new node having the desired innerHTML.  Here&#8217;s the function for reference:</p>
<pre>
function replace_html(el, html) {
	if( el ) {
                var oldEl = (typeof el === "string" ? document.getElementById(el) : el);
                var newEl = document.createElement(oldEl.nodeName);

                // Preserve any properties we care about (id and class in this example)
                newEl.id = oldEl.id;
                newEl.className = oldEl.className;

                //set the new HTML and insert back into the DOM
                newEl.innerHTML = html;
                if(oldEl.parentNode)
        	        oldEl.parentNode.replaceChild(newEl, oldEl);
                else
		        oldEl.innerHTML = html;

                //return a reference to the new element in case we need it
                return newEl;
	}
};
</pre>
<p>Hopefully this function will help someone out there work around this problem a little faster than I originally did.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JonFox?a=apWuewu9EFo:711sRU4Wtu0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/JonFox?i=apWuewu9EFo:711sRU4Wtu0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=apWuewu9EFo:711sRU4Wtu0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=apWuewu9EFo:711sRU4Wtu0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/JonFox?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=apWuewu9EFo:711sRU4Wtu0:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/JonFox?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=apWuewu9EFo:711sRU4Wtu0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/JonFox?i=apWuewu9EFo:711sRU4Wtu0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=apWuewu9EFo:711sRU4Wtu0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=apWuewu9EFo:711sRU4Wtu0:pxKawhptesk"><img src="http://feeds.feedburner.com/~ff/JonFox?i=apWuewu9EFo:711sRU4Wtu0:pxKawhptesk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://jonefox.com/blog/2009/05/21/internet-explorer-and-the-innerhtml-property/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Gravatar in Gmail</title>
		<link>http://jonefox.com/blog/2009/03/14/gravatar-in-gmail/</link>
		<comments>http://jonefox.com/blog/2009/03/14/gravatar-in-gmail/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 17:22:55 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[gravatar]]></category>
		<category><![CDATA[greasemonkey]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=180</guid>
		<description><![CDATA[Earlier today I hacked together another GreaseMonkey script.  This one adds a Gravatar of the person the email was from to Gmail when reading an individual message.  It&#8217;s inspired by the Thunderbird integration I read about here a while back.  Here&#8217;s a screenshot of it for a better understanding of what it [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier today I hacked together another <a href="https://addons.mozilla.org/en-US/firefox/addon/748">GreaseMonkey</a> script.  This one adds a <a href="http://en.gravatar.com/">Gravatar</a> of the person the email was from to <a href="http://gmail.com">Gmail</a> when reading an individual message.  It&#8217;s inspired by the <a href="http://www.mozillamessaging.com/en-US/thunderbird/">Thunderbird</a> integration I read about <a href="http://blog.gravatar.com/2008/01/02/email-gets-personal-with-gravatar-and-messagefaces/">here</a> a while back.  Here&#8217;s a screenshot of it for a better understanding of what it does:<br />
<img src="http://jonefox.com/blog/wp-content/uploads/2009/03/grav_gmail_screen.jpg" alt="Gravatar in Gmail" /></p>
<p>It&#8217;s really just a prototype honestly, but it was far enough along to make me happy for now.  A couple of limitations I&#8217;d like to correct some day (if I ever get around to it) would be to modify it to work with multiple open messages and to only display the image if the email address <em>actually</em> has a gravatar (currently it just displays the default gravatar image in this case).  It would also be nice to clean up how the image is added to the email &#8211; currently it&#8217;s a long dom navigation.  I&#8217;ve posted the script <a href="http://jonefox.com/grav_gmail.user.js">here</a> if anyone is interested in giving it a try (or updating it).  Also, if you didn&#8217;t already know about it (because I didn&#8217;t) the Gmail team has built a nice little <a href="http://code.google.com/p/gmail-greasemonkey/wiki/GmailGreasemonkey10API">API</a> for people developing GreaseMonkey scripts.</p>
<p>As always, feedback welcome.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JonFox?a=6oa8N1_cXqc:Ds1D-5KGtqo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/JonFox?i=6oa8N1_cXqc:Ds1D-5KGtqo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=6oa8N1_cXqc:Ds1D-5KGtqo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=6oa8N1_cXqc:Ds1D-5KGtqo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/JonFox?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=6oa8N1_cXqc:Ds1D-5KGtqo:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/JonFox?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=6oa8N1_cXqc:Ds1D-5KGtqo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/JonFox?i=6oa8N1_cXqc:Ds1D-5KGtqo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=6oa8N1_cXqc:Ds1D-5KGtqo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=6oa8N1_cXqc:Ds1D-5KGtqo:pxKawhptesk"><img src="http://feeds.feedburner.com/~ff/JonFox?i=6oa8N1_cXqc:Ds1D-5KGtqo:pxKawhptesk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://jonefox.com/blog/2009/03/14/gravatar-in-gmail/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Twitter Throttle</title>
		<link>http://jonefox.com/blog/2009/03/07/twitter-throttle/</link>
		<comments>http://jonefox.com/blog/2009/03/07/twitter-throttle/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 05:47:15 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[twitter throttle]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=171</guid>
		<description><![CDATA[One of my biggest pet peeves on Twitter is when people I follow slam Twitter with a bunch of tweets in a short time.  Maybe I&#8217;m the only one, but it&#8217;s definitely the #1 reason I stop following people.  I don&#8217;t want a single user completely taking over my Twitter page&#8230;
With this in [...]]]></description>
			<content:encoded><![CDATA[<p>One of my biggest pet peeves on <a href="http://twitter.com">Twitter</a> is when people I follow slam Twitter with a bunch of tweets in a short time.  Maybe I&#8217;m the only one, but it&#8217;s definitely the #1 reason I stop following people.  I don&#8217;t want a single user completely taking over my Twitter page&#8230;</p>
<p>With this in mind, I decided to write a <a href="https://addons.mozilla.org/en-US/firefox/addon/748">GreaseMonkey</a> script today to address the problem.  I call it Twitter Throttle, and what it does is hides (and groups if they&#8217;re in a row) tweets when a user has more than one tweet on my screen at the same time.  It will then also add however many older tweets are needed to have the correct total viewable on the page.  So, for example, if there are 5 tweets that are hidden (because the user that made the tweet has already made a tweet that is currently being displayed) then it will pull in the 5 previous tweets that are by users not yet represented on your page.  This effectively ensures that if there are 20 items on the page there will be at least 20 different users on the page as well.  Here&#8217;s a screenshot of what it looks like in use:</p>
<p><img src="http://jonefox.com/blog/wp-content/uploads/2009/03/twitter-throttle-screen1.jpg" alt="twitter-throttle-screen1" title="twitter-throttle-screen1" width="612" height="407" class="aligncenter size-full wp-image-174" /></p>
<p>Clicking on the links will display the tweets in case you still want to read them.  I&#8217;ve posted the script <a href="http://jonefox.com/twitter-throttle.user.js">here</a> if anyone is interested.  Be sure to set your twitter username and password in the script (used in the API call to add in older tweets to fill in for the hidden ones).  Let me know if you have any feedback.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JonFox?a=kjQ2FHHzEDg:8ETg7xRy7E4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/JonFox?i=kjQ2FHHzEDg:8ETg7xRy7E4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=kjQ2FHHzEDg:8ETg7xRy7E4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=kjQ2FHHzEDg:8ETg7xRy7E4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/JonFox?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=kjQ2FHHzEDg:8ETg7xRy7E4:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/JonFox?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=kjQ2FHHzEDg:8ETg7xRy7E4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/JonFox?i=kjQ2FHHzEDg:8ETg7xRy7E4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=kjQ2FHHzEDg:8ETg7xRy7E4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=kjQ2FHHzEDg:8ETg7xRy7E4:pxKawhptesk"><img src="http://feeds.feedburner.com/~ff/JonFox?i=kjQ2FHHzEDg:8ETg7xRy7E4:pxKawhptesk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://jonefox.com/blog/2009/03/07/twitter-throttle/feed/</wfw:commentRss>
		<slash:comments>52</slash:comments>
		</item>
		<item>
		<title>Ubiquity: Compete Stats</title>
		<link>http://jonefox.com/blog/2009/01/26/ubiquity-compete-stats/</link>
		<comments>http://jonefox.com/blog/2009/01/26/ubiquity-compete-stats/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 21:55:56 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[compete.com]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=165</guid>
		<description><![CDATA[I wrote yet another command for Ubiquity.  This one allows you to do a search on Compete for the site you&#8217;re currently on. Simply subscribe to the command here to add it to your command list.
Once you’ve got the command installed you can check a sites stats by opening Ubiquity (CTRL+SPACE) and typing &#8220;compete&#8221;. [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote yet another command for <a href="https://wiki.mozilla.org/Labs/Ubiquity/">Ubiquity</a>.  This one allows you to do a search on <a href="http://compete.com">Compete</a> for the site you&#8217;re currently on. Simply subscribe to the command <a href="http://jonefox.com/ubiquity-compete.php">here</a> to add it to your command list.</p>
<p>Once you’ve got the command installed you can check a sites stats by opening Ubiquity (CTRL+SPACE) and typing &#8220;compete&#8221;. You can also add &#8220;mv&#8221; for monthly page views or &#8220;uv&#8221; for unique visitors.  If neither is specified it will default to Compete&#8217;s default (uniques). Hopefully someone else will find it useful.</p>
<p>Feedback welcome.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JonFox?a=HRWlP_GSG6I:qosmog85r8Y:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/JonFox?i=HRWlP_GSG6I:qosmog85r8Y:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=HRWlP_GSG6I:qosmog85r8Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=HRWlP_GSG6I:qosmog85r8Y:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/JonFox?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=HRWlP_GSG6I:qosmog85r8Y:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/JonFox?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=HRWlP_GSG6I:qosmog85r8Y:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/JonFox?i=HRWlP_GSG6I:qosmog85r8Y:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=HRWlP_GSG6I:qosmog85r8Y:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=HRWlP_GSG6I:qosmog85r8Y:pxKawhptesk"><img src="http://feeds.feedburner.com/~ff/JonFox?i=HRWlP_GSG6I:qosmog85r8Y:pxKawhptesk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://jonefox.com/blog/2009/01/26/ubiquity-compete-stats/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Smaller Portions at Restaurants</title>
		<link>http://jonefox.com/blog/2009/01/25/smaller-portions-at-restaurants/</link>
		<comments>http://jonefox.com/blog/2009/01/25/smaller-portions-at-restaurants/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 07:21:04 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Random Ideas]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[customization]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[portion size]]></category>
		<category><![CDATA[restaurant]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=140</guid>
		<description><![CDATA[I may be crazy, but I would really love to see more portion options at restaurants.  Specifically, I think it&#8217;d be really great to see 1/2 or 1/4 size portions available for all entrees on the menu.  These could serve two primary purposes:
First, many people don&#8217;t want as much food as the default [...]]]></description>
			<content:encoded><![CDATA[<p>I may be crazy, but I would really love to see more portion options at restaurants.  Specifically, I think it&#8217;d be really great to see 1/2 or 1/4 size portions available for all entrees on the menu.  These could serve two primary purposes:</p>
<p>First, many people don&#8217;t want as much food as the default offers.  Maybe I&#8217;m not that hungry tonight&#8230;maybe it&#8217;s just the restaurant has huge portions.  In either case I think a lot of people would like this option.</p>
<p>The second is for people that can&#8217;t decide between multiple dishes or want to have more variety.  I&#8217;ve definitely had occasions where I&#8217;d love to have 2 different entrees and being able to order 2 different 1/2 orders would make a lot of sense to me.</p>
<p>Many other industries are moving to more personalization and more options.  I really think this relatively minor change could have a significant impact on the restaurant business.  Who wouldn&#8217;t love the ability to better customize their portions or mix and match food?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JonFox?a=Ow5Mlo1KPKg:NE8ALTPf0kU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/JonFox?i=Ow5Mlo1KPKg:NE8ALTPf0kU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=Ow5Mlo1KPKg:NE8ALTPf0kU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=Ow5Mlo1KPKg:NE8ALTPf0kU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/JonFox?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=Ow5Mlo1KPKg:NE8ALTPf0kU:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/JonFox?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=Ow5Mlo1KPKg:NE8ALTPf0kU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/JonFox?i=Ow5Mlo1KPKg:NE8ALTPf0kU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=Ow5Mlo1KPKg:NE8ALTPf0kU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=Ow5Mlo1KPKg:NE8ALTPf0kU:pxKawhptesk"><img src="http://feeds.feedburner.com/~ff/JonFox?i=Ow5Mlo1KPKg:NE8ALTPf0kU:pxKawhptesk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://jonefox.com/blog/2009/01/25/smaller-portions-at-restaurants/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Ubiquity: Twitter Search</title>
		<link>http://jonefox.com/blog/2009/01/18/ubiquity-twitter-search/</link>
		<comments>http://jonefox.com/blog/2009/01/18/ubiquity-twitter-search/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 22:48:15 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=161</guid>
		<description><![CDATA[I recently wrote another command for Ubiquity.  This one allows you to do a Twitter search. Simply subscribe to the command here to add it to your command list.
Once you’ve got the command installed you can perform a Twitter search by simply opening Ubiquity (CTRL+SPACE) and typing &#8220;twitter-search [search term(s)]&#8220;. Another simple one, but [...]]]></description>
			<content:encoded><![CDATA[<p>I recently wrote another command for <a href="https://wiki.mozilla.org/Labs/Ubiquity/">Ubiquity</a>.  This one allows you to do a Twitter search. Simply subscribe to the command <a href="http://jonefox.com/ubiquity-twitter-search.php">here</a> to add it to your command list.</p>
<p>Once you’ve got the command installed you can perform a Twitter search by simply opening Ubiquity (CTRL+SPACE) and typing &#8220;twitter-search [search term(s)]&#8220;. Another simple one, but it saves me a little time and maybe someone else will find it useful.</p>
<p>Let me know what you think.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JonFox?a=fn2IkBP-gqk:hHsg1L7MWlY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/JonFox?i=fn2IkBP-gqk:hHsg1L7MWlY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=fn2IkBP-gqk:hHsg1L7MWlY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=fn2IkBP-gqk:hHsg1L7MWlY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/JonFox?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=fn2IkBP-gqk:hHsg1L7MWlY:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/JonFox?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=fn2IkBP-gqk:hHsg1L7MWlY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/JonFox?i=fn2IkBP-gqk:hHsg1L7MWlY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=fn2IkBP-gqk:hHsg1L7MWlY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=fn2IkBP-gqk:hHsg1L7MWlY:pxKawhptesk"><img src="http://feeds.feedburner.com/~ff/JonFox?i=fn2IkBP-gqk:hHsg1L7MWlY:pxKawhptesk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://jonefox.com/blog/2009/01/18/ubiquity-twitter-search/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Competition</title>
		<link>http://jonefox.com/blog/2009/01/13/competition/</link>
		<comments>http://jonefox.com/blog/2009/01/13/competition/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 05:20:57 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[competition]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=152</guid>
		<description><![CDATA[It&#8217;s easy to get distracted by your competitors.  When you&#8217;re in an emerging space in particular, you constantly feel the strain of every success that your competitors have.  Your instinct is to prevent this by knowing what your competitors are up to and then beat or match them on all fronts so that [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s easy to get distracted by your competitors.  When you&#8217;re in an emerging space in particular, you constantly feel the strain of every success that your competitors have.  Your instinct is to prevent this by knowing what your competitors are up to and then beat or match them on all fronts so that they no longer have an advantage over you.</p>
<p>Unfortunately, this <strong>never</strong> works.</p>
<p>If you&#8217;re chasing the competition you&#8217;ll never pass them &#8211; by definition really.  How can you ever beat the competition if you&#8217;re always just trying to match or beat them at their own game?  In the end this will stress the team and you&#8217;ll always be #2 (or worse) in your space.  Not a good solution&#8230;</p>
<p>So what should you do about competition?  Ignore them.  Ignore them as much as possible.  Ultimately you should listen to your user base to determine the direction you should take, not your competition.  In some cases your users will tell you that they want a feature your competitor has&#8230;great!  Give it to them.  The key thing though is that you only provide them with the features they ask for.  In a weird way this actually makes you more efficient because if your competitors come up with a really great feature you&#8217;re still aware of it and can integrate some version of it into your own product(s).  On the other hand though, if they waste their time on a feature that turns out to be a flop, you never need to worry about it (since presumably your users won&#8217;t push for this) and you don&#8217;t have to waste the resources to develop the stuff that didn&#8217;t work out.</p>
<p>The average guy at your startup should not be worrying about what the competition is up to.  Instead it is important to foster an environment of internal competition and support &#8211; encouraging your team to excel by a little friendly competition between the ranks.  Also, competition against yourself is important.  Tracking performance, making goals, and following progress over time all help to push people a little bit futher and keep people performing at their peek.</p>
<p>Ultimately, this is not so black and white though.  It&#8217;s important for the people at the planning/strategy level to have some idea where the market is going and what the competition is doing in order to best take advantage of your opportunities.  The key thing here is to not get boxed in to competing at your competitors game, but instead to change the rules and compete in the game that you have the advantage in.  For instance, if your competitors have considerably more development resources at their disposal than you do then you shouldn&#8217;t compete on a feature level.  You&#8217;ll never be able to keep up and beat them to the punch line on key features &#8211; and on the off chance you do, they&#8217;ll be able to &#8220;catch up&#8221; quickly, and the advantage will end up being trivial.  A better solution would be to find the area that you have the advantage in and make that the playing field.  For example, if you have strong business development skills and connections, then make the game all about distribution.  Play up the deals you make and make a point throughout your site/blog/company culture that you&#8217;re all about distribution and playing with the big guys.  On sales calls really key into the distribution you have and (if it comes up) downplay trivial or meaningless features the competition has built.  You have to change the game so that it plays to your strengths instead of your competitors&#8230;after all, it&#8217;s really tough to win a game that the opponent can define the rules for.</p>
<p>So don&#8217;t let yourself fall into the trap of getting distracted by competitors.  Leverage the work they do by drawing on your community and put your primary focus on your users instead.  At the strategic level, define your own set of rules to compete on that play to your advantages and highlight this throughout your communications.  Competition can be crippling or it can bring enormous energy to a company.  Ensure that it makes your team thrive.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JonFox?a=FKwP_6ledcc:PqinHRE_D2Q:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/JonFox?i=FKwP_6ledcc:PqinHRE_D2Q:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=FKwP_6ledcc:PqinHRE_D2Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=FKwP_6ledcc:PqinHRE_D2Q:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/JonFox?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=FKwP_6ledcc:PqinHRE_D2Q:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/JonFox?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=FKwP_6ledcc:PqinHRE_D2Q:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/JonFox?i=FKwP_6ledcc:PqinHRE_D2Q:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=FKwP_6ledcc:PqinHRE_D2Q:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=FKwP_6ledcc:PqinHRE_D2Q:pxKawhptesk"><img src="http://feeds.feedburner.com/~ff/JonFox?i=FKwP_6ledcc:PqinHRE_D2Q:pxKawhptesk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://jonefox.com/blog/2009/01/13/competition/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Challenge Each Other</title>
		<link>http://jonefox.com/blog/2009/01/11/challenge-each-other/</link>
		<comments>http://jonefox.com/blog/2009/01/11/challenge-each-other/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 00:18:04 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[challenge]]></category>
		<category><![CDATA[growth]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=149</guid>
		<description><![CDATA[In a small startup or any small team it&#8217;s very important for all members to challenge one another and keep people from getting comfortable.  The tough thing is to find the delicate balance that forces people to push themselves just enough that they&#8217;re performing at their best without going to far to cause serious [...]]]></description>
			<content:encoded><![CDATA[<p>In a small startup or any small team it&#8217;s very important for all members to challenge one another and keep people from getting comfortable.  The tough thing is to find the delicate balance that forces people to push themselves just enough that they&#8217;re performing at their best without going to far to cause serious stress or a mindset of impossibility.  The challenge should keep someone from getting comfortable, keeping things just out of reach so that one is always trying to reach just a little bit further.</p>
<p>So what are you doing to challenge the rest of your team?  Are you actively trying to push your coworkers to perform just a little better?  If you manage anyone, what are you doing to help them grow and keep them performing at their best?</p>
<p>Challenge is one of the great things that come out of working in a small team.  Don&#8217;t cut your team mates short by skimping on this.  Push them, and yourself, further.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JonFox?a=7xYlbyFdMH8:GCIAy_08y8M:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/JonFox?i=7xYlbyFdMH8:GCIAy_08y8M:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=7xYlbyFdMH8:GCIAy_08y8M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=7xYlbyFdMH8:GCIAy_08y8M:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/JonFox?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=7xYlbyFdMH8:GCIAy_08y8M:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/JonFox?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=7xYlbyFdMH8:GCIAy_08y8M:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/JonFox?i=7xYlbyFdMH8:GCIAy_08y8M:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=7xYlbyFdMH8:GCIAy_08y8M:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=7xYlbyFdMH8:GCIAy_08y8M:pxKawhptesk"><img src="http://feeds.feedburner.com/~ff/JonFox?i=7xYlbyFdMH8:GCIAy_08y8M:pxKawhptesk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://jonefox.com/blog/2009/01/11/challenge-each-other/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Power Twitter</title>
		<link>http://jonefox.com/blog/2009/01/07/power-twitter/</link>
		<comments>http://jonefox.com/blog/2009/01/07/power-twitter/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 06:38:00 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Great Stuff]]></category>
		<category><![CDATA[addons]]></category>
		<category><![CDATA[power twitter]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=129</guid>
		<description><![CDATA[Been playing with Power Twitter recently and I love it!  For those of you not already familiar with it, it&#8217;s a FireFox addon that builds on the Twitter.com UI to add a bunch of missing features (that Twitter should&#8217;ve already added).
Some of the features include:

Search right from your Twitter home page
Including all replies (including [...]]]></description>
			<content:encoded><![CDATA[<p>Been playing with <a href="https://addons.mozilla.org/en-US/firefox/addon/9591">Power Twitter</a> recently and I love it!  For those of you not already familiar with it, it&#8217;s a FireFox addon that builds on the Twitter.com UI to add a bunch of missing features (that <a href="http://twitter.com">Twitter </a>should&#8217;ve already added).</p>
<p>Some of the features include:</p>
<ul>
<li>Search right from your Twitter home page</li>
<li>Including all replies (including tweets that your @username is in the middle of the tweet instead of just at the beginning) on the replies tab</li>
<li>Expanding <a href="http://tinyurl.com">tinyurl</a> style links to include the title of the page they link to</li>
<li>Embedding media directly in the Twitter interface instead of only through links (like twitpic)</li>
<li>Providing a mouseover on a user&#8217;s avatar to show their recent tweets (giving needed context sometimes)</li>
<li>And a few other nice odds and ends&#8230;</li>
</ul>

<p>I included a few screenshots of some of these features above.</p>
<p>Overall this has proven to be a really great plugin from my usage so far.  I find a lot of it is stuff that I didn&#8217;t realize how much I would use until I have it.  I think it&#8217;s great that the Twitter community is active enough to modify the Twitter interface using FireFox addons, but it does raise a few questions about why the Twitter team isn&#8217;t integrating this stuff themselves.</p>
<p>In any case, if you use Twitter from the interface at Twitter.com much (and you browse in FireFox) I&#8217;d definitely recommend giving this addon a try.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JonFox?a=OteZGJtDEvY:KCU39YL0fIA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/JonFox?i=OteZGJtDEvY:KCU39YL0fIA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=OteZGJtDEvY:KCU39YL0fIA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=OteZGJtDEvY:KCU39YL0fIA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/JonFox?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=OteZGJtDEvY:KCU39YL0fIA:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/JonFox?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=OteZGJtDEvY:KCU39YL0fIA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/JonFox?i=OteZGJtDEvY:KCU39YL0fIA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=OteZGJtDEvY:KCU39YL0fIA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=OteZGJtDEvY:KCU39YL0fIA:pxKawhptesk"><img src="http://feeds.feedburner.com/~ff/JonFox?i=OteZGJtDEvY:KCU39YL0fIA:pxKawhptesk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://jonefox.com/blog/2009/01/07/power-twitter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PlayOn!</title>
		<link>http://jonefox.com/blog/2009/01/05/playon/</link>
		<comments>http://jonefox.com/blog/2009/01/05/playon/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 04:20:46 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Great Stuff]]></category>
		<category><![CDATA[hulu]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[netflix]]></category>
		<category><![CDATA[PlayOn!]]></category>
		<category><![CDATA[ps3]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://jonefox.com/blog/?p=127</guid>
		<description><![CDATA[I just recently discovered PlayOn! which is a media server that allows you to stream content to your PS3 or Xbox from online sources like Hulu, YouTube, CBS, Netflix and others.  Setup is super simple.  Just download a small app to one of your computers on the same network as the console, install [...]]]></description>
			<content:encoded><![CDATA[<p>I just recently discovered <a href="http://www.themediamall.com/playon">PlayOn!</a> which is a media server that allows you to stream content to your PS3 or Xbox from online sources like <a href="http://hulu.com">Hulu</a>, <a href="http://youtube.com">YouTube</a>, <a href="http://cbs.com">CBS</a>, <a href="http://netflix.com">Netflix</a> and others.  Setup is super simple.  Just download a small app to one of your computers on the same network as the console, install it, put in your credentials (for the sites that require it), and then browse to the new media server on your PS3.  I literally was up and running in about 5 minutes.</p>
<p>So far I really love the service.  I&#8217;m an active Netflix user and love the &#8220;Instant Watch&#8221; section.  I used to run this through a computer hooked up to my TV, which worked, but was extremely clunky to use.  There are separate boxes you can buy to have this same functionality, but why pay for new hardware when the PS3 is already hooked up, network ready, and fully capable.  I also really like having Hulu and other mainstream media sites built right in.  It&#8217;s just one more step in moving to the on-demand, internet ready media systems that are starting to take off.</p>
<p>The only downside to the software is that it&#8217;s not free.  I&#8217;m currently using the free trial, and I&#8217;m told that the software will be ~$30 when it&#8217;s out of beta and no longer a free trial.  A bit of a road block for some, I&#8217;m sure, but more than worth it for me to be able to do this completely seamlessly without adding another box to my living room setup.</p>
<p>I&#8217;m also planning to give <a href="http://boxee.tv/">Boxee</a> a try soon.  As far as I know there&#8217;s no way to stream this to the PS3, but I&#8217;d be willing to use a PC for this if it worked well enough.  I&#8217;d also like to find a nice way to watch video podcasts on my PS3&#8230;anyone out there doing this?</p>
<p>Overall a really great piece of software that is super simple to use.  Definitely recommend it.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/JonFox?a=s232n-DB1Xk:p8el7oCIZGM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/JonFox?i=s232n-DB1Xk:p8el7oCIZGM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=s232n-DB1Xk:p8el7oCIZGM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=s232n-DB1Xk:p8el7oCIZGM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/JonFox?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=s232n-DB1Xk:p8el7oCIZGM:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/JonFox?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=s232n-DB1Xk:p8el7oCIZGM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/JonFox?i=s232n-DB1Xk:p8el7oCIZGM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=s232n-DB1Xk:p8el7oCIZGM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/JonFox?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/JonFox?a=s232n-DB1Xk:p8el7oCIZGM:pxKawhptesk"><img src="http://feeds.feedburner.com/~ff/JonFox?i=s232n-DB1Xk:p8el7oCIZGM:pxKawhptesk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://jonefox.com/blog/2009/01/05/playon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
