<?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>Povert</title>
	<atom:link href="http://www.povert.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.povert.com</link>
	<description>It&#039;s Pronounced &#34;Pah-vert.&#34;  You povert.</description>
	<lastBuildDate>Fri, 27 Aug 2010 16:18:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Worst Cry Redux</title>
		<link>http://www.povert.com/2010/08/27/worst-cry-redux/</link>
		<comments>http://www.povert.com/2010/08/27/worst-cry-redux/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 16:16:04 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Flapping Crane]]></category>

		<guid isPermaLink="false">http://www.povert.com/?p=1039</guid>
		<description><![CDATA[Wow, it&#8217;s like Friday comes along once a week or something. We&#8217;ve got a new skit up: Worst Cry Redux. Bryann&#8217;s delivery should win him free marshmallows for a week or something. It&#8217;s a parody of the following scene from &#8220;Intervention&#8221;. So if you haven&#8217;t seen that clip yet, you might want to watch it [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://images.flappingcrane.com/skit-posters/worstcry.jpg" alt="Worst Cry Redux" class="fcrane" style="width: 320px;height:180px" />Wow, it&#8217;s like Friday comes along once a week or something.  We&#8217;ve got a new skit up: <a href="http://flappingcrane.com/worstcry.html">Worst Cry Redux</a>.</p>
<p>Bryann&#8217;s delivery should win him free marshmallows for a week or something.</p>
<p>It&#8217;s a parody of the <a href="http://www.youtube.com/watch?v=yyLJk-xT8Eo">following scene</a> from &#8220;Intervention&#8221;.  So if you haven&#8217;t seen that clip yet, you might want to watch it first.</p>
<div style="text-align:center">
<iframe class="youtube-player" style="margin:0px auto" type="text/html" width="499" height="306" src="http://www.youtube.com/embed/yyLJk-xT8Eo" frameborder="0"></iframe>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.povert.com/2010/08/27/worst-cry-redux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toofies 3</title>
		<link>http://www.povert.com/2010/08/20/toofies-3/</link>
		<comments>http://www.povert.com/2010/08/20/toofies-3/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 20:41:03 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Flapping Crane]]></category>
		<category><![CDATA[toofies]]></category>

		<guid isPermaLink="false">http://www.povert.com/?p=1011</guid>
		<description><![CDATA[Two skits in one week! I forgot to announce the first one here on Sunday: Old Spice Commercial #1. Today&#8217;s is Toofies 3 (yes, I know it says &#8220;toofies4&#8243; in the URL — don&#8217;t ask). This was actually the first thing we had shot in a very long time. Probably 2 years. So yes, the [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://images.flappingcrane.com/skit-posters/toofies4.jpg" alt="Toofies 3" class="fcrane" style="width: 320px;height:180px" />Two skits in one week!  I forgot to announce the first one here on Sunday: <a href="http://flappingcrane.com/os1.html">Old Spice Commercial #1</a>.</p>
<p>Today&#8217;s is <a href="http://flappingcrane.com/toofies4.html">Toofies 3</a> (yes, I know it says &#8220;toofies4&#8243; in the URL — don&#8217;t ask).  This was actually the first thing we had shot in a very long time.  Probably 2 years.  So yes, the new skits are fairly short and sweet.  We&#8217;re getting back in the swing of it.</p>
<p>But this one really makes me laugh.  It took some serious concentration for me not to crack up while shooting it.</p>
<p>The outtakes are kind of funny too.  I might put them up after we launch the new site.  Whenever that will be.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.povert.com/2010/08/20/toofies-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>localStorage</title>
		<link>http://www.povert.com/2010/08/19/localstorage/</link>
		<comments>http://www.povert.com/2010/08/19/localstorage/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 03:37:11 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[WWW]]></category>
		<category><![CDATA[Flapping Crane]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://www.povert.com/?p=995</guid>
		<description><![CDATA[I&#8217;ve been making plenty of use of localStorage in javascript apps lately.  It&#8217;s a very simple way of storing data in the browser that can persist across sessions.  If you want to learn more about it, check out the Local Storage chapter in the excellent Dive into HTML5 web site / future book. Anyway, I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been making plenty of use of localStorage in javascript apps lately.  It&#8217;s a very simple way of storing data in the browser that can persist across sessions.  If you want to learn more about it, check out the <a href="http://diveintohtml5.org/storage.html">Local Storage</a> chapter in the excellent <a href="http://diveintohtml5.org/">Dive into HTML5</a> web site / future book.</p>
<p>Anyway, I&#8217;m using it on a new version of <a href="http://flappingcrane.com/">flappingcrane.com</a> to get around the downside to a recent security fix in Safari.  I wanted to have the icons for skits that have already been watched by the user to be translucent.  That&#8217;s normally a very easy thing to do using CSS:</p>
<p>
<code><br />
.skitIcon a:visited {<br />
	opacity: 0.5;<br />
	-moz-opacity: 0.5;<br />
}<br />
</code>
</p>
<p>However, there&#8217;s kind of a clever security problem with this.  In a nutshell, I can list a bunch of links on a page and give some CSS property to visited links.  Then if you visit the page, a script can examine those links and see which ones have those properties, thus telling me which of those sites you have visited.</p>
<p>A recent version of Safari disabled styling on the :visited pseudo-element for this very reason.</p>
<p>Anyway, this is less of a concern on something like Flapping Crane.  We can track what skits you watch, how much of them you watch, how often you pause them, etc.  While that might creep some people out (we only track hits or plays, but I&#8217;m sure many, many video sites track a lot more), there&#8217;s no serious security issue with that.  I can tell that you&#8217;ve watched &#8220;<a href="http://flappingcrane.com/bugles.html">Bugles</a>&#8221; 145 times (weirdo), but I can&#8217;t tell what other creepy web sites you visit.</p>
<p>So, while we can keep track of what client IP has watched what, there are a variety of reasons why I really don&#8217;t want to do that in order to style a few links.  One, I like to keep DB interactions to a minimum (hah).  Two, it makes for some clunky, ugly interactions that seem like overkill for a little opacity effect.</p>
<p>I&#8217;m sure you can see where I&#8217;m going with this.</p>
<p>When you watch a skit (again, on the new site I&#8217;m working on), if your browser supports localStorage, it&#8217;ll record that you&#8217;ve watched it.  Since it&#8217;s stored in your browser, there&#8217;s no need for querying the database.  Then, when listing out the skit icons, ones that have been viewed get a &#8220;watched&#8221; class.  Any CSS I want can be applied to that.</p>
<p>This is nothing that couldn&#8217;t be accomplished by a variety of other means, but it is nice to have such a remarkably simple way of doing it.  I haven&#8217;t decided if I&#8217;m going to put in a way to do it with cookies, which have more limitations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.povert.com/2010/08/19/localstorage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One Month Later</title>
		<link>http://www.povert.com/2010/08/15/one-month-later/</link>
		<comments>http://www.povert.com/2010/08/15/one-month-later/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 17:09:14 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Flapping Crane]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.povert.com/?p=993</guid>
		<description><![CDATA[It&#8217;s been one month since Eric killed himself. I&#8217;ve been using euphemisms in posts and tweets until now, but it seems weird to keep doing that. It&#8217;s been an odd month.  I don&#8217;t quite know what to make of it.  I&#8217;ll just say: anyone who&#8217;s had to deal with a friend or family member killing [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been one month since Eric killed himself.</p>
<p>I&#8217;ve been using euphemisms in posts and tweets until now, but it seems weird to keep doing that.</p>
<p>It&#8217;s been an odd month.  I don&#8217;t quite know what to make of it.  I&#8217;ll just say: anyone who&#8217;s had to deal with a friend or family member killing their self knows how strange the aftermath is.  It&#8217;s sad and awful, but you keep going.  And it&#8217;s just  strange.</p>
<p>We&#8217;ve had a page up for Eric on Flapping Crane since a few days after he died.  That page has been the home page.  We&#8217;re going to stop making it the home page later today, and we&#8217;re going to debut a new skit.  I don&#8217;t know how this should work, so I&#8217;m just doing it.  It&#8217;s kind of like the video I put together for his family.  At a certain point, debates about how sad or happy the music was became irrelevant, because there was no right answer.  And I don&#8217;t think there is a right time to get back to dick jokes, but we&#8217;re just going to do it, damn it.</p>
<p>It&#8217;s weird and screwed up, but this has revitalized us.  I don&#8217;t know if it&#8217;s a fear of our own mortality, or guilt, or what.  I don&#8217;t know if this will be short-lived or if this is the start of another long period of creative output.  I&#8217;d like to think it&#8217;s us realizing that we&#8217;re only here for a short time and we should do what we can with what we have.  I&#8217;ve never been under any illusion that these stupid skits will get us anywhere.  I&#8217;ve only put up skits when they&#8217;ve made me and the rest of the guys laugh, and we have stupid, idiotic senses of humor.  But the point is we&#8217;ve been shooting.  A lot.  They&#8217;re all short, granted, but some of them have been in the works for years.</p>
<p>I don&#8217;t know how to do any of this.  I didn&#8217;t know the etiquette on Facebook and Twitter, I didn&#8217;t know what to say to his family and I don&#8217;t know what to even think of it or what to put on the site.  I&#8217;m alternately depressed and a little angry.  But mostly, right now, I almost feel nothing.  I&#8217;ve spent the last month capturing footage from the past 6 years, and his suicide doesn&#8217;t feel real.  I see him every day, cracking jokes, making stupid faces, busting us up with his insane humor.  He&#8217;s not dead to me yet.  He&#8217;s just gone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.povert.com/2010/08/15/one-month-later/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eric Page</title>
		<link>http://www.povert.com/2010/07/24/eric-page/</link>
		<comments>http://www.povert.com/2010/07/24/eric-page/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 23:34:04 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Flapping Crane]]></category>
		<category><![CDATA[Eric Page]]></category>

		<guid isPermaLink="false">http://www.povert.com/?p=985</guid>
		<description><![CDATA[Eric Page Jacobson passed away July 15, 2010. Anyone reading this blog or seeing this on Facebook probably knows that Eric was part of Flapping Crane.  He was far and away the funniest and most talented of us.  I&#8217;m not saying that to be nice (and not to denigrate the other guys) — it&#8217;s demonstrably true. [...]]]></description>
			<content:encoded><![CDATA[<p><a title="View 'eric' on Flickr.com" href="http://www.flickr.com/photos/48778781@N00/223349740"><img style="float: right; margin: 10px;" src="http://farm1.static.flickr.com/98/223349740_b1a6fff202_m.jpg" border="0" alt="eric" width="180" height="240" /></a></p>
<p>Eric Page Jacobson passed away July 15, 2010.</p>
<p>Anyone reading this blog or seeing this on Facebook probably knows that Eric was part of <a href="http://flappingcrane.com/">Flapping Crane</a>.  He was far and away the funniest and most talented of us.  I&#8217;m not saying that to be nice (and not to denigrate the other guys) — it&#8217;s demonstrably true.  He had been doing comedy for 2 decades.  Do yourself a favor and <a href="http://www.rooftopcomedy.com/comics/EricPage">watch some of his standup</a>.  His death is a tremendous loss.</p>
<p>Kelly and I went to his funeral today and the visitation yesterday.  We met his family, who are wonderful people and who showed remarkable strength in the face of this horrible event.  I know I could barely hold myself together.  I can only imagine how they are feeling.</p>
<p>I wish I or anyone could have helped him.  We were supposed to meet up this month to work on a skit we shot with him 2 years ago.  I had to cancel meeting with him a few weeks ago, and I feel terrible that I didn&#8217;t get to see him.  I&#8217;ve got notes from him about what to do with the footage.  Eric was always an easy-going guy when it came to edits, so I&#8217;m confident that what we end up putting together probably would have been approved by him.</p>
<p><img style="float: left; margin: 10px;" src="http://www.povert.com/wp-content/uploads/2010/07/caric_miller.jpg" border="0" alt="caric_miller.JPG" width="180" height="240" /></p>
<p>Now, to lighten the mood a little, let me describe the skit in basic terms.  It&#8217;s called &#8220;X-Lax 2000&#8243;.  It&#8217;s a commercial for a souped-up laxative.  That&#8217;s right — Eric&#8217;s last skit with us will be a poop joke, and a pretty funny one at that.  We have footage of him sitting on a toilet and holding on for dear life.  At one point he straps on a safety belt to hold himself down.</p>
<p>He and I exchanged email about this ﻿recently and I know he was very excited to get it done.  I&#8217;ll be working with the other guys in the coming months to finish it.</p>
<p>Yeah, it&#8217;s a poop joke.  The thought of that almost cheers me up.  It&#8217;s damn silly.  So silly that it somehow feels like a fitting tribute to one aspect of the guy.</p>
<p>I don&#8217;t know when it will be ready, but I will let people know when it is.</p>
<p>I&#8217;ve been doing <a href="http://flappingcrane.com/bully.html">Johnny Two-Blades</a> and <a href="http://flappingcrane.com/repair.html">Rory McGillicuddy</a> impressions all weekend.</p>
<p>It still doesn&#8217;t feel real.  I will miss him, and so will a whole lot of other people.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.povert.com/2010/07/24/eric-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abstraction</title>
		<link>http://www.povert.com/2010/06/20/abstraction/</link>
		<comments>http://www.povert.com/2010/06/20/abstraction/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 17:29:09 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Tech & Science]]></category>
		<category><![CDATA[abstraction]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.povert.com/?p=981</guid>
		<description><![CDATA[This paragraph in an Ars article made me snort: First the C guys can&#8217;t imagine writing in assembly anymore, but C++&#8217;s vtable dispatch is still just too slow to consider. Then the C++ guys look back with chagrin at the bad-old-days of rolling their own half-assed object systems in C, but Java is dismissed as [...]]]></description>
			<content:encoded><![CDATA[<p>This paragraph in an <a href="http://arstechnica.com/apple/news/2010/06/copland-2010-revisited.ars">Ars article</a> made me snort:</p>
<blockquote>
<p>First the C guys can&#8217;t imagine writing in assembly anymore, but C++&#8217;s vtable dispatch is still just too slow to consider. Then the C++ guys look back with chagrin at the bad-old-days of rolling their own half-assed object systems in C, but Java is dismissed as a ridiculous pig. Still later, the Java guys sneer at pointers and manual memory management, but JavaScript is ridiculed as a toy &#8220;scripting&#8221; language for validating web forms. And on and on.</p>
</blockquote>
<p>It&#8217;s true.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.povert.com/2010/06/20/abstraction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Flapping Crane Site</title>
		<link>http://www.povert.com/2010/02/11/new-flapping-crane-site/</link>
		<comments>http://www.povert.com/2010/02/11/new-flapping-crane-site/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 01:54:48 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Flapping Crane]]></category>
		<category><![CDATA[WWW]]></category>
		<category><![CDATA[Modernizr]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.povert.com/?p=961</guid>
		<description><![CDATA[The new version of Flapping Crane is up, along with a strange video to commemorate it. You&#8217;ll notice that Pete mentions a new web site and says &#8220;2008&#8243;. Yup, been working on it for that long. Longer, even. The site had stayed unchanged design-wise since at least December 2005. I was kicking ideas around for [...]]]></description>
			<content:encoded><![CDATA[<p>The new version of <a href="http://flappingcrane.com/">Flapping Crane</a> is up, along with a strange video to commemorate it.</p>
<p>You&#8217;ll notice that Pete mentions a new web site and says &#8220;2008&#8243;.  Yup, been working on it for that long.  Longer, even.</p>
<p>The site had stayed unchanged design-wise since at least December 2005.  I was kicking ideas around for a new version at least since 2006.</p>
<p>In early 2008, I had a conversation with Shawn, who came up with this mock:</p>
<p><img src="http://www.povert.com/wp-content/uploads/2010/02/FC-2008-website-c2.jpg" alt="FC-2008-website-c2.jpg" border="0" width="385" height="500" /></p>
<p>It&#8217;s had a lot of changes since then (Alex had some ideas for simplifying the interface), but that&#8217;s basically the same as what is live now.</p>
<p>Part of what took so long was that early on I tried to do way too much.  I later decided to drop &#8220;buy&#8221; and &#8220;pics&#8221;.  They may come back later; I haven&#8217;t decided.  We also drop a lot of the video categories.  There were just way too many.</p>
<p>I&#8217;ve changed the way that &#8220;Most Popular&#8221; is determined — the top six skits were listed as the most popular for about 3 years.  So now it displays the most popular from the last 2 weeks.  It&#8217;s kind of interesting that way.  It changes up a lot.</p>
<p>Anyway, for anyone interested in the nitty-gritty, the site uses <a href="http://developer.yahoo.com/yui/">YUI</a> 2.6.0.  I considered updating it for 2.8.0 or even 3.0, but I&#8217;d already Duke Nukem&#8217; Forever&#8217;d this thing long enough.  It also makes minor use of <a href="http://www.modernizr.com/">Modernizr</a>, mostly to detect whether the browser supports h264.  Eventually the site will support ogg theora too.  That&#8217;s a lot of skits to convert.  At the moment, Safari and Chrome will display the videos natively, while all other browsers will use flash (<a href="http://www.longtailvideo.com/players/jw-flv-player/">JW Player</a>).</p>
<p>I&#8217;ve only done minimal fixes for Internet Explorer.  It works in IE 6-8, though it doesn&#8217;t look as pretty.  I&#8217;ll mop that up later.  Maybe.  See the FAQ on the new site for my attitude towards IE in general (IE 6 in particular).</p>
<p>Also note that the videos are much larger, screen-wise.  They are 640&#215;360 for wide and 640&#215;480 for standard.  I re-encoded almost every single Flapping Crane video, not counting outtakes, which aren&#8217;t on the new site anyway (at least not yet).</p>
<p>Finally, if you were bored enough to make it this long: Yes, there will be new skits.  I bought a house, got married, got a dog, etc.  Haven&#8217;t had a lot of time to edit videos <em>and</em> get this new site up, so it may be a while before any truly new skits show up.  There are, however, some skits that haven&#8217;t been put up yet that I may sneak in *COUGH*toofies*COUGH*.</p>
<p>And yes, there will be actual new, recently shot skits up soon.  Well, eventually.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.povert.com/2010/02/11/new-flapping-crane-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s Wrong With Ads</title>
		<link>http://www.povert.com/2010/01/08/whats-wrong-with-ads/</link>
		<comments>http://www.povert.com/2010/01/08/whats-wrong-with-ads/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 19:26:38 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[WWW]]></category>
		<category><![CDATA[ads]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.povert.com/?p=914</guid>
		<description><![CDATA[Ads drive me nuts. Not for the reasons it drive some people nuts — as long as they&#8217;re not intrusive, I don&#8217;t mind. I don&#8217;t regularly use AdBlock, though I do use ClickToFlash in Safari for various reasons. I don&#8217;t even think that Flash ads, per se, are a problem. I see two basic problems: [...]]]></description>
			<content:encoded><![CDATA[<p>Ads drive me nuts.</p>
<p>Not for the reasons it drive some people nuts — as long as they&#8217;re not intrusive, I don&#8217;t mind.  I don&#8217;t regularly use AdBlock, though I do use ClickToFlash in Safari for various reasons.  I don&#8217;t even think that Flash ads, per se, are a problem.</p>
<p>I see two basic problems:</p>
<ol>
<li>document.write()</li>
<li>Invalid markup</li>
</ol>
<h3>document.write()</h3>
<p>I hate document.write().  I&#8217;m pretty sure that I am <strong>That Guy At Work Who Hates document.write() With Unreasonable And Embarrassing Passion™</strong>, but it really does limit your options and it contributes to poor page load and rendering times.</p>
<p>Amazingly, a quick search of my past entries here turned up very little about my disdain for document.write(), so I&#8217;ll briefly summarize the problem.</p>
<p>Web browsers don&#8217;t handle external scripts very well.  Because of things like document.write(), the browser actually has to pause the rendering of the page.  Unfortunately, if the script is long-running or the server it&#8217;s on is slow or non-responsive, this can significantly increase the apparent page load time.  Several mildly misbehaving external scripts on a page can have a dramatic cumulative effect.  I set up an <a href="http://sandwichestime.com/loop/">example</a> of this while back to demonstrate this.</p>
<p>This is how most ads are delivered to a page.  So a single ad placed anywhere before any important content on a page can block the display of that page until the ad is displayed.</p>
<p>There are ways around this.  One way would be to have a external javascript file called early in the page.  Then ad positions on the page wouldn&#8217;t be additional external script tags — they would be calls to a function or functions in that main javascript file (I believe Google Adsense allows for something like this method, at least in some circumstances).  You could even get away with document.write() in this case, though that wouldn&#8217;t be eliminating problem #2.  More on that in a moment.  But there is still a basic problem here — we&#8217;re down to one external script, but if its host server is unresponsive, the display of all or most of the page will be held up until it resolves or times out.</p>
<p>Another way would be to dynamically create script tags and append them to the document&#8217;s head.  These tags would point to the external scripts.  But because they&#8217;re inserted this way, the browser doesn&#8217;t have to hold up the page rendering.  YUI&#8217;s <a href="http://developer.yahoo.com/yui/get/#script">Get.script()</a> does exactly this with some handy features thrown in as well.  The big problem here is that document.write() is not compatible with this method.  Unfortunately, 100% of ads out there are written out with document.write() by ad servers, regardless of whether they were written that way.</p>
<p>I&#8217;ve tried overriding document.write().  Last I checked, it actually works in Firefox:</p>
<p><code><br />
(function(){<br />
  var els = document.getElementsByTagName('*'),<br />
      el = els[els.length - 1];<br />
      adURL = 'http://ad-server.com/blah';<br />
  document.write = function(str) {<br />
    if (typeof str != 'undefined') {<br />
      var newEl = document.createElement('span');<br />
      newEl.innerHTML = str;<br />
      var nodes = newEl.childNodes;<br />
      while (nodes.length) {<br />
        el.parentNode.appendChild(nodes[0]);<br />
      }<br />
    }<br />
  }<br />
  YAHOO.util.Get.script(adURL, {<br />
    onSuccess: function(){document.write = dwrite;}<br />
  });<br />
})();<br />
</code></p>
<p>Guess how that pans out in IE?</p>
<p>(Yes, there are some flaws in the above code, but it was proof-of concept.)</p>
<p>And no, <a href="http://www.quirksmode.org/js/placejs.html">the defer attribute does not work</a> when using document.write() and <a href="http://javascript.crockford.com/script.html">should be avoided</a> anyway.</p>
<h3>Invalid Markup</h3>
<p>This problem is actually a consequence of problem #1.  document.write() allows you to just toss arbitrary text and markup onto the page.  There&#8217;s nothing to stop you from slapping this onto an otherwise nice page:</p>
<p><code><br />
document.write('&lt;div&gt;Tacos&lt;/div&gt;');<br />
</code></p>
<p>This can utterly destroy a page&#8217;s layout.  All it takes is one bad ad to toss in one unmatched tag and a page&#8217;s layout will look like it got punched in the face and set on fire.  The same thing could happen using innerHTML.  However, using DOM methods avoids this problem:</p>
<p><code><br />
var div = document.createElement('div');<br />
adSpan.appendChild(div);<br />
div.appendChild(document.createTextNode('Tacos'));<br />
</code></p>
<p>Yes, that appears to be more work.  If your gripe with this solution is that you have to type more, please allow me to do to your face what a stray closing div can do to a page.</p>
<p>Mistakes can be made when doing it this way, but it eliminates an entire category of error that can sometimes be fairly difficult to track down.  Even if you made 100% sure that your ad doesn&#8217;t output invalid html, all it takes is one person in the chain to do a bad copy &#038; paste job to hose it up.  It happens.  It costs money and wastes time.  It also makes me want to make the streets run red with the blood of my enemies.</p>
<p>Iframes, sadly, are not a solution to this problem.  While it would contain the bad markup, they make certain type of ads hard or impossible to do.  There is also a very long-standing Firefox bug in which iframes magically swap contents with each other.</p>
<h3>What Can Be Done?</h3>
<p>So where can we go from here?  I wish I knew.  I don&#8217;t think it&#8217;s realistic to expect that everyone writing ads out there change the way they write them.  Maybe someone with Google&#8217;s clout could do this, but I can&#8217;t imagine that that would end well even for Google.</p>
<p>To make matters worse, whether the ad author avoids document.write() or not is actually irrelevant at this point because ad servers like DoubleClick actually take your ad code and document.write() it — leading to the silly (but common):</p>
<p><code><br />
document.write('&lt;noscript&gt;Blah blah blah&lt;/noscript&gt;');<br />
</code></p>
<p>Overriding document.write() would be a good intermediate step if it worked in IE, but it doesn&#8217;t.</p>
<p>This really is a serious problem.  I can&#8217;t imagine how much potential revenue is lost to slow rendering pages as a result of ads which were supposed to generate revenue in the first place, not to mention the actual money spent on tracking down bad ads that are hosing up a page&#8217;s layout.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.povert.com/2010/01/08/whats-wrong-with-ads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flapping Crane is 5 Years Old</title>
		<link>http://www.povert.com/2009/11/23/flapping-crane-is-5-years-old/</link>
		<comments>http://www.povert.com/2009/11/23/flapping-crane-is-5-years-old/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 17:02:04 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Flapping Crane]]></category>
		<category><![CDATA[Nine Inch Squirrel]]></category>

		<guid isPermaLink="false">http://www.povert.com/?p=906</guid>
		<description><![CDATA[We launched the Flapping Crane website five years ago yesterday. I had hoped to have the DVD set ready by now, but wrist pain prevented that. Instead, I&#8217;ve put up something about a squirrel.]]></description>
			<content:encoded><![CDATA[<p><a href="http://flappingcrane.com/squirrel.html"><img src="http://images.flappingcrane.com/squirrel.jpg" class="fcrane" width="320" height="240"/></a>We launched the <a href="http://flappingcrane.com/">Flapping Crane website</a> five years ago yesterday.</p>
<p>I had hoped to have the DVD set ready by now, but wrist pain prevented that.  Instead, I&#8217;ve put up something about a <a href="http://flappingcrane.com/squirrel.html">squirrel</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.povert.com/2009/11/23/flapping-crane-is-5-years-old/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The 11/3 Project</title>
		<link>http://www.povert.com/2009/11/06/the-113-project/</link>
		<comments>http://www.povert.com/2009/11/06/the-113-project/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 17:11:26 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Media]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Weird and Funny]]></category>
		<category><![CDATA[Comedy]]></category>
		<category><![CDATA[Daily Show]]></category>
		<category><![CDATA[Jon Stewart]]></category>

		<guid isPermaLink="false">http://www.povert.com/?p=903</guid>
		<description><![CDATA[Jon Stewart always cracks me up, but he hit this one out of the park. The Daily Show With Jon Stewart Mon &#8211; Thurs 11p / 10c The 11/3 Project www.thedailyshow.com Daily Show Full Episodes Political Humor Health Care Crisis]]></description>
			<content:encoded><![CDATA[<p>Jon Stewart always cracks me up, but he hit this one out of the park.</p>
<table style='font:11px arial; color:#333; background-color:#f5f5f5' cellpadding='0' cellspacing='0' width='360' height='353'>
<tbody>
<tr style='background-color:#e5e5e5' valign='middle'>
<td style='padding:2px 1px 0px 5px;'><a target='_blank' style='color:#333; text-decoration:none; font-weight:bold;' href='http://www.thedailyshow.com'>The Daily Show With Jon Stewart</a></td>
<td style='padding:2px 5px 0px 5px; text-align:right; font-weight:bold;'>Mon &#8211; Thurs 11p / 10c</td>
</tr>
<tr style='height:14px;' valign='middle'>
<td style='padding:2px 1px 0px 5px;' colspan='2'><a target='_blank' style='color:#333; text-decoration:none; font-weight:bold;' href='http://www.thedailyshow.com/watch/thu-november-5-2009/the-11-3-project'>The 11/3 Project</a></td>
</tr>
<tr style='height:14px; background-color:#353535' valign='middle'>
<td colspan='2' style='padding:2px 5px 0px 5px; width:360px; overflow:hidden; text-align:right'><a target='_blank' style='color:#96deff; text-decoration:none; font-weight:bold;' href='http://www.thedailyshow.com/'>www.thedailyshow.com</a></td>
</tr>
<tr valign='middle'>
<td style='padding:0px;' colspan='2'><embed style='display:block' src='http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:254892' width='360' height='301' type='application/x-shockwave-flash' wmode='window' allowFullscreen='true' flashvars='autoPlay=false' allowscriptaccess='always' allownetworking='all' bgcolor='#000000'></embed></td>
</tr>
<tr style='height:18px;' valign='middle'>
<td style='padding:0px;' colspan='2'>
<table style='margin:0px; text-align:center' cellpadding='0' cellspacing='0' width='100%' height='100%'>
<tr valign='middle'>
<td style='padding:3px; width:33%;'><a target='_blank' style='font:10px arial; color:#333; text-decoration:none;' href='http://www.thedailyshow.com/full-episodes'>Daily Show<br /> Full Episodes</a></td>
<td style='padding:3px; width:33%;'><a target='_blank' style='font:10px arial; color:#333; text-decoration:none;' href='http://www.indecisionforever.com'>Political Humor</a></td>
<td style='padding:3px; width:33%;'><a target='_blank' style='font:10px arial; color:#333; text-decoration:none;' href='http://www.thedailyshow.com/videos/tag/health'>Health Care Crisis</a></td>
</tr>
</table>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.povert.com/2009/11/06/the-113-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
