<?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>Eric Biven&#039;s Blog &#187; GreaseMonkey</title>
	<atom:link href="http://eric.biven.us/category/greasemonkey/feed/" rel="self" type="application/rss+xml" />
	<link>http://eric.biven.us</link>
	<description>...professional nerd-speak translator</description>
	<lastBuildDate>Sun, 04 Sep 2011 21:31:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>My &quot;GMail Multiple From Address Extensions&quot; Greasemonkey Script Goes Over 1,000 Downloads</title>
		<link>http://eric.biven.us/2008/11/27/my-gmail-multiple-from-address-extensions-greasemonkey-script-goes-over-1000-downloads/</link>
		<comments>http://eric.biven.us/2008/11/27/my-gmail-multiple-from-address-extensions-greasemonkey-script-goes-over-1000-downloads/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 07:11:46 +0000</pubDate>
		<dc:creator>Eric Biven</dc:creator>
				<category><![CDATA[GreaseMonkey]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[GMail Multiple From Address Extensions]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://eric.biven.us/?p=186</guid>
		<description><![CDATA[At the request of another mostly anonymous Internet user I spent some time and knocked out a simple little addon for GMail that I oh-so-creatively named &#8220;GMail Multiple From Address Extensions&#8220;.  While the title may not be catchy, &#8220;wmblewett&#8221;&#8216;s idea certainly seems to be.  In the first two days the script was widely available it [...]]]></description>
			<content:encoded><![CDATA[<p>At the request of another mostly anonymous Internet user I spent some time and knocked out a simple little addon for GMail that I oh-so-creatively named &#8220;<a href="http://userscripts.org/scripts/show/37250" target="_blank">GMail Multiple From Address Extensions</a>&#8220;.  While the title may not be catchy, &#8220;wmblewett&#8221;&#8216;s idea certainly seems to be.  In the first two days the script was widely available it has made a small splash and garnered over 1,000 downloads.</p>
<p>The script itself is very simple.  For users who have multiple email accounts set up in their GMail account, when you go to send a message it pops up a warning telling you which address you&#8217;re sending from and gives you the option of canceling or continuing.  You can visit the script&#8217;s homepage at UserScripts.org to install it or to see any potential future enhancements.</p>
<p>As these types of projects generally do, this one wound up being a really good learning experience for me, as chronicled in <a title="Using the GMail Greasemonkey API and Succeeding: My Workaround" href="http://eric.biven.us/2008/11/25/using-the-gmail-greasemonkey-api-and-succeeding-my-workaround/" target="_self">this earlier post</a>.  So, thanks &#8220;wmblewett&#8221;.  I hope you enjoy the script as much as I enjoyed the experience writing it.</p>
<p>Now, back to work on those extended features that have been requested.</p>
]]></content:encoded>
			<wfw:commentRss>http://eric.biven.us/2008/11/27/my-gmail-multiple-from-address-extensions-greasemonkey-script-goes-over-1000-downloads/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Using the GMail Greasemonkey API and Succeeding: My Workaround</title>
		<link>http://eric.biven.us/2008/11/25/using-the-gmail-greasemonkey-api-and-succeeding-my-workaround/</link>
		<comments>http://eric.biven.us/2008/11/25/using-the-gmail-greasemonkey-api-and-succeeding-my-workaround/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 05:39:07 +0000</pubDate>
		<dc:creator>Eric Biven</dc:creator>
				<category><![CDATA[GreaseMonkey]]></category>
		<category><![CDATA[HowTos]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://eric.biven.us/?p=179</guid>
		<description><![CDATA[The new GMail interface is a giant mass of frames and obfuscated JavaScript.  Knowing this, Google released an API for Greasemonkey authors to use, called the GmailGreasemonkey10API.  Isn&#8217;t that nice of them? Well, don&#8217;t get too excited.  First, it is fairly limited in what it can do.  Its greatest advantage for you is that it [...]]]></description>
			<content:encoded><![CDATA[<p>The new GMail interface is a giant mass of frames and obfuscated JavaScript.  Knowing this, <a title="gmail-greasemonkey API" href="http://code.google.com/p/gmail-greasemonkey/" target="_blank">Google released an API for Greasemonkey authors to use</a>, called the GmailGreasemonkey10API.  Isn&#8217;t that nice of them?</p>
<p>Well, don&#8217;t get too excited.  First, it is fairly limited in what it can do.  Its greatest advantage for you is that it can give you handles to the various frames that it loads things into.  It does also give you some convenience methods for adding elements to the navigation box as well as other methods.</p>
<p>For performance reasons Google doesn&#8217;t load the API on every call to GMail.  It is only loaded if a script asks the API to initialize through a call to gmonkey.load.  This function takes a callback function as the first parameter which according to Google will be called when the API has successfully loaded.  My mileage has varied.  Greatly.</p>
<p>Even testing <a title="GMail View Watcher Script" href="http://code.google.com/p/gmail-greasemonkey/wiki/ArticleGmailViewWatcher" target="_blank">their ultra-simple example script</a> I had serious issues with it not running much more often than it did run.  My own scripts would usually bomb at the same rate.</p>
<p>The issues were generally something to the effect of &#8220;vN is undefined&#8221; (calls to getCanvasElement, an undocumented function) or &#8220;a is undefined&#8221; (calls to registerViewChangeCallback).  Pretty much any short alpha-numeric combination coming up as &#8220;is undefined&#8221; is likely caused by this issue.</p>
<p>After much trial and error I seem to have found a viable work-around to <a title="GmailGreasemonkey10API Issue #32" href="http://code.google.com/p/gmail-greasemonkey/issues/detail?id=32" target="_blank">the issue</a>.  Instead of immediately making calls to the API functions when the load function completes, have it set a window timeout of 500ms.  This seems to resolve nearly all of the problems, though you will still occasionally get a hiccup.  For those occasions, simply catch the error and reload the page.  Is it an ugly hack?  Yes.  Does it work?  Seems to.</p>
<p>Here&#8217;s a quick example:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p179code2'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1792"><td class="code" id="p179code2"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> gmail <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span>
&nbsp;
window.<span style="color: #660066;">addEventListener</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'load'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>unsafeWindow.<span style="color: #660066;">gmonkey</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        unsafeWindow.<span style="color: #660066;">gmonkey</span>.<span style="color: #660066;">load</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'1.0'</span><span style="color: #339933;">,</span> init<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> getCanvas<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
        gmail.<span style="color: #660066;">getCanvasElement</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addEventListener</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'click'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> GM_log<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Worked'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #006600; font-style: italic;">// Could also be a call like:</span>
        gmail.<span style="color: #660066;">registerViewChangeCallback</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> GM_log<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Also works'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000066; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span>ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        GM_log<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'3:'</span><span style="color: #339933;">+</span>ex.<span style="color: #660066;">message</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #006600; font-style: italic;">// This seems like a brutal hack, however the call to getCanvasElement</span>
        <span style="color: #006600; font-style: italic;">// will sometimes fail when the page loads.  If that happens this seems</span>
        <span style="color: #006600; font-style: italic;">// to resolve it eventually.</span>
        window.<span style="color: #660066;">location</span>.<span style="color: #660066;">reload</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> init<span style="color: #009900;">&#40;</span>g<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
        gmail <span style="color: #339933;">=</span> g<span style="color: #339933;">;</span>
        <span style="color: #006600; font-style: italic;">// Calls to the gmail API seem to fail far less often if you wait</span>
        <span style="color: #006600; font-style: italic;">// for a bit to actually start using it.</span>
        window.<span style="color: #660066;">setTimeout</span><span style="color: #009900;">&#40;</span>getCanvas<span style="color: #339933;">,</span> <span style="color: #CC0000;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000066; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span>ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        GM_log<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'1:'</span><span style="color: #339933;">+</span>ex.<span style="color: #660066;">message</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>I used this trick in my <a title="GMail Multiple From Address Extensions" href="http://userscripts.org/scripts/show/37250" target="_blank">GMail Multiple From Address Extensions</a> Greasemonkey script available at Userscripts.org.  I went through several different revisions on that site and probably a dozen more locally before I found this workaround.  So far it seems to work, though I&#8217;d love to hear if anyone has a different experience.</p>
<p>I&#8217;ve also experienced issues with Google&#8217;s scripts not honoring my calls to stopPropagation and preventDefault.  If anyone has any advice there I&#8217;m sure we&#8217;d all be interested.</p>
]]></content:encoded>
			<wfw:commentRss>http://eric.biven.us/2008/11/25/using-the-gmail-greasemonkey-api-and-succeeding-my-workaround/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>&quot;Fix&quot; the New Formatting for Nealz Nuze Pages</title>
		<link>http://eric.biven.us/2008/11/13/fix-the-new-formatting-for-nealz-nuze-pages/</link>
		<comments>http://eric.biven.us/2008/11/13/fix-the-new-formatting-for-nealz-nuze-pages/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 15:38:40 +0000</pubDate>
		<dc:creator>Eric Biven</dc:creator>
				<category><![CDATA[GreaseMonkey]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://eric.biven.us/?p=159</guid>
		<description><![CDATA[I frequently read a daily writeup called &#8220;Nealz Nuze&#8221; on the Internet by talk show host Neal Boortz.  Just this morning they updated the format of the page and I&#8217;m not a fan.  To quote Mr. Boortz: &#8220;This mess wasn&#8217;t our idea. I&#8217;m talking about the new format for Nealz Nuze.&#8221;  Judging by the comments [...]]]></description>
			<content:encoded><![CDATA[<p>I frequently read a daily writeup called &#8220;<a href="http://boortz.com/nealz_nuze/index.html" target="_blank">Nealz Nuze</a>&#8221; on the Internet by talk show host Neal Boortz.  Just this morning they updated the format of the page and I&#8217;m not a fan.  To quote Mr. Boortz: &#8220;This mess wasn&#8217;t our idea. I&#8217;m talking about the new format for Nealz Nuze.&#8221;  Judging by the comments we aren&#8217;t the only two people not in love with the new format.</p>
<p><em>update: I now have a native Firefox extension that you can download which does the same thing.  Right click and choose &#8220;Save Link&#8221;, then save it to your computer.  Then drag the file into a Firefox window and allow it to install.  <a title="Nealz Nuze Reformatter Extension" href="http://eric.biven.us/wp-content/blogs.dir/2/files/2008/11/nealznuzeformatter.xpi">Get it here</a>. You can still use the GreaseMonkey script below if you prefer.</em></p>
<p>Well, problem solved.  My old friend <a href="http://www.greasespot.net/" target="_blank">GreaseMonkey</a> and I got together for a minute and here&#8217;s what we came up with:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p159code4'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1594"><td class="code" id="p159code4"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// ==UserScript==</span>
<span style="color: #006600; font-style: italic;">// @name           Nealz Nuze Formatter</span>
<span style="color: #006600; font-style: italic;">// @namespace      eric.biven</span>
<span style="color: #006600; font-style: italic;">// @description    Restores Nealz Nuze to it's previous glory (with improvements).</span>
<span style="color: #006600; font-style: italic;">// @include        http://boortz.com/*</span>
<span style="color: #006600; font-style: italic;">// @include        http://www.boortz.com/*</span>
<span style="color: #006600; font-style: italic;">// ==/UserScript==</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> listenLive <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'streamLink'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
listenLive.<span style="color: #660066;">style</span>.<span style="color: #660066;">cssFloat</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'right'</span><span style="color: #339933;">;</span>
listenLive.<span style="color: #660066;">style</span>.<span style="color: #660066;">width</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'200px'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> header <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'logoAdContainer'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
header.<span style="color: #660066;">removeChild</span><span style="color: #009900;">&#40;</span>header.<span style="color: #660066;">childNodes</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
header.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>listenLive<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> ads <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'rightColumnCell'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
ads.<span style="color: #660066;">parentNode</span>.<span style="color: #660066;">removeChild</span><span style="color: #009900;">&#40;</span>ads<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> head <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'head'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>head<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    style <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'style'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    style.<span style="color: #660066;">type</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'text/css'</span><span style="color: #339933;">;</span>
    style.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">createTextNode</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.hrDivider, .blogFooter, .blogEntryByline { display: none; }'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    style.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">createTextNode</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.blogEntry { padding-bottom:20px; }'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    style.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">createTextNode</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.storyhed { padding-bottom:10px; display:block; }'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    style.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">createTextNode</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.blogEntryBody &amp;gt; table { margin:10px 0px 10px 20px; }'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    style.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">createTextNode</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#pageWrapper, #centerColumn { width:auto; }'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    style.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">createTextNode</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.pageContainer { margin:0px 10px 0px 10px; }'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    head.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>style<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>This script is available for download from UserScripts.org at <a title="Nealz Nuze Reformatter Script" href="http://userscripts.org/scripts/show/36900" target="_blank">http://userscripts.org/scripts/show/36900</a>.  It will return the page to a look that is more familiar to readers.  I&#8217;ve taken the liberty of adding a little more white space around some items as well.</p>
<div id="attachment_170" class="wp-caption alignright" style="width: 160px"><a href="http://eric.inspirecom.com/blogs.dir/2/files/2008/11/nuze2.jpg"><img class="size-thumbnail wp-image-170" src="http://eric.biven.us/wp-content/blogs.dir/2/files/2008/11/nuze2-150x150.jpg" alt="New Layout" width="150" height="150" /></a><p class="wp-caption-text">New Layout</p></div>
<p>If you aren&#8217;t familiar with GreaseMonkey, here&#8217;s a quick rundown.  GreaseMonkey is an addon for the Firefox web browser that lets you run scripts against pages and change how they look and/or behave.  In this case I&#8217;m removing ads, then changing the style of some elements.  You can install GreaseMonkey from here:</p>
<p><a title="Install GreaseMonkey" href="https://addons.mozilla.org/en-US/firefox/addon/748" target="_blank">https://addons.mozilla.org/en-US/firefox/addon/748</a></p>
<p>Once you&#8217;ve installed GreaseMonkey and restarted Firefox, make sure the little monkey icon down at the bottom of your Firefox window is brown.  If he&#8217;s grey, click on him (this enables GreaseMonkey).  Then click this link and allow the script to install:</p>
<p><a title="Install Nealz Nuze Formatter" href="http://userscripts.org/scripts/source/36900.user.js" target="_blank">http://userscripts.org/scripts/source/36900.user.js</a></p>
<p>Once the script is installed you&#8217;ll be able to view Nealz Nuze in all of its former glory.  Enjoy.</p>
<p>Read more about this at:</p>
<p><a href="http://boortz.com/nealz_nuze/2008/11/dont-blame-me-nor-the-web-wenc.html" target="_blank">http://boortz.com/nealz_nuze/2008/11/dont-blame-me-nor-the-web-wenc.html</a></p>
<p>update: Now corrects their page width so that the text is always the width of your browser.</p>
<p>update: It should now work on Neal&#8217;s entire site and it moves the listen live link into the header of the page.</p>
]]></content:encoded>
			<wfw:commentRss>http://eric.biven.us/2008/11/13/fix-the-new-formatting-for-nealz-nuze-pages/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

