<?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>UNEASYsilence &#187; Geeky</title>
	<atom:link href="http://uneasysilence.com/archive/category/geeky/feed/" rel="self" type="application/rss+xml" />
	<link>http://uneasysilence.com</link>
	<description></description>
	<lastBuildDate>Sun, 22 Nov 2009 01:52:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>javascript frameworks, oh how thee pain me.</title>
		<link>http://uneasysilence.com/archive/2008/09/13467/</link>
		<comments>http://uneasysilence.com/archive/2008/09/13467/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 03:40:03 +0000</pubDate>
		<dc:creator>Chad</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Stupid]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[hack]]></category>

		<guid isPermaLink="false">http://uneasysilence.com/?p=13467</guid>
		<description><![CDATA[<p>Web Developer?&#8230; writing and application?&#8230; want the front end to be badass?&#8230; welcome to the club.</p>
<p>I&#8217;ve been working with JavaScript for roughly 4 or 5 years at this point.  My first apps, if you can even call them that were randomized ads being server from an array on my buddies web site once his traffic picked up.  It was not only my first attempt at JS, but also one of the early programming lessons of my life.  With that said I&#8217;m old school, I can write an AJAX request by memory, I can tell you about the days of old using invisible iframes and having inter page communication between objects to do essentially what XMLHttpRequest does now (yes I know, using them is still a key to many apps).  With that said doing a good ole getElementById(&#8217;x') never phased me in the least.  The idea of building a DOM structure with document.createElement and document.appendChild&#8230; </p>
<blockquote><p>
<code><br />
var heart = document.createElement('heart');<br />
chest.appendChild(heart);<br />
</code>
</p></blockquote>
<p>With that said, I could continue down my route and stick to my ways, but a man that stands still in his knowledge is a man that gets left behind.  So I&#8217;ve started researching JS frameworks and the pros and cons of these now necessary evils/saints.</p>
<p>I personally fell for jQuery.  Clean syntax, ease of use, functionality&#8230; all of these things put it leaps and bounds ahead of it&#8217;s competitors in my book.  Looking over Prototype.js markup usually makes me walk away from the computer grumbling about a nose bleed and makes me smoke a cigarette.  With that said I&#8217;m not your typical JavaScript programmer from my experiences working with others in this field.  I feel that a good JS program much like any other should consist of &#8220;Objects&#8221; since the language is considered OOP, or atleast some what I tend to take advantage of that.  For more complex applications I&#8217;ll write a series of objects with self contained functionality to control multiple facets of an application.  An example of this would be a web based jabber client I wrote about a year ago.</p>
<p>The interface and most every functionality was controlled via a series of objects.  I&#8217;ll give a short example of what I mean.</p>
<blockquote><p>
<code><br />
function Chat()<br />
{<br />
    this.connected = this.establishConnection();<br />
    etc.<br />
}</p>
<p>Chat.prototype.handleMessage = function(ejabberdPacketObject)<br />
{<br />
    var chatInstance = this.activeChats[ejabberdPacketObject['username']];<br />
   if(!chatInstance)<br />
   {<br />
       this.activeChats[ejabberdPacketObject['username']] = new Conversation(ejabberdPacketObject);<br />
       etc.<br />
   }<br />
}</p>
<p>function Conversation(incomingConversation)<br />
{<br />
    this.username = incomingConversation['username'];<br />
    this.appendChatLog(incomingConversation['message']);<br />
}</p>
<p>Conversation.prototype.appendChatLog = function(msgText)<br />
{<br />
    msgText = this.username+" : "+msgText;<br />
    this.chatLog += msgText;<br />
    etc...<br />
}<br />
</code>
</p></blockquote>
<p>For all of the fans of Object Literal Notation, I know I&#8217;m a sinner, but I really do believe prototyping objects is the way to go because of readability and memory management.  I&#8217;ll make it up to you and write the next piece in OLN.</p>
<p>So long story short I&#8217;m working on a dynamic Pedigree builder, it&#8217;s rather simple really, it needs to build out the HTML DOM dynamically adding generations to a pedigree.  But I figured I would use jQuery to ease some of the extra markup overhead of appendChild and getElementById calls plus get all the fancy fancy shiny flashy effects as well.  I ran into an interesting issue that gave me a headache for a few hours so I wanted to present it to whoever may be running into the same issue and propose my fix.</p>
<p>See when I do development I like to store references to my DOM elements in Object properties to prevent looking over the DOM again plus it just makes it easier to grab DOM references in context.</p>
<blockquote><p><code><br />
this.myDiv = $('#gen1');<br />
this.addGenBtn = $('#gen1 input.add_generation');<br />
</code></p></blockquote>
<p>Using that with jQuery would fetch the input with a class name of &#8216;add_generation&#8217; inside of the DIV with the ID &#8216;gen1&#8242;.  Which is great, we get the correct element back and all the extra functionality supplied by jQuery including the &#8216;click()&#8217; functionality&#8230; I know I know I could use &#8216;onclick&#8217; but as my Grandpa says &#8220;If you&#8217;re gonna get wet, might as well go swimming&#8221;&#8230; basically what I&#8217;m saying here is if you&#8217;re using the framework, might as well implement it wherever you can. So now that we have the reference in place we can do stuff like this.</p>
<blockquote><p><code><br />
Pedigree.generations[5].myDiv.append('stuff');<br />
Pedigree.generations[5].addGenBtn;<br />
</code></p></blockquote>
<p>Another habit of mine is also passing the reference of the parent object to the DOM node itself for cross reference purposes.  This way the DOM node can &#8220;phone home&#8221; easily and react to user information and interaction accordingly.  Such as this.</p>
<blockquote><p><code><br />
this.addGenBtn.Parent = this;<br />
</code></p></blockquote>
<p>Now this may seem kind of clumsy but I&#8217;ll show you why I do it personally.</p>
<blockquote><p><code><br />
function Generation()<br />
{<br />
    this.myDiv = $('#gen1');<br />
    this.addGenBtn = $('#gen1 input.add_generation');<br />
    this.addGenBtn.Parent = this;<br />
    this.addGenBtn.click(this.addGeneration);<br />
}<br />
Generation.prototype = {<br />
    addGeneration:function()<br />
    {<br />
         this.Parent.myDiv.append(this.Parent.blankGenTemplate);<br />
    }<br />
};<br />
</code></p></blockquote>
<p>See now the functionality from an event also has a reference to it&#8217;s parent properties and methods.  This can be very very handy in the long run.  And this is where the problem set in.  When the &#8216;click&#8217; event handler fired, yes, it passed back the associated DOM element as expected.  Meaning if I placed a console.log() call and logged &#8216;this&#8217; to firebug I was seeing the DOM reference I expected.  However, any properties and methods I added to that DOM object were neutered.</p>
<blockquote><p><code><br />
...<br />
addGeneration:function()<br />
    {<br />
         console.log(this); // returned input DOM node...<br />
         console.log(this.Parent); // returned 'undefined'<br />
    }<br />
...<br />
</code></p></blockquote>
<p>Now me being an old school developer I&#8217;m used to saying &#8220;getElementById&#8221; and getting back exactly what I expected, any new methods or properties I add to that element will reside there until otherwise noted.  So this threw me for a loop, but a simple loop that I was looking at from the wrong angle.  See jQuery hands back an Object of it&#8217;s own when you &#8220;query&#8221; the DOM.  This is what leads to all the fancy added functionality, so although it appears you&#8217;re getting back just your DOM node with some extra methods slapped on the end you&#8217;re really receiving and jQuery object with your DOM reference tucked neatly inside.</p>
<p>Long story short should someone run into something along the lines of this and require a cigarette much as I did when there is a very simple, very quick, and very easy fix&#8230; I almost don&#8217;t feel like even publishing this article because I know some people are going to go &#8220;well no shit dumbass&#8221; but I feel like there might be someone out there that could use this information.  SO here it goes.</p>
<p>When you &#8220;query&#8221; the DOM as mentioned above it returns a custom jQuery object so appending methods/properties to that object does indeed append them, but it does so in the jQuery Object scope which could indeed be useful in some cases.  However when using the event controls such as &#8216;click()&#8217; the scope returns the event reporter.  This is why in the example above logging &#8216;this&#8217; outputs the input element, but it doesn&#8217;t see a .Parent reference.  It doesn&#8217;t see this reference because we technically never put it in place.  The trick to fixing this is damn simple though.  </p>
<p>See when a jQuery object is returned it&#8217;s much like a prototyped/extended array.  If you check the object out you&#8217;ll see it has a .length property and THIS is where it stores the raw DOM references.  So basically using it like an array is the trick.</p>
<blockquote><p><code><br />
this.addGenBtn = $('#gen1 input.add_generation');<br />
this.addGenBtn[0].Parent = this;<br />
this.addGenBtn.click(this.addGeneration);<br />
</code></p></blockquote>
<p>Now in that example we grabbed the first node of the array which is the raw DOM element to create our .Parent property.  Now we can use the idea&#8217;s stated above without skipping a beat.  Also note that if your &#8220;query&#8221; returns more than one item you can easily loop over the object just like an array and achieve the same idea like so.</p>
<blockquote><p><code>
<pre>
this.divControls = $('div.collapsible');
// loop over DOM elements and reference parent object
for(var a=0,z=this.divControls.length; a(lt*)z ; a++)
{
this.divControls[a].Parent = this;
}
this.divControls.click(this.handleCascade);
</pre>
<p></code></p></blockquote>
<p>*(lt) = word press won&#8217;t allow a less than because of template munge.. so yea, sorry.</p>
<p>So, with everything we&#8217;ve discussed here, I now give you an example (non functional) of the kind of functionality I was trying to achieve.</p>
<blockquote><p><code><br />
// pedigree class<br />
function Pedigree()<br />
{<br />
    this.init();<br />
}<br />
Pedigree.prototype = {<br />
	generations:[],<br />
	init:function()<br />
	{<br />
	// hook up DOM and such<br />
	}<br />
},</p>
<p>// generation class<br />
function Generation(parentGen)<br />
{<br />
    this.init(parentGen)<br />
}<br />
Generation.prototype = {<br />
    init:function(parentGen)<br />
    {<br />
	this.parentGen = parentGen;<br />
	this.masterPedigree = this.parentGen.masterPedigree;<br />
	this.generation = this.parentGen.generation+1;<br />
	this.buildDOM();<br />
	this.hookupDOM();<br />
    },<br />
    buildDOM:function()<br />
    {<br />
	// create interface, skipping these<br />
    },<br />
    hookupDOM()<br />
    {<br />
	var divName = '#gen'+this.parentGen.generation+'-'+this.generation;<br />
	this.myDiv = $(divName);<br />
	this.addBtn = $(divName+' input.add_generation');<br />
	this.addBtn[0].Parent = this;<br />
	this.addBtn.click(this.addGeneration);<br />
    },<br />
    addGeneration()<br />
    {<br />
	this.Parent.masterPedigree.push(new Generation(this.Parent));<br />
    }<br />
}<br />
</code></p></blockquote>
<p>Hope this helps anyone else that runs into scoping/object confusion using jQuery later on.  If anyone has any questions or comments I&#8217;d love to hear them.  To the JS dev. community&#8230; I know my ways might seem a bit unorthodox so I&#8217;m sure I&#8217;ll get nice and crucified.</p>
<p>If anyone is going to the Ajaxian conference in Boston next week (Sept. 29th &#8211; Oct. 1st) and would like to hang out and shoot the shit feel free to drop your email here and I&#8217;ll get in touch.</p>
<p>For those interested in learning more about jQuery <a href="http://jquery.com/">jQuery homepage</a>.</p>
<p>Once again, hope this helps, and sorry it&#8217;s so damn long ;)</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2007/07/11458/" rel="bookmark">All Your Mac Are Belong to Us: How to Easily Reset an OSX Password</a></li><li><a href="http://uneasysilence.com/archive/2005/06/3445/" rel="bookmark">Beautiful client-side AJAX for Del.icio.us</a></li><li><a href="http://uneasysilence.com/archive/2007/02/9498/" rel="bookmark">Google is preparing a web based presentation service</a></li><li><a href="http://uneasysilence.com/archive/2005/12/4871/" rel="bookmark">Retrotastic: Run BASIC in your web browser!</a></li><li><a href="http://uneasysilence.com/archive/2009/04/13977/" rel="bookmark">Accidental Coupon Code Cost 11,000 Pizzas</a></li></ul></div><div style="display:block"><small><em><a href="http://uneasysilence.com/archive/2008/09/13467/#comments">Leave A Comment</a></em></small></div>]]></description>
			<content:encoded><![CDATA[<p>Web Developer?&#8230; writing and application?&#8230; want the front end to be badass?&#8230; welcome to the club.</p>
<p>I&#8217;ve been working with JavaScript for roughly 4 or 5 years at this point.  My first apps, if you can even call them that were randomized ads being server from an array on my buddies web site once his traffic picked up.  It was not only my first attempt at JS, but also one of the early programming lessons of my life.  With that said I&#8217;m old school, I can write an AJAX request by memory, I can tell you about the days of old using invisible iframes and having inter page communication between objects to do essentially what XMLHttpRequest does now (yes I know, using them is still a key to many apps).  With that said doing a good ole getElementById(&#8217;x') never phased me in the least.  The idea of building a DOM structure with document.createElement and document.appendChild&#8230; </p>
<blockquote><p>
<code><br />
var heart = document.createElement('heart');<br />
chest.appendChild(heart);<br />
</code>
</p></blockquote>
<p>With that said, I could continue down my route and stick to my ways, but a man that stands still in his knowledge is a man that gets left behind.  So I&#8217;ve started researching JS frameworks and the pros and cons of these now necessary evils/saints.</p>
<p>I personally fell for jQuery.  Clean syntax, ease of use, functionality&#8230; all of these things put it leaps and bounds ahead of it&#8217;s competitors in my book.  Looking over Prototype.js markup usually makes me walk away from the computer grumbling about a nose bleed and makes me smoke a cigarette.  With that said I&#8217;m not your typical JavaScript programmer from my experiences working with others in this field.  I feel that a good JS program much like any other should consist of &#8220;Objects&#8221; since the language is considered OOP, or atleast some what I tend to take advantage of that.  For more complex applications I&#8217;ll write a series of objects with self contained functionality to control multiple facets of an application.  An example of this would be a web based jabber client I wrote about a year ago.</p>
<p>The interface and most every functionality was controlled via a series of objects.  I&#8217;ll give a short example of what I mean.</p>
<blockquote><p>
<code><br />
function Chat()<br />
{<br />
    this.connected = this.establishConnection();<br />
    etc.<br />
}</p>
<p>Chat.prototype.handleMessage = function(ejabberdPacketObject)<br />
{<br />
    var chatInstance = this.activeChats[ejabberdPacketObject['username']];<br />
   if(!chatInstance)<br />
   {<br />
       this.activeChats[ejabberdPacketObject['username']] = new Conversation(ejabberdPacketObject);<br />
       etc.<br />
   }<br />
}</p>
<p>function Conversation(incomingConversation)<br />
{<br />
    this.username = incomingConversation['username'];<br />
    this.appendChatLog(incomingConversation['message']);<br />
}</p>
<p>Conversation.prototype.appendChatLog = function(msgText)<br />
{<br />
    msgText = this.username+" : "+msgText;<br />
    this.chatLog += msgText;<br />
    etc...<br />
}<br />
</code>
</p></blockquote>
<p>For all of the fans of Object Literal Notation, I know I&#8217;m a sinner, but I really do believe prototyping objects is the way to go because of readability and memory management.  I&#8217;ll make it up to you and write the next piece in OLN.</p>
<p>So long story short I&#8217;m working on a dynamic Pedigree builder, it&#8217;s rather simple really, it needs to build out the HTML DOM dynamically adding generations to a pedigree.  But I figured I would use jQuery to ease some of the extra markup overhead of appendChild and getElementById calls plus get all the fancy fancy shiny flashy effects as well.  I ran into an interesting issue that gave me a headache for a few hours so I wanted to present it to whoever may be running into the same issue and propose my fix.</p>
<p>See when I do development I like to store references to my DOM elements in Object properties to prevent looking over the DOM again plus it just makes it easier to grab DOM references in context.</p>
<blockquote><p><code><br />
this.myDiv = $('#gen1');<br />
this.addGenBtn = $('#gen1 input.add_generation');<br />
</code></p></blockquote>
<p>Using that with jQuery would fetch the input with a class name of &#8216;add_generation&#8217; inside of the DIV with the ID &#8216;gen1&#8242;.  Which is great, we get the correct element back and all the extra functionality supplied by jQuery including the &#8216;click()&#8217; functionality&#8230; I know I know I could use &#8216;onclick&#8217; but as my Grandpa says &#8220;If you&#8217;re gonna get wet, might as well go swimming&#8221;&#8230; basically what I&#8217;m saying here is if you&#8217;re using the framework, might as well implement it wherever you can. So now that we have the reference in place we can do stuff like this.</p>
<blockquote><p><code><br />
Pedigree.generations[5].myDiv.append('stuff');<br />
Pedigree.generations[5].addGenBtn;<br />
</code></p></blockquote>
<p>Another habit of mine is also passing the reference of the parent object to the DOM node itself for cross reference purposes.  This way the DOM node can &#8220;phone home&#8221; easily and react to user information and interaction accordingly.  Such as this.</p>
<blockquote><p><code><br />
this.addGenBtn.Parent = this;<br />
</code></p></blockquote>
<p>Now this may seem kind of clumsy but I&#8217;ll show you why I do it personally.</p>
<blockquote><p><code><br />
function Generation()<br />
{<br />
    this.myDiv = $('#gen1');<br />
    this.addGenBtn = $('#gen1 input.add_generation');<br />
    this.addGenBtn.Parent = this;<br />
    this.addGenBtn.click(this.addGeneration);<br />
}<br />
Generation.prototype = {<br />
    addGeneration:function()<br />
    {<br />
         this.Parent.myDiv.append(this.Parent.blankGenTemplate);<br />
    }<br />
};<br />
</code></p></blockquote>
<p>See now the functionality from an event also has a reference to it&#8217;s parent properties and methods.  This can be very very handy in the long run.  And this is where the problem set in.  When the &#8216;click&#8217; event handler fired, yes, it passed back the associated DOM element as expected.  Meaning if I placed a console.log() call and logged &#8216;this&#8217; to firebug I was seeing the DOM reference I expected.  However, any properties and methods I added to that DOM object were neutered.</p>
<blockquote><p><code><br />
...<br />
addGeneration:function()<br />
    {<br />
         console.log(this); // returned input DOM node...<br />
         console.log(this.Parent); // returned 'undefined'<br />
    }<br />
...<br />
</code></p></blockquote>
<p>Now me being an old school developer I&#8217;m used to saying &#8220;getElementById&#8221; and getting back exactly what I expected, any new methods or properties I add to that element will reside there until otherwise noted.  So this threw me for a loop, but a simple loop that I was looking at from the wrong angle.  See jQuery hands back an Object of it&#8217;s own when you &#8220;query&#8221; the DOM.  This is what leads to all the fancy added functionality, so although it appears you&#8217;re getting back just your DOM node with some extra methods slapped on the end you&#8217;re really receiving and jQuery object with your DOM reference tucked neatly inside.</p>
<p>Long story short should someone run into something along the lines of this and require a cigarette much as I did when there is a very simple, very quick, and very easy fix&#8230; I almost don&#8217;t feel like even publishing this article because I know some people are going to go &#8220;well no shit dumbass&#8221; but I feel like there might be someone out there that could use this information.  SO here it goes.</p>
<p>When you &#8220;query&#8221; the DOM as mentioned above it returns a custom jQuery object so appending methods/properties to that object does indeed append them, but it does so in the jQuery Object scope which could indeed be useful in some cases.  However when using the event controls such as &#8216;click()&#8217; the scope returns the event reporter.  This is why in the example above logging &#8216;this&#8217; outputs the input element, but it doesn&#8217;t see a .Parent reference.  It doesn&#8217;t see this reference because we technically never put it in place.  The trick to fixing this is damn simple though.  </p>
<p>See when a jQuery object is returned it&#8217;s much like a prototyped/extended array.  If you check the object out you&#8217;ll see it has a .length property and THIS is where it stores the raw DOM references.  So basically using it like an array is the trick.</p>
<blockquote><p><code><br />
this.addGenBtn = $('#gen1 input.add_generation');<br />
this.addGenBtn[0].Parent = this;<br />
this.addGenBtn.click(this.addGeneration);<br />
</code></p></blockquote>
<p>Now in that example we grabbed the first node of the array which is the raw DOM element to create our .Parent property.  Now we can use the idea&#8217;s stated above without skipping a beat.  Also note that if your &#8220;query&#8221; returns more than one item you can easily loop over the object just like an array and achieve the same idea like so.</p>
<blockquote><p><code>
<pre>
this.divControls = $('div.collapsible');
// loop over DOM elements and reference parent object
for(var a=0,z=this.divControls.length; a(lt*)z ; a++)
{
this.divControls[a].Parent = this;
}
this.divControls.click(this.handleCascade);
</pre>
<p></code></p></blockquote>
<p>*(lt) = word press won&#8217;t allow a less than because of template munge.. so yea, sorry.</p>
<p>So, with everything we&#8217;ve discussed here, I now give you an example (non functional) of the kind of functionality I was trying to achieve.</p>
<blockquote><p><code><br />
// pedigree class<br />
function Pedigree()<br />
{<br />
    this.init();<br />
}<br />
Pedigree.prototype = {<br />
	generations:[],<br />
	init:function()<br />
	{<br />
	// hook up DOM and such<br />
	}<br />
},</p>
<p>// generation class<br />
function Generation(parentGen)<br />
{<br />
    this.init(parentGen)<br />
}<br />
Generation.prototype = {<br />
    init:function(parentGen)<br />
    {<br />
	this.parentGen = parentGen;<br />
	this.masterPedigree = this.parentGen.masterPedigree;<br />
	this.generation = this.parentGen.generation+1;<br />
	this.buildDOM();<br />
	this.hookupDOM();<br />
    },<br />
    buildDOM:function()<br />
    {<br />
	// create interface, skipping these<br />
    },<br />
    hookupDOM()<br />
    {<br />
	var divName = '#gen'+this.parentGen.generation+'-'+this.generation;<br />
	this.myDiv = $(divName);<br />
	this.addBtn = $(divName+' input.add_generation');<br />
	this.addBtn[0].Parent = this;<br />
	this.addBtn.click(this.addGeneration);<br />
    },<br />
    addGeneration()<br />
    {<br />
	this.Parent.masterPedigree.push(new Generation(this.Parent));<br />
    }<br />
}<br />
</code></p></blockquote>
<p>Hope this helps anyone else that runs into scoping/object confusion using jQuery later on.  If anyone has any questions or comments I&#8217;d love to hear them.  To the JS dev. community&#8230; I know my ways might seem a bit unorthodox so I&#8217;m sure I&#8217;ll get nice and crucified.</p>
<p>If anyone is going to the Ajaxian conference in Boston next week (Sept. 29th &#8211; Oct. 1st) and would like to hang out and shoot the shit feel free to drop your email here and I&#8217;ll get in touch.</p>
<p>For those interested in learning more about jQuery <a href="http://jquery.com/">jQuery homepage</a>.</p>
<p>Once again, hope this helps, and sorry it&#8217;s so damn long ;)</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2007/07/11458/" rel="bookmark">All Your Mac Are Belong to Us: How to Easily Reset an OSX Password</a></li><li><a href="http://uneasysilence.com/archive/2005/06/3445/" rel="bookmark">Beautiful client-side AJAX for Del.icio.us</a></li><li><a href="http://uneasysilence.com/archive/2007/02/9498/" rel="bookmark">Google is preparing a web based presentation service</a></li><li><a href="http://uneasysilence.com/archive/2005/12/4871/" rel="bookmark">Retrotastic: Run BASIC in your web browser!</a></li><li><a href="http://uneasysilence.com/archive/2009/04/13977/" rel="bookmark">Accidental Coupon Code Cost 11,000 Pizzas</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://uneasysilence.com/archive/2008/09/13467/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lobster &#8220;Claw&#8221; Game</title>
		<link>http://uneasysilence.com/archive/2008/05/13188/</link>
		<comments>http://uneasysilence.com/archive/2008/05/13188/#comments</comments>
		<pubDate>Wed, 07 May 2008 19:55:35 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Geeky]]></category>

		<guid isPermaLink="false">http://uneasysilence.com/?p=13188</guid>
		<description><![CDATA[<p><center><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/p5HY4hy6HlE&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/p5HY4hy6HlE&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></center></p>
<p>It&#8217;s the claw game, only instead of toys&#8230;. You get Lobsters.  Only in Japan!  I&#8217;ll leave the rest up to the commenters!</p>
<p><a href="http://www.weirdasianews.com/2008/05/06/bizarre-japanese-arcade-game-live-lobster-catcher/">Read More</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2007/07/11366/" rel="bookmark">Japanese Tetris proves the rest of the world is still boring</a></li><li><a href="http://uneasysilence.com/archive/2007/01/9066/" rel="bookmark">Sometimes Fan Made Commercials are Better then the Real Thing</a></li><li><a href="http://uneasysilence.com/archive/2006/10/7954/" rel="bookmark">The really cool Bravia commercial (and how it was made)</a></li><li><a href="http://uneasysilence.com/archive/2006/11/8262/" rel="bookmark">The new PS3 Eye Toy?</a></li><li><a href="http://uneasysilence.com/archive/2006/11/8471/" rel="bookmark">Cosmo Kramer is an Ass, man!</a></li></ul></div><div style="display:block"><small><em><a href="http://uneasysilence.com/archive/2008/05/13188/#comments">Leave A Comment</a></em></small></div>]]></description>
			<content:encoded><![CDATA[<p><center><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/p5HY4hy6HlE&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/p5HY4hy6HlE&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></center></p>
<p>It&#8217;s the claw game, only instead of toys&#8230;. You get Lobsters.  Only in Japan!  I&#8217;ll leave the rest up to the commenters!</p>
<p><a href="http://www.weirdasianews.com/2008/05/06/bizarre-japanese-arcade-game-live-lobster-catcher/">Read More</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2007/07/11366/" rel="bookmark">Japanese Tetris proves the rest of the world is still boring</a></li><li><a href="http://uneasysilence.com/archive/2007/01/9066/" rel="bookmark">Sometimes Fan Made Commercials are Better then the Real Thing</a></li><li><a href="http://uneasysilence.com/archive/2006/10/7954/" rel="bookmark">The really cool Bravia commercial (and how it was made)</a></li><li><a href="http://uneasysilence.com/archive/2006/11/8262/" rel="bookmark">The new PS3 Eye Toy?</a></li><li><a href="http://uneasysilence.com/archive/2006/11/8471/" rel="bookmark">Cosmo Kramer is an Ass, man!</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://uneasysilence.com/archive/2008/05/13188/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Docs Now Offline</title>
		<link>http://uneasysilence.com/archive/2008/03/13112/</link>
		<comments>http://uneasysilence.com/archive/2008/03/13112/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 20:10:21 +0000</pubDate>
		<dc:creator>Evan</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Downloadable]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://uneasysilence.com/archive/2008/03/13112/</guid>
		<description><![CDATA[<p><script type="text/javascript" src="http://service.twistage.com/api/script"></script><script type="text/javascript">viewNode("3ce7a60a2d35e", {"player_profile": "fctv-homepage", "width": "460", "height": "297"});</script></p>
<p>Google Docs is finally allowing users to edit documents offline using <a href="http://gears.google.com/">Google Gears</a>. Initially documents alone will be editable and spreadsheets will be readable with presentation documents to get similar functionality down the road. Online word editors like Google Docs, while useful, still have the stumbling block of people not being able to get their work done without an internet connection.</p>
<p>Interestingly enough, competitor in this space Zoho has had offline functionality with its word-processing application for a while now, <a href="http://writer.zoho.com/index.do">Zoho Writer</a>. Is this welcome news to anyone?</p>
<p><a href="http://googledocs.blogspot.com/2008/03/bringing-cloud-with-you.html"><br />
Read More</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2007/05/10908/" rel="bookmark">Google Gears:  Take Your Online Apps Offline</a></li><li><a href="http://uneasysilence.com/archive/2006/11/8561/" rel="bookmark">Google Docs supports email file uploads</a></li><li><a href="http://uneasysilence.com/archive/2006/10/7866/" rel="bookmark">docs.google.com - Google's web-based office materializes</a></li><li><a href="http://uneasysilence.com/archive/2007/09/12252/" rel="bookmark">Google's Feature Presentation</a></li><li><a href="http://uneasysilence.com/archive/2006/04/5961/" rel="bookmark">Google Dark - White is so boring</a></li></ul></div><div style="display:block"><small><em><a href="http://uneasysilence.com/archive/2008/03/13112/#comments">Leave A Comment</a></em></small></div>]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript" src="http://service.twistage.com/api/script"></script><script type="text/javascript">viewNode("3ce7a60a2d35e", {"player_profile": "fctv-homepage", "width": "460", "height": "297"});</script></p>
<p>Google Docs is finally allowing users to edit documents offline using <a href="http://gears.google.com/">Google Gears</a>. Initially documents alone will be editable and spreadsheets will be readable with presentation documents to get similar functionality down the road. Online word editors like Google Docs, while useful, still have the stumbling block of people not being able to get their work done without an internet connection.</p>
<p>Interestingly enough, competitor in this space Zoho has had offline functionality with its word-processing application for a while now, <a href="http://writer.zoho.com/index.do">Zoho Writer</a>. Is this welcome news to anyone?</p>
<p><a href="http://googledocs.blogspot.com/2008/03/bringing-cloud-with-you.html"><br />
Read More</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2007/05/10908/" rel="bookmark">Google Gears:  Take Your Online Apps Offline</a></li><li><a href="http://uneasysilence.com/archive/2006/11/8561/" rel="bookmark">Google Docs supports email file uploads</a></li><li><a href="http://uneasysilence.com/archive/2006/10/7866/" rel="bookmark">docs.google.com - Google's web-based office materializes</a></li><li><a href="http://uneasysilence.com/archive/2007/09/12252/" rel="bookmark">Google's Feature Presentation</a></li><li><a href="http://uneasysilence.com/archive/2006/04/5961/" rel="bookmark">Google Dark - White is so boring</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://uneasysilence.com/archive/2008/03/13112/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Kanye + Tron = Crazy Delicious</title>
		<link>http://uneasysilence.com/archive/2008/03/13090/</link>
		<comments>http://uneasysilence.com/archive/2008/03/13090/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 01:11:57 +0000</pubDate>
		<dc:creator>Evan</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Geeky]]></category>

		<guid isPermaLink="false">http://uneasysilence.com/archive/2008/03/13090/</guid>
		<description><![CDATA[<p><object type="application/x-shockwave-flash" width="460" height="306" data="http://www.vimeo.com/moogaloop.swf?clip_id=819262&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF"><param name="quality" value="best" /><param name="allowfullscreen" value="true" /><param name="scale" value="showAll" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=819262&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF" /></object><br /><a href="http://www.vimeo.com/819262/l:embed_819262">GRADUATION ALBUM LISTENING EXPERIENCE PT. 3 &#8211; I WONDER</a> from <a href="http://www.vimeo.com/user369505/l:embed_819262">kwest</a> on <a href="http://vimeo.com/l:embed_819262">Vimeo</a>.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2008/07/13291/" rel="bookmark">macTV:  Introducing the iPhone 3G Video</a></li><li><a href="http://uneasysilence.com/archive/2008/12/13637/" rel="bookmark">The Sky Is Falling:  Apple Antivirus and Earphones</a></li><li><a href="http://uneasysilence.com/archive/2008/07/13289/" rel="bookmark">Best iPhone Quote of The Day, and Video of The New Pwnage Tool that Unlocks and Jailbreaks iPhone 2.0</a></li><li><a href="http://uneasysilence.com/archive/2009/08/14381/" rel="bookmark">Times Squares' Secrets:  LED Advertising and One Times Square Building is Empty</a></li><li><a href="http://uneasysilence.com/archive/2006/04/6169/" rel="bookmark">Roomba's day in NYC</a></li></ul></div><div style="display:block"><small><em><a href="http://uneasysilence.com/archive/2008/03/13090/#comments">Leave A Comment</a></em></small></div>]]></description>
			<content:encoded><![CDATA[<p><object type="application/x-shockwave-flash" width="460" height="306" data="http://www.vimeo.com/moogaloop.swf?clip_id=819262&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF"><param name="quality" value="best" /><param name="allowfullscreen" value="true" /><param name="scale" value="showAll" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=819262&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF" /></object><br /><a href="http://www.vimeo.com/819262/l:embed_819262">GRADUATION ALBUM LISTENING EXPERIENCE PT. 3 &#8211; I WONDER</a> from <a href="http://www.vimeo.com/user369505/l:embed_819262">kwest</a> on <a href="http://vimeo.com/l:embed_819262">Vimeo</a>.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2008/07/13291/" rel="bookmark">macTV:  Introducing the iPhone 3G Video</a></li><li><a href="http://uneasysilence.com/archive/2008/12/13637/" rel="bookmark">The Sky Is Falling:  Apple Antivirus and Earphones</a></li><li><a href="http://uneasysilence.com/archive/2008/07/13289/" rel="bookmark">Best iPhone Quote of The Day, and Video of The New Pwnage Tool that Unlocks and Jailbreaks iPhone 2.0</a></li><li><a href="http://uneasysilence.com/archive/2009/08/14381/" rel="bookmark">Times Squares' Secrets:  LED Advertising and One Times Square Building is Empty</a></li><li><a href="http://uneasysilence.com/archive/2006/04/6169/" rel="bookmark">Roomba's day in NYC</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://uneasysilence.com/archive/2008/03/13090/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update Multiple Sites With Ping.fm</title>
		<link>http://uneasysilence.com/archive/2008/03/13071/</link>
		<comments>http://uneasysilence.com/archive/2008/03/13071/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 06:06:56 +0000</pubDate>
		<dc:creator>Evan</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Stupid]]></category>

		<guid isPermaLink="false">http://uneasysilence.com/archive/2008/03/13071/</guid>
		<description><![CDATA[<p><img src='http://uneasysilence.com/media/2008/03/logo.jpg' alt='logo.jpg' />I was looking through posts by my Pownce friends today and found someone was complaining about people testing posting from Ping.fm, so I had to check it out. The idea is a simple one &#8212; that posting the same thing to multiple sites would grow tedious and ping.fm would help alleviate this issue. Setting up an account is no hassle at all and configuring your accounts is as simple as putting in your login information. Hooking up my Facebook profile took a little more, but it&#8217;s just a matter of an application being installed.</p>
<p><img src='http://uneasysilence.com/media/2008/03/ping.jpg' alt='ping.jpg' /></p>
<p>After configuring my Facebook, Pownce and Tumblr accounts it was time to test it out. You can post from the site directly and by default, messages go to all services you enable which can be good and bad. While I may have no problem blasting the same thing to Pownce, Jaiku and Twitter, I really classify my Facebook status updates as being totally different and personal, not to mention something I post for Tumblr may end up being too many characters for Facebook. Also with Facebook, messages still stupidly have your name at the very beginning of messages, so posting &#8220;I had a great chicken sandwich for dinner.&#8221; still gives you &#8220;Evan I had a great chicken sandwich for dinner.&#8221; It&#8217;s pretty annoying for the OCD grammar Nazis like myself who want Facebook status updates to appear in proper English.</p>
<p><img src='http://uneasysilence.com/media/2008/03/ping-triggers.jpg' alt='ping-triggers.jpg' /></p>
<p>The site does accept what it calls &#8220;triggers&#8221; which is a way to post to specific services using a code to prefix a message, such as @fb to update just Facebook and none of your other services. So, using the @fb trigger and editing your messages to accommodate your name at the beginning of updates is one workaround to the problem mentioned in the paragraph prior.</p>
<p>Sure, the site is trying to save you time by letting you post directly to different services from their site, but what if you don&#8217;t want to be on the ping.fm site at all? You can email updates to a personalized email address you get with your account instead. Even better, I used the AIM bot, adding the contact to my AIM buddies in Digsby, sending the verification code in an IM and instantly I could update Tumblr, Pownce and my Facebook status from within an IM chat. Given the time it would save to go to the different sites individually, this is a welcome addition to my work flow. My only suggestion/problem is that I would really like to edit the &#8220;triggers&#8221; to whatever I want, allowing me to make specific triggers to go to only Tumblr and Pownce as well as editing the triggers that go for Jaiku, etc.</p>
<p>Speaking with Sean over at Ping.fm I&#8217;ve been told that we can look out for an Adobe AIR application, as well as possible Mac and Vista widgets. (I&#8217;ve had nothing absolutely confirmed.) Even if they do get around to doing these things, I&#8217;m so far happy with just the IM bot but with Pownce I can only post messages, not reply to messages or see other posted messages, all things I can do with the official Pownce AIR client.</p>
<p>If you&#8217;re into the Jaiku/Twitter/Pownce/No Social Interaction thing you may want to give this a try, and we got you covered. When signing up, use the code &#8216;<strong>uneasysilence</strong>&#8216; to get into the beta. Invites are limited, so act fast and let us know what you think in the comments.<br />
<a href="http://ping.fm"><br />
Read More</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2008/04/13171/" rel="bookmark">Facebook Chat Launches Everywhere</a></li><li><a href="http://uneasysilence.com/archive/2007/01/9217/" rel="bookmark">Facebook Now Allows any Mobile User to Access Facebook Mobile</a></li><li><a href="http://uneasysilence.com/archive/2007/10/12519/" rel="bookmark">Reasons You Might Have Your Facebook Account Disabled</a></li><li><a href="http://uneasysilence.com/archive/2007/10/12477/" rel="bookmark">Google Purchases Jaiku - Still Doesn't Know What It Is.</a></li><li><a href="http://uneasysilence.com/archive/2008/02/12944/" rel="bookmark">Digsby - Manage Your Online Life</a></li></ul></div><div style="display:block"><small><em><a href="http://uneasysilence.com/archive/2008/03/13071/#comments">Leave A Comment</a></em></small></div>]]></description>
			<content:encoded><![CDATA[<p><img src='http://uneasysilence.com/media/2008/03/logo.jpg' alt='logo.jpg' />I was looking through posts by my Pownce friends today and found someone was complaining about people testing posting from Ping.fm, so I had to check it out. The idea is a simple one &#8212; that posting the same thing to multiple sites would grow tedious and ping.fm would help alleviate this issue. Setting up an account is no hassle at all and configuring your accounts is as simple as putting in your login information. Hooking up my Facebook profile took a little more, but it&#8217;s just a matter of an application being installed.</p>
<p><img src='http://uneasysilence.com/media/2008/03/ping.jpg' alt='ping.jpg' /></p>
<p>After configuring my Facebook, Pownce and Tumblr accounts it was time to test it out. You can post from the site directly and by default, messages go to all services you enable which can be good and bad. While I may have no problem blasting the same thing to Pownce, Jaiku and Twitter, I really classify my Facebook status updates as being totally different and personal, not to mention something I post for Tumblr may end up being too many characters for Facebook. Also with Facebook, messages still stupidly have your name at the very beginning of messages, so posting &#8220;I had a great chicken sandwich for dinner.&#8221; still gives you &#8220;Evan I had a great chicken sandwich for dinner.&#8221; It&#8217;s pretty annoying for the OCD grammar Nazis like myself who want Facebook status updates to appear in proper English.</p>
<p><img src='http://uneasysilence.com/media/2008/03/ping-triggers.jpg' alt='ping-triggers.jpg' /></p>
<p>The site does accept what it calls &#8220;triggers&#8221; which is a way to post to specific services using a code to prefix a message, such as @fb to update just Facebook and none of your other services. So, using the @fb trigger and editing your messages to accommodate your name at the beginning of updates is one workaround to the problem mentioned in the paragraph prior.</p>
<p>Sure, the site is trying to save you time by letting you post directly to different services from their site, but what if you don&#8217;t want to be on the ping.fm site at all? You can email updates to a personalized email address you get with your account instead. Even better, I used the AIM bot, adding the contact to my AIM buddies in Digsby, sending the verification code in an IM and instantly I could update Tumblr, Pownce and my Facebook status from within an IM chat. Given the time it would save to go to the different sites individually, this is a welcome addition to my work flow. My only suggestion/problem is that I would really like to edit the &#8220;triggers&#8221; to whatever I want, allowing me to make specific triggers to go to only Tumblr and Pownce as well as editing the triggers that go for Jaiku, etc.</p>
<p>Speaking with Sean over at Ping.fm I&#8217;ve been told that we can look out for an Adobe AIR application, as well as possible Mac and Vista widgets. (I&#8217;ve had nothing absolutely confirmed.) Even if they do get around to doing these things, I&#8217;m so far happy with just the IM bot but with Pownce I can only post messages, not reply to messages or see other posted messages, all things I can do with the official Pownce AIR client.</p>
<p>If you&#8217;re into the Jaiku/Twitter/Pownce/No Social Interaction thing you may want to give this a try, and we got you covered. When signing up, use the code &#8216;<strong>uneasysilence</strong>&#8216; to get into the beta. Invites are limited, so act fast and let us know what you think in the comments.<br />
<a href="http://ping.fm"><br />
Read More</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2008/04/13171/" rel="bookmark">Facebook Chat Launches Everywhere</a></li><li><a href="http://uneasysilence.com/archive/2007/01/9217/" rel="bookmark">Facebook Now Allows any Mobile User to Access Facebook Mobile</a></li><li><a href="http://uneasysilence.com/archive/2007/10/12519/" rel="bookmark">Reasons You Might Have Your Facebook Account Disabled</a></li><li><a href="http://uneasysilence.com/archive/2007/10/12477/" rel="bookmark">Google Purchases Jaiku - Still Doesn't Know What It Is.</a></li><li><a href="http://uneasysilence.com/archive/2008/02/12944/" rel="bookmark">Digsby - Manage Your Online Life</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://uneasysilence.com/archive/2008/03/13071/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Safari 3.1 Available</title>
		<link>http://uneasysilence.com/archive/2008/03/13069/</link>
		<comments>http://uneasysilence.com/archive/2008/03/13069/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 16:27:16 +0000</pubDate>
		<dc:creator>Evan</dc:creator>
				<category><![CDATA[Downloadable]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://uneasysilence.com/archive/2008/03/13069/</guid>
		<description><![CDATA[<p>Apple has released version 3.1 of their Safari internet browser for both Mac and Windows. There are no real visible changes to be seen when you get the update, with the only updates worth mentioning being support for CSS Animations, CSS WebFonts and HTML 5&#8217;s audio and video tags. I wasn&#8217;t prompted for an automatic update, so I suspect some people may not know. You can run Apple&#8217;s software update program to get the update or just download the latest version from Apple&#8217;s site.</p>
<p><a href="http://apple.com/safari<br />
">Read More</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2007/06/11111/" rel="bookmark">Safari for Windows Updated</a></li><li><a href="http://uneasysilence.com/archive/2007/06/11060/" rel="bookmark">Safari beta for Windows released!</a></li><li><a href="http://uneasysilence.com/archive/2007/05/10891/" rel="bookmark">iTunes 7.2 is Released:  Support for DRM free music</a></li><li><a href="http://uneasysilence.com/archive/2007/01/9192/" rel="bookmark">Safari browser for Windows, Mozilla thinks so</a></li><li><a href="http://uneasysilence.com/archive/2007/01/9187/" rel="bookmark">Chinswing updates with in-browser recording</a></li></ul></div><div style="display:block"><small><em><a href="http://uneasysilence.com/archive/2008/03/13069/#comments">Leave A Comment</a></em></small></div>]]></description>
			<content:encoded><![CDATA[<p>Apple has released version 3.1 of their Safari internet browser for both Mac and Windows. There are no real visible changes to be seen when you get the update, with the only updates worth mentioning being support for CSS Animations, CSS WebFonts and HTML 5&#8217;s audio and video tags. I wasn&#8217;t prompted for an automatic update, so I suspect some people may not know. You can run Apple&#8217;s software update program to get the update or just download the latest version from Apple&#8217;s site.</p>
<p><a href="http://apple.com/safari<br />
">Read More</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2007/06/11111/" rel="bookmark">Safari for Windows Updated</a></li><li><a href="http://uneasysilence.com/archive/2007/06/11060/" rel="bookmark">Safari beta for Windows released!</a></li><li><a href="http://uneasysilence.com/archive/2007/05/10891/" rel="bookmark">iTunes 7.2 is Released:  Support for DRM free music</a></li><li><a href="http://uneasysilence.com/archive/2007/01/9192/" rel="bookmark">Safari browser for Windows, Mozilla thinks so</a></li><li><a href="http://uneasysilence.com/archive/2007/01/9187/" rel="bookmark">Chinswing updates with in-browser recording</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://uneasysilence.com/archive/2008/03/13069/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jill Bolte Taylor: My stroke of insight</title>
		<link>http://uneasysilence.com/archive/2008/03/13068/</link>
		<comments>http://uneasysilence.com/archive/2008/03/13068/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 14:18:36 +0000</pubDate>
		<dc:creator>Evan</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://uneasysilence.com/archive/2008/03/13068/</guid>
		<description><![CDATA[<p><!--cut and paste--><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="432" height="285" id="VE_Player" align="middle"><param name="movie" value="http://static.videoegg.com/ted/flash/loader.swf"></param><param NAME="FlashVars" VALUE="bgColor=FFFFFF&#038;file=http://static.videoegg.com/ted/movies/JILLTAYLOR-2008-2_high.flv&#038;autoPlay=false&#038;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&#038;forcePlay=false&#038;logo=&#038;allowFullscreen=true"></param><param name="quality" value="high"></param><param name="allowScriptAccess" value="always"></param><param name="bgcolor" value="#FFFFFF"></param><param name="scale" value="noscale"></param><param name="wmode" value="window"><embed src="http://static.videoegg.com/ted/flash/loader.swf" FlashVars="bgColor=FFFFFF&#038;file=http://static.videoegg.com/ted/movies/JILLTAYLOR-2008-2_high.flv&#038;autoPlay=false&#038;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&#038;forcePlay=false&#038;logo=&#038;allowFullscreen=true" quality="high" allowScriptAccess="always" bgcolor="#FFFFFF" scale="noscale" wmode="window" width="432" height="285" name="VE_Player" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></param></object></p>
<blockquote><p>Neuroanatomist Jill Bolte Taylor had an opportunity few brain scientists would wish for: One morning, she realized she was having a massive stroke. As it happened &#8212; as she felt her brain functions slip away one by one, speech, movement, understanding &#8212; she studied and remembered every moment. This is a powerful story about how our brains define us and connect us to the world and to one another.</p></blockquote>
<p>Thoughts?</p>
<p><a href="http://www.ted.com/index.php/talks/view/id/229">Read More</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2008/06/13213/" rel="bookmark">'Why we know less than ever about the world'</a></li><li><a href="http://uneasysilence.com/archive/2008/01/12798/" rel="bookmark">New Years Resolution: Open Your Mind</a></li><li><a href="http://uneasysilence.com/archive/2006/09/7743/" rel="bookmark">NEXTfest: Power Assist Suit</a></li><li><a href="http://uneasysilence.com/archive/2006/09/7753/" rel="bookmark">NEXTfest: Robotic Hand</a></li><li><a href="http://uneasysilence.com/archive/2006/10/7803/" rel="bookmark">Wow, We *love* DL.tv</a></li></ul></div><div style="display:block"><small><em><a href="http://uneasysilence.com/archive/2008/03/13068/#comments">Leave A Comment</a></em></small></div>]]></description>
			<content:encoded><![CDATA[<p><!--cut and paste--><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="432" height="285" id="VE_Player" align="middle"><param name="movie" value="http://static.videoegg.com/ted/flash/loader.swf"></param><param NAME="FlashVars" VALUE="bgColor=FFFFFF&#038;file=http://static.videoegg.com/ted/movies/JILLTAYLOR-2008-2_high.flv&#038;autoPlay=false&#038;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&#038;forcePlay=false&#038;logo=&#038;allowFullscreen=true"></param><param name="quality" value="high"></param><param name="allowScriptAccess" value="always"></param><param name="bgcolor" value="#FFFFFF"></param><param name="scale" value="noscale"></param><param name="wmode" value="window"><embed src="http://static.videoegg.com/ted/flash/loader.swf" FlashVars="bgColor=FFFFFF&#038;file=http://static.videoegg.com/ted/movies/JILLTAYLOR-2008-2_high.flv&#038;autoPlay=false&#038;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&#038;forcePlay=false&#038;logo=&#038;allowFullscreen=true" quality="high" allowScriptAccess="always" bgcolor="#FFFFFF" scale="noscale" wmode="window" width="432" height="285" name="VE_Player" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></param></object></p>
<blockquote><p>Neuroanatomist Jill Bolte Taylor had an opportunity few brain scientists would wish for: One morning, she realized she was having a massive stroke. As it happened &#8212; as she felt her brain functions slip away one by one, speech, movement, understanding &#8212; she studied and remembered every moment. This is a powerful story about how our brains define us and connect us to the world and to one another.</p></blockquote>
<p>Thoughts?</p>
<p><a href="http://www.ted.com/index.php/talks/view/id/229">Read More</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2008/06/13213/" rel="bookmark">'Why we know less than ever about the world'</a></li><li><a href="http://uneasysilence.com/archive/2008/01/12798/" rel="bookmark">New Years Resolution: Open Your Mind</a></li><li><a href="http://uneasysilence.com/archive/2006/09/7743/" rel="bookmark">NEXTfest: Power Assist Suit</a></li><li><a href="http://uneasysilence.com/archive/2006/09/7753/" rel="bookmark">NEXTfest: Robotic Hand</a></li><li><a href="http://uneasysilence.com/archive/2006/10/7803/" rel="bookmark">Wow, We *love* DL.tv</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://uneasysilence.com/archive/2008/03/13068/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YouTube Releases New APIs</title>
		<link>http://uneasysilence.com/archive/2008/03/13057/</link>
		<comments>http://uneasysilence.com/archive/2008/03/13057/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 17:26:11 +0000</pubDate>
		<dc:creator>Evan</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://uneasysilence.com/archive/2008/03/13057/</guid>
		<description><![CDATA[<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/u1zgFlCw8Aw&#038;rel=1&#038;border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/u1zgFlCw8Aw&#038;rel=1&#038;border=0" type="application/x-shockwave-flash" wmode="transparent"width="460" height="355"></embed>YouTube has released new APIs allowing people to do a lot more with the site. While this means nothing, currently, for me and anyone else whose technical prowess is little more than using a blog WYSIWYG editor, what is done with the APIs should be worth looking out for.&#160; According to the YouTube blog, the possibilities are endless with the new tools available.
<p>&#160;</p>
<ul>
<li>Upload videos and video responses to YouTube </li>
<li>Add/Edit user and video metadata (titles, descriptions, ratings, comments, favorites, contacts, etc) </li>
<li>Fetch localized standard feeds (most viewed, top rated, etc.) for 18 international locales </li>
<li>Perform custom queries optimized for 18 international locales </li>
<li>Customize player UI and control video playback (pause, play, stop, etc.) through software </li>
</ul>
<p><font color="#6c6c6c"></font></p>
<p><a href="http://www.spore.com/">Spore</a>, the highly anticipated game by &#8216;The Sims&#8217; creator Will Wright will allow users to create their own creatures, import them into the game and upload video of their creatures directly to YouTube from within the game. [<a href="http://googleblog.blogspot.com/2008/03/youtube-finds-its-way-into-spore.html">read more</a>]</p>
<p>That alone is actually a pretty cool feature and that&#8217;s just the start. We&#8217;ll be sure to see a lot more interesting things down the line with the new APIs. </p>
<p>&#160;</p>
<p><a href="http://www.youtube.com/blog?entry=yFlR6EEySg8">Read More</a></p>
<p><font color="#6c6c6c">&#160;</font></p>
<p></object></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2008/03/13063/" rel="bookmark">Higher Quality YouTube Videos Now Available</a></li><li><a href="http://uneasysilence.com/archive/2007/01/9066/" rel="bookmark">Sometimes Fan Made Commercials are Better then the Real Thing</a></li><li><a href="http://uneasysilence.com/archive/2007/10/12557/" rel="bookmark">Line Riders Are Freaks</a></li><li><a href="http://uneasysilence.com/archive/2007/03/9991/" rel="bookmark">What did you buy on eBay?</a></li><li><a href="http://uneasysilence.com/archive/2007/06/11040/" rel="bookmark">LED Art Fan spins custom graphics</a></li></ul></div><div style="display:block"><small><em><a href="http://uneasysilence.com/archive/2008/03/13057/#comments">Leave A Comment</a></em></small></div>]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/u1zgFlCw8Aw&#038;rel=1&#038;border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/u1zgFlCw8Aw&#038;rel=1&#038;border=0" type="application/x-shockwave-flash" wmode="transparent"width="460" height="355"></embed>YouTube has released new APIs allowing people to do a lot more with the site. While this means nothing, currently, for me and anyone else whose technical prowess is little more than using a blog WYSIWYG editor, what is done with the APIs should be worth looking out for.&#160; According to the YouTube blog, the possibilities are endless with the new tools available.
<p>&#160;</p>
<ul>
<li>Upload videos and video responses to YouTube </li>
<li>Add/Edit user and video metadata (titles, descriptions, ratings, comments, favorites, contacts, etc) </li>
<li>Fetch localized standard feeds (most viewed, top rated, etc.) for 18 international locales </li>
<li>Perform custom queries optimized for 18 international locales </li>
<li>Customize player UI and control video playback (pause, play, stop, etc.) through software </li>
</ul>
<p><font color="#6c6c6c"></font></p>
<p><a href="http://www.spore.com/">Spore</a>, the highly anticipated game by &#8216;The Sims&#8217; creator Will Wright will allow users to create their own creatures, import them into the game and upload video of their creatures directly to YouTube from within the game. [<a href="http://googleblog.blogspot.com/2008/03/youtube-finds-its-way-into-spore.html">read more</a>]</p>
<p>That alone is actually a pretty cool feature and that&#8217;s just the start. We&#8217;ll be sure to see a lot more interesting things down the line with the new APIs. </p>
<p>&#160;</p>
<p><a href="http://www.youtube.com/blog?entry=yFlR6EEySg8">Read More</a></p>
<p><font color="#6c6c6c">&#160;</font></p>
<p></object></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2008/03/13063/" rel="bookmark">Higher Quality YouTube Videos Now Available</a></li><li><a href="http://uneasysilence.com/archive/2007/01/9066/" rel="bookmark">Sometimes Fan Made Commercials are Better then the Real Thing</a></li><li><a href="http://uneasysilence.com/archive/2007/10/12557/" rel="bookmark">Line Riders Are Freaks</a></li><li><a href="http://uneasysilence.com/archive/2007/03/9991/" rel="bookmark">What did you buy on eBay?</a></li><li><a href="http://uneasysilence.com/archive/2007/06/11040/" rel="bookmark">LED Art Fan spins custom graphics</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://uneasysilence.com/archive/2008/03/13057/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8216;Retardify&#8217; Your Words</title>
		<link>http://uneasysilence.com/archive/2008/03/13049/</link>
		<comments>http://uneasysilence.com/archive/2008/03/13049/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 05:55:04 +0000</pubDate>
		<dc:creator>Evan</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Geeky]]></category>

		<guid isPermaLink="false">http://uneasysilence.com/archive/2008/03/13049/</guid>
		<description><![CDATA[<p><a href='http://uneasysilence.com/media/2008/03/uni.jpg' title='uni.jpg'><img src='http://uneasysilence.com/media/2008/03/uni.jpg' alt='uni.jpg' /></a></p>
<p>Believe me when I say I’m no <a href="http://www.urbandictionary.com/define.php?term=grammar+nazi">Grammar Nazi</a>, but it irks me to no end seeing some of the atrocities being passed off as English on the internet. I understand in the haste of typing we might publish some grammatically questionable sentences (see: this blog) but when it happens over and over again people need to take notice.</p>
<p>Of course, I don’t see myself teaching every forum user the difference between “its” and “it’s” so if I can’t beat them I’ll join them. Unintelligencer is a service, for lack of a better term that helps wage the war on literacy. Just copy and paste some text, select what level of unintelligence you want and press “The Button.” What you get is, well, I’ve made this post unintelligent for your consumption. Hit the read more button to take a look.</p>
<p><a href="http://unintelligencer.com/">Try It<br />
</a><br />
<span id="more-13049"></span><br />
beleive mee wen i $@y i’m noah grammar nazi, butt itz irkz0rz me tew noes endz sein sum o&#8217; tha atrocitiez bein past awf as 3nglish oan da intarweb. i unndestanz ins thee haste ov typin wii might publish som grammatically kwestionable sentences (see: thys blog) but wen ti happens ovr en over again peopel needs to takes notice.</p>
<p> cource, i don’t see myslef teachin every phorum user tje difference bw “its” an “it’s” sew iffn i cans’t beat thems i’ll join em. unintelligencer are service, phoar lack of a better term dat helps wage thge war onna literacy. juss copy &#038; paste smoe tekst, select wut level of unintelligence yall wont + press “7he button.” what joo git be, well, i’ve made htis powst unintelligent pho ur consumption.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2007/11/12646/" rel="bookmark">Forget Formatted Text, Paste Plain Text Into Microsoft Word</a></li><li><a href="http://uneasysilence.com/archive/2007/02/9784/" rel="bookmark">A Cellphone That Will Tell Others to Bug Off</a></li><li><a href="http://uneasysilence.com/archive/2008/01/12806/" rel="bookmark">Add A Pingie FeedFlare to Your Feed</a></li><li><a href="http://uneasysilence.com/archive/2008/03/13043/" rel="bookmark">Photoshop Disasters</a></li><li><a href="http://uneasysilence.com/archive/2007/11/12615/" rel="bookmark">Charcoal Toothpaste</a></li></ul></div><div style="display:block"><small><em><a href="http://uneasysilence.com/archive/2008/03/13049/#comments">Leave A Comment</a></em></small></div>]]></description>
			<content:encoded><![CDATA[<p><a href='http://uneasysilence.com/media/2008/03/uni.jpg' title='uni.jpg'><img src='http://uneasysilence.com/media/2008/03/uni.jpg' alt='uni.jpg' /></a></p>
<p>Believe me when I say I’m no <a href="http://www.urbandictionary.com/define.php?term=grammar+nazi">Grammar Nazi</a>, but it irks me to no end seeing some of the atrocities being passed off as English on the internet. I understand in the haste of typing we might publish some grammatically questionable sentences (see: this blog) but when it happens over and over again people need to take notice.</p>
<p>Of course, I don’t see myself teaching every forum user the difference between “its” and “it’s” so if I can’t beat them I’ll join them. Unintelligencer is a service, for lack of a better term that helps wage the war on literacy. Just copy and paste some text, select what level of unintelligence you want and press “The Button.” What you get is, well, I’ve made this post unintelligent for your consumption. Hit the read more button to take a look.</p>
<p><a href="http://unintelligencer.com/">Try It<br />
</a><br />
<span id="more-13049"></span><br />
beleive mee wen i $@y i’m noah grammar nazi, butt itz irkz0rz me tew noes endz sein sum o&#8217; tha atrocitiez bein past awf as 3nglish oan da intarweb. i unndestanz ins thee haste ov typin wii might publish som grammatically kwestionable sentences (see: thys blog) but wen ti happens ovr en over again peopel needs to takes notice.</p>
<p> cource, i don’t see myslef teachin every phorum user tje difference bw “its” an “it’s” sew iffn i cans’t beat thems i’ll join em. unintelligencer are service, phoar lack of a better term dat helps wage thge war onna literacy. juss copy &#038; paste smoe tekst, select wut level of unintelligence yall wont + press “7he button.” what joo git be, well, i’ve made htis powst unintelligent pho ur consumption.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2007/11/12646/" rel="bookmark">Forget Formatted Text, Paste Plain Text Into Microsoft Word</a></li><li><a href="http://uneasysilence.com/archive/2007/02/9784/" rel="bookmark">A Cellphone That Will Tell Others to Bug Off</a></li><li><a href="http://uneasysilence.com/archive/2008/01/12806/" rel="bookmark">Add A Pingie FeedFlare to Your Feed</a></li><li><a href="http://uneasysilence.com/archive/2008/03/13043/" rel="bookmark">Photoshop Disasters</a></li><li><a href="http://uneasysilence.com/archive/2007/11/12615/" rel="bookmark">Charcoal Toothpaste</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://uneasysilence.com/archive/2008/03/13049/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dingbat Fonts</title>
		<link>http://uneasysilence.com/archive/2008/03/13046/</link>
		<comments>http://uneasysilence.com/archive/2008/03/13046/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 19:30:41 +0000</pubDate>
		<dc:creator>Evan</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Geeky]]></category>

		<guid isPermaLink="false">http://uneasysilence.com/archive/2008/03/13046/</guid>
		<description><![CDATA[<p><a href='http://uneasysilence.com/media/2008/03/bat.jpg' title='bat.jpg'><img src='http://uneasysilence.com/media/2008/03/bat.jpg' alt='bat.jpg' /></a></p>
<p>bittbox has a post on a bunch of Dingbat fonts that you might find useful, especially if you&#8217;re a designer. They may also come in handy if you want to type something for someone but don&#8217;t want them to know what exactly you&#8217;re saying.</p>
<p><a href="http://www.bittbox.com/fonts/dingbats-roundup-16-incredibly-detailed-useful-and-free-dingbat-fonts/">Read More</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2006/09/7489/" rel="bookmark">Dingbat fonts - Who uses these anyways?</a></li><li><a href="http://uneasysilence.com/archive/2007/05/10539/" rel="bookmark">Fontify Yourself with Free Fonts</a></li><li><a href="http://uneasysilence.com/archive/2006/04/5930/" rel="bookmark">All the Fonts you could ever want</a></li><li><a href="http://uneasysilence.com/archive/2005/09/4219/" rel="bookmark">Typetester - Compare fonts side-by-side</a></li><li><a href="http://uneasysilence.com/archive/2005/07/3825/" rel="bookmark">Get the Microsoft 'Vista' fonts</a></li></ul></div><div style="display:block"><small><em><a href="http://uneasysilence.com/archive/2008/03/13046/#comments">Leave A Comment</a></em></small></div>]]></description>
			<content:encoded><![CDATA[<p><a href='http://uneasysilence.com/media/2008/03/bat.jpg' title='bat.jpg'><img src='http://uneasysilence.com/media/2008/03/bat.jpg' alt='bat.jpg' /></a></p>
<p>bittbox has a post on a bunch of Dingbat fonts that you might find useful, especially if you&#8217;re a designer. They may also come in handy if you want to type something for someone but don&#8217;t want them to know what exactly you&#8217;re saying.</p>
<p><a href="http://www.bittbox.com/fonts/dingbats-roundup-16-incredibly-detailed-useful-and-free-dingbat-fonts/">Read More</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://uneasysilence.com/archive/2006/09/7489/" rel="bookmark">Dingbat fonts - Who uses these anyways?</a></li><li><a href="http://uneasysilence.com/archive/2007/05/10539/" rel="bookmark">Fontify Yourself with Free Fonts</a></li><li><a href="http://uneasysilence.com/archive/2006/04/5930/" rel="bookmark">All the Fonts you could ever want</a></li><li><a href="http://uneasysilence.com/archive/2005/09/4219/" rel="bookmark">Typetester - Compare fonts side-by-side</a></li><li><a href="http://uneasysilence.com/archive/2005/07/3825/" rel="bookmark">Get the Microsoft 'Vista' fonts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://uneasysilence.com/archive/2008/03/13046/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
