<?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>firsttube.com &#187; Digg</title>
	<atom:link href="http://firsttube.com/tag/digg/feed/" rel="self" type="application/rss+xml" />
	<link>http://firsttube.com</link>
	<description>crunchy nuggets, served semi-daily</description>
	<lastBuildDate>Wed, 10 Mar 2010 03:38:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<atom:link rel='hub' href='http://firsttube.com/?pushpress=hub'/>
		<item>
		<title>How To REALLY Survive Digg on a Shared Host</title>
		<link>http://firsttube.com/read/how-to-really-survive-digg-on-a-shared-host/</link>
		<comments>http://firsttube.com/read/how-to-really-survive-digg-on-a-shared-host/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 22:48:29 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Digg]]></category>
		<category><![CDATA[High Performance]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/How-To-REALLY-Survive-Digg-on-a-Shared-Host</guid>
		<description><![CDATA[After reading a ridiculous post on &#8220;surviving the Digg effect on a shared host,&#8221; (and then laughing ridiculously at it), I decided to write a real tutorial on real-live ways not only to survive the Digg effect, but also a simple but powerful way to improve your site&#8217;s performance.  Read more within.

The fact is, [...]]]></description>
			<content:encoded><![CDATA[<p>After reading a ridiculous post on &#8220;<a href="http://digg.com/programming/How_to_Survive_Digg_on_a_Shared_Host">surviving the Digg effect on a shared host</a>,&#8221; (and then laughing ridiculously at it), I decided to write a <i>real</i> tutorial on real-live ways not only to survive the Digg effect, but also a simple but powerful way to improve your site&#8217;s performance.  Read more within.</p>
<p><span id="more-92"></span><br />
The fact is, it&#8217;s rarely PHP that crashes a website.  It&#8217;s usually overloading MySQL and/or bandwidth limitations.  Obviously, we can&#8217;t do much about bandwidth.  If you&#8217;re on a really cool host, they may be psyched for your Digging or Slashdotting, but most are not particularly keen on you using too much processor, too much bandwidth, or too many MySQL connections.  Although MySQL is capable of amazing scaling, rarely do web hosts leverage it properly, and even if they did, rarely do most programmers know how to read into slow queries, find inefficient code like loops within loops, and debug a site performance before it&#8217;s too late.  </p>
<p>The site linked from Digg shares a very lame trick, let&#8217;s examine:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//put this code at the very beginning of your page, before anything else</span>
<span style="color: #000088;">$randomdigg</span> <span style="color: #339933;">=</span> <span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$randomdigg</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Thanks for visiting, but the site is under a great deal of 
stress due to being on the front page of Digg. 
Please try back in a few moments. Thanks!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Ok, so essentially, approximately 25% of the time, the page will work, the other 75% of the time, the user will get the message and be asked to refresh later.  That&#8217;s really lame.  First off, unless you want your website to be functional only 25% of the time, you have to be there babysitting it when it hits front page.  Also, you need to remove this code.  But what if you wanted everything to happen automagically? What if your site could withstand a digging, a slashdotting, a redditing, an OSNews&#8217;ing, a Farking, whatever&#8230;. all at once, without being forewarned?   </p>
<p>Although there are lots of [[http://www.danga.com/memcached/|tools that can do magic for you]], you can leverage plain old PHP to do this  dirty work for you, and it&#8217;s easy to integrate into your site.  </p>
<p>Here&#8217;s the premise, we examine the referrer of the page, and if the page is from one or many domains that you specify, you build a cache ON REQUEST.  Then, you serve the cached version.  When the cache stales, say after minute or two, you refresh it, as needed, again, on request. And the best part is, it&#8217;s easy to do. </p>
<p>So, let&#8217;s review the code.  First, at the top of the page, let&#8217;s do this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$rfr</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_REFERER'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//get the referring site</span>
<span style="color: #000088;">$op</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rfr</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'digg.com'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000088;">$op</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;do-cache&quot;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span> 
<span style="color: #000088;">$cache</span><span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;/path/to/mysite/cache/&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$postid</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;.html&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Let&#8217;s take it line by line.  First, we get the referring site.  If it is digg.com, we&#8217;re going to turn the cache on by setting $op to &#8220;do-cache.&#8221; Note that we preset the $op variable to null to prevent abuse.  Next, we define the file we&#8217;re going to use as the cache.  Since we might want to do this for any entry/page, we&#8217;ll give it a unique address.  Remember that you do not have to use .html as an extension, since it&#8217;s static code anyway. I&#8217;ve seen &#8220;id.cache&#8221;, &#8220;id.txt&#8221;, and even just &#8220;id&#8221;.  It doesn&#8217;t matter, it will be included in a PHP page and spit out as X/HTML anyway.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cache</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$fmt</span> <span style="color: #339933;">=</span> <span style="color: #990000;">filemtime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cache</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fmt</span> <span style="color: #339933;">&gt;</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">180</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
		<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Location: http://mysite.com/cache/&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$id</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;.html&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		<span style="color: #990000;">exit</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: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fmt</span> <span style="color: #339933;">&gt;</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1800</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
         <span style="color: #666666; font-style: italic;">//cache will reload if it's been reloaded </span>
         <span style="color: #666666; font-style: italic;">//in the last half hour</span>
	   <span style="color: #000088;">$op</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&quot;do-cache&quot;</span><span style="color: #339933;">;</span> 
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
	   <span style="color: #000088;">$op</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>This might seem overwhelming, but it&#8217;s really not.  Check it out.  If the cache exists, regardless of referrer, we&#8217;re going to check it.  The filemtime() function will tell us when the cache was last refreshed.  If it reports a time in the last 180 seconds (you can change that number), it will redirect you to the cache.  PHP will barely have to do any work, Apache will barely have to do any work, and MySQL will not be touched at all.  Almost any host can hang in there to serve static traffic like this.  </p>
<p>But what about if the cache is old?  Once your site is no longer getting hits every three minutes, for the next 27 minutes, it will blindly reload the cache.  It will keep the cache going as long as the page has been hit in the last 30 minutes.  After no one hits the cache for 30 minutes, it will go back to fully dynamic.  When someone hits the page from digg again, it will start the caching process again.  In this case, we&#8217;re going to let the cache rebuild.  Enter the next part of the code.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$op</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&quot;do-cache&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #990000;">ob_clean</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
	<span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>If the $op variable is set to &#8220;do-cache&#8221;, our mission is&#8230; uh&#8230; to build or rebuild the cache. So, we begin with two simple PHP standard functions, <i>ob_clean()</i> and <i>ob_start()</i>.  The &#8220;ob&#8221; in these functions stands for &#8220;output buffering.&#8221;  When you buffer your output, nothing is echoed by the script, but rather written to a buffer.  In short, it&#8217;s all stored up in memory for eventual dumping later.  Now we stop the caching scripts and just write our normal HTML via PHP and MySQL.    </p>
<p>At the end of the page &#8211; the very end, after your html element is closed, you&#8217;ll need this last bit.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$op</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&quot;do-cache&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
	<span style="color: #000088;">$buffer</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ob_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
	<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cache</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'w'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
		<span style="color: #990000;">fwrite</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span><span style="color: #000088;">$buffer</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: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
	<span style="color: #990000;">ob_get_flush</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  	
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>What&#8217;s up with this? Again, if we&#8217;re building the cache, we&#8217;re getting the contents of the buffer, which contains all of our page.  Then we&#8217;re opening the cache file we specified above, and lastly, dumping the contents of the buffer into the cache file.  Our final action is to clear the buffer, which is unnecessary to us now anyway.  </p>
<p>That&#8217;s it.  Your cache is reloaded, and will be served for the next three minutes, after which it will reload the cache every 3 minutes until no one hits the site for 30 minutes.  Then it will go back to dynamic.  If another digg visitor comes, it will recache and serve the cache.  Having written several types of caching mechanisms for large sites myself, I can tell you this &#8220;cache on demand&#8221; method works.  On <a href="http://www4.osnews.com">OSNews v4</a>, we use this for things like user-specific RSS files, which aren&#8217;t plausibly built via cron jobs and, frankly, we don&#8217;t want to allow access to MySQL without limit.  They reload every 60 minutes, regardless of referer.  </p>
<p>If you maintain a site and have any concern about being Dugg, I encourage you to research some sort of caching mechanism.  Your web host will thank you, and you will be thankful for the maintained uptime and high hit count.  </p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/how-to-really-survive-digg-on-a-shared-host/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>When Is A Spoiler No Longer a Spoiler?</title>
		<link>http://firsttube.com/read/When-Is-A-Spoiler-No-Longer-a-Spoiler/</link>
		<comments>http://firsttube.com/read/When-Is-A-Spoiler-No-Longer-a-Spoiler/#comments</comments>
		<pubDate>Sat, 26 May 2007 14:46:07 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Digg]]></category>
		<category><![CDATA[Question]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Wikipedia]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/When-Is-A-Spoiler-No-Longer-a-Spoiler</guid>
		<description><![CDATA[There is currently a headline on Digg today entitled &#8220;LOST&#8217;s Producer Breaks &#8220;Radio Silence&#8221; to Reveal Why Charlie Died and More.&#8221;  If you read the comment (which on Digg, are all too frequently inane rants rolled with inside jokes), you&#8217;l see the poor submitter getting roasted for his title, which includes a &#8220;spoiler.&#8221;  [...]]]></description>
			<content:encoded><![CDATA[<p>There is currently a headline on Digg today entitled &#8220;<a href="http://www.digg.com/television/LOST_s_Producer_Breaks_Radio_Silence_to_Reveal_Why_Charlie_Died_and_More">LOST&#8217;s Producer Breaks &#8220;Radio Silence&#8221; to Reveal Why Charlie Died and More</a>.&#8221;  If you read the comment (which on Digg, are all too frequently inane rants rolled with inside jokes), you&#8217;l see the poor submitter getting roasted for his title, which includes a &#8220;spoiler.&#8221;  Wikipedia calls a spoiler &#8220;<i>A spoiler is a summary or description of a narrative (or part of a narrative) that relates plot elements not revealed early in the narrative itself.</i>&#8220;</p>
<p>In colloquial use, a spoiler is revealing something either as yet unrevealed or any major plot twist.   Today is Saturday and people are complaining that the headline contains a spoiler, that Charlie died.  Forget for a moment that anyone who has seen Lost in the last few months knew this moment was coming &#8211; my question is, &#8220;is this actually a spoiler?&#8221;</p>
<p>By strictist definition, Darth Vader being revealed as Luke&#8217;s father is a spoiler, despite its presence as a pop culture reference.  By loosest definition, spoilers are revealed every day.  </p>
<p>First off, the submitter on Digg was quoting an article on E Online, which, for the record, shared the same title.  Secondly, well over 1,000 people dugg it up &#8211; do they not share any blame.  And thirdly, is this even a spoiler? This information was in several online articles the day after the Wednesday finale.</p>
<p>The fact is, nearly every major news outlet &#8220;spoiled&#8221; American Idol within a day of the finale, but I didn&#8217;t hear people complaining about that.  And although I&#8217;ve heard people say &#8220;Digg isn&#8217;t just for the US, and other places are broadcast behind you,&#8221; ABC does share the full length episodes on their website and&#8230; well&#8230; this is the INTERNET! It&#8217;s the age of instantaneous information.  </p>
<p>So what is an acceptable amount of time to wait before something is no longer a spoiler? I believe spoilers are real time only for TV, and pretty close to it for movies.  It would&#8217;ve been a spoiler on Wednesday day or before, but once the episode airs, it&#8217;s no longer a spoiler.  And if you don&#8217;t want to know, stay off the internet, certainly sites that will features reviews of a show that is very popular.  </p>
<p>Movies are close to real time; it&#8217;s bad class to give away the twist to a movie, but how long until people generally know the twist? Is &#8220;The Sixth Sense&#8221; still fooling anyone? </p>
<p>Spoilers are only spoilers until the general public gets access.  Then, I&#8217;m afraid, it&#8217;s every man for himself.  You are responsible for navigating yourself away from the data you&#8217;re trying to avoid, because the world doesn&#8217;t owe it to you to not discuss something popular because you didn&#8217;t get a chance to watch it.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/When-Is-A-Spoiler-No-Longer-a-Spoiler/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>User Generated Content Usually Sucks</title>
		<link>http://firsttube.com/read/User-Generated-Content-Usually-Sucks/</link>
		<comments>http://firsttube.com/read/User-Generated-Content-Usually-Sucks/#comments</comments>
		<pubDate>Mon, 08 Jan 2007 18:59:08 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Digg]]></category>
		<category><![CDATA[OSNews]]></category>
		<category><![CDATA[Slashdot]]></category>
		<category><![CDATA[User Generated Content]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/User-Generated-Content-Usually-Sucks</guid>
		<description><![CDATA[This goes to show how worthless digg.com comments can be. Nearly every comment is dugg down.  C&#8217;mon, are these the kinds of comments that people feel they should take the time to type and submit.  Do they think other people will get joy from reading them?  
Read this comments on this inane, [...]]]></description>
			<content:encoded><![CDATA[<p>This goes to show how worthless digg.com comments can be. <a href="http://digg.com/security/IBM_using_Napoleon_Dynamite_quote_to_encrypt_data">Nearly every comment is dugg down</a>.  C&#8217;mon, are these the kinds of comments that people feel they should take the time to type and submit.  Do they think other people will get joy from reading them?  </p>
<p>Read this comments on <a href="http://youtube.com/watch?v=CQO3K8BcyGM">this inane, embarassing mess</a>.  Folks, this is proof that user generated content is not necessarily anything more than just volume.  <a href="http://myspace.com">So is this</a>, by the way.   </p>
<p>Sites like <a href="http://slashdot.org">Slashdot</a> and <a href="http://osnews.com">OSNews</a> are mostly valuable because their users contribute so much quality in the comments.  Slashdot has been better since I moved my threshold to +3.  <a href='http://osnews.com'>OSNews</a> is pretty good at 0.  But most sites that make it too easy to participate are complete crap.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/User-Generated-Content-Usually-Sucks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Best Digg Comment Ever?</title>
		<link>http://firsttube.com/read/Best-Digg-Comment-Ever/</link>
		<comments>http://firsttube.com/read/Best-Digg-Comment-Ever/#comments</comments>
		<pubDate>Thu, 04 Jan 2007 22:29:16 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Digg]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Best-Digg-Comment-Ever</guid>
		<description><![CDATA[Could this be the best digg.com comment ever?
I think it is.  It&#8217;s clear, concise, and well worded.  It&#8217;s not moronic, it doesn&#8217;t rely on AOL-speak or l33t.  It doesn&#8217;t play off the same techie cliches.  It&#8217;s just good, old fashioned quality content.  It makes a point and it makes a [...]]]></description>
			<content:encoded><![CDATA[<p>Could this be the <a href="http://www.digg.com/offbeat_news/Digg_and_YouTube_Powering_Atheism_2_0#c4554311">best digg.com comment ever</a>?</p>
<p>I think it is.  It&#8217;s clear, concise, and well worded.  It&#8217;s not moronic, it doesn&#8217;t rely on AOL-speak or l33t.  It doesn&#8217;t play off the <a href="http://www.codinghorror.com/blog/archives/000759.html">same techie cliches</a>.  It&#8217;s just good, old fashioned quality content.  It makes a point and it makes a point well.  </p>
<p>The quality of comments on digg.com are generally low, but every now and again you find a diamond in the rough.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/Best-Digg-Comment-Ever/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Suggestions for Improving digg.com</title>
		<link>http://firsttube.com/read/suggestions-for-improving-diggcom/</link>
		<comments>http://firsttube.com/read/suggestions-for-improving-diggcom/#comments</comments>
		<pubDate>Thu, 09 Nov 2006 14:22:22 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Digg]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Suggestions-for-Improving-diggcom</guid>
		<description><![CDATA[How do you digg? Do you digg up articles that fascinate you? Articles that your friends recommend? Articles you want to check back on later? Do you use it as a social news system, as intended, or as a bookmarking system? The problem, as I see it, is that as cool as digg is, there&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>How do you <a href="http://digg.com">digg</a>? Do you digg up articles that fascinate you? Articles that your friends recommend? Articles you want to check back on later? Do you use it as a social news system, as intended, or as a bookmarking system? The problem, as I see it, is that as cool as digg is, there&#8217;s no real guide as to how to use the site. I think it can be fixed with a few minor changes.  Read on for more.<br />
<span id="more-274"></span><br />
<a href="http://digg.com">Digg</a>&#8217;s big problem, I think, is that&#8217;s it&#8217;s now in Slashdot territory.  Too many sites buckle under the weight of the traffic digg sends its way, consequently, you find several stories a day pointing to an unresponsive website.  Worse, you end up with site after site pointing to a WordPress database connection error page.  This is especially frustrating when the WordPress blog points to an embedded video from YouTube, break.com, or Google Video, all of whom could have otherwise handled the traffic.</p>
<p>We know that often times, once they make the front page, <a href="http://themulife.com/?p=256">stories continue to receive diggs even if the site is unresponsive</a>.  Why? How can this be? This exposes a major flaw in the system &#8211; if the title and description are good enough, people will digg it, no matter what is on the other side.  And that suggests we need two things.</p>
<p>First and foremost, we need bookmark functionality.  Make my digg history almost worthless by allowing me to arbitrarily bookmark posts &#8211; seriously.  This way, I can digg posts that I think should be in the front page without worrying that my history will be diluted.  Maybe a bookmark (but not a digg) counts as a quarter-digg in the algorithm (or something like that).  This way, I can bookmark a post to revisit it later without digging it now.  I can choose to digg it later or not.</p>
<p>The idea of &#8220;digg&#8221; I think has always been to play the word &#8220;dig,&#8221; such as &#8220;Yeah, man, I really like this site.  Ya dig?&#8221;  How can you digg something you haven&#8217;t seen?</p>
<p>If bookmarks were implemented, posts wouldn&#8217;t necessarily continue to accumulate diggs even if the page goes down.  Loyal readers suckered by a good headline, as I was yesterday when I kept going back to a posts entitled &#8220;<a href="http://digg.com/videos_comedy/Uber_Nerd_Calls_911">Uber-Nerd Calls 911</a>&#8221; which pointed to <a href="http://www.infectiousvideos.com/index.php?p=showvid&amp;a=playvid&amp;sid=3136&amp;cr=hotplay">this clip from Reno 911</a>, wouldn&#8217;t be forced to digg something just to remember to come back to it.  The site went down mere seconds after being front paged, and then to rescue to the poor site, the video was temporarily removed and links to other videos were put in its place.  Now, sure, there&#8217;s <a href="http://duggmirror.com">DuggMirror</a>, but DuggMirror can be blocked by robots.txt, so it&#8217;s not a sure thing, and it requires me to remember or bookmark, rather than simply click a link on digg.com itself and have a pending list of links to revisit &#8211; my digg bookmarks.</p>
<p>This is very different from the recently introduced &#8220;My #1&#8243; feature, which is mostly useless to me.  This allows you to chose a story you&#8217;d like to feature, for some unknown reason, but only from the stories you&#8217;ve dugg.  Furthermore, since I added something to &#8220;My #1&#8243; the day it was rolled out mistakenly (due to a *Digg* coding error at that!), it&#8217;s stuck there, the first story in my  <a href="http://digg.com/users/ascheinberg/myone">myone section</a>.  I can&#8217;t remove it, even though I haven&#8217;t even dugg it.</p>
<p>Now, this could go the other way.  While some may be more reserved in their digging once they can bookmark, it can be argued that adding bookmarks could potentially mean <strong>more</strong> diggs.  Once you can segregate your important stories, a digg is easy to hand out with no limits.  So the next step is that instead of the links going right to the site, the links should all be measured.  I wouldn&#8217;t mind seeing a digg link point to http://digg.com/link/ae59f907b23 and then having my own personal &#8220;clicked link&#8221; history too.</p>
<p>On top of that, the number of actual clicks could factor into the algorithm.  I&#8217;m betting that several people digg each front page story without ever having looked at it.  Like all trends here, this is good and bad. It&#8217;s possible that I may feel as though this piece should be shared, particularly if it&#8217;s a headline like &#8220;Rumsfeld Quits!&#8221; that I know to be true whether I read the article or not.  But for most stories, the number of clicks should matter.  If the number of diggs paces the number of clicks, for most stories, this is suspicious.  And I bet it happens a lot.  This goes double for comedy videos or submitters who conjure great headlines.</p>
<p>Yes, I always check out the window.status onmouseover, but this could easily be replaced even if the link doesn&#8217;t point to the URL is redirects to.  Perhaps this feature could even be toggled for the ultra paranoid who are freaked out about being monitored.  I just assume that since HTTP is sniffable by anyone who uses TCP/IP and has access to routers, my click history &#8211; at least at digg.com &#8211; isn&#8217;t that sensitive.</p>
<p>The last big problem I see with Digg is the ever-growing stream of duplicates.  Yesterday, someone submitted <a href="http://digg.com/apple/Macbook_Core_2_Duo_Is_Finally_here_W00t">this genius piece</a>.  It was probably the 20th article about the Macbook Core 2 Duo release.  Since it was a dupe, the author got around it by pointing to the site: http://www.apple.com/powerbook.  Of course, since there is no Powerbook anymore, it redirects you to a meaningful page, but one that has already been submitted.  This is silly &#8211; the author almost assuredly knew this was a duplicate story and purposely entered this URL to fool the digg engine.  2300+ diggs later, it paid off.  Digg needs a better way of monitoring dupes.  <a href="http://en.wikipedia.org">Wikipedia</a> has an interesting practice &#8211; when a potentionally controversial entry is linked from an external source that drives large amounts of traffic in, the administrators lock down that entry for some period.  Perhaps digg needs some site admins whose job is solely to monitor the site, a few smart operators to scan the Matrix.  When there&#8217;s an announcement such as new Macbooks or Vista&#8217;s RTM, they look for dupes and simply blow em away.  Sure, is is community run.  But I&#8217;m sure the community agrees that softing through the same stupid announcment 20+ times makes digg.com/view/all/upcoming a real chore.</p>
<p>Digg is a great site, its only shortcoming is that various methods of using the tools provided to us make for results that are inconsistent.  Furthermore, bad links can be, and often are, dugg up if the site is down but the title is good enough.  A few changes to the core of the site would make the entire thing much more usable and would make the concept of a digg more valuable.</p>
<p>So, in summation:</p>
<ol>
<li>Digg should add a bookmarking system independent from the digg system</li>
<li>Outgoing clicks should be measured</li>
<li>Hire community moderators to weed out duplicate posts</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/suggestions-for-improving-diggcom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>firsttube.com Now Has An API</title>
		<link>http://firsttube.com/read/firsttubecom-Now-Has-An-API/</link>
		<comments>http://firsttube.com/read/firsttubecom-Now-Has-An-API/#comments</comments>
		<pubDate>Thu, 12 Oct 2006 10:56:42 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Digg]]></category>
		<category><![CDATA[OSNews]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/firsttubecom-Now-Has-An-API</guid>
		<description><![CDATA[Well, something I&#8217;ve LONG considered implementing is an API for my website.  Yes, there&#8217;s VERY little to ever use an API for me, however, it&#8217;s always been one of those &#8220;out there&#8221; challenges.  It&#8217;s always been breaking new ground to parse an XML request and return XML to it.  I&#8217;ve tried probably [...]]]></description>
			<content:encoded><![CDATA[<p>Well, something I&#8217;ve LONG considered implementing is an API for my website.  Yes, there&#8217;s VERY little to ever use an API for me, however, it&#8217;s always been one of those &#8220;out there&#8221; challenges.  It&#8217;s always been breaking new ground to parse an XML request and return XML to it.  I&#8217;ve tried probably 10 times before, and each time I&#8217;ve given up.  This time, I had to figure it out. </p>
<p>So I slammed the pedal to the metal and did it.  I now have a working API.  It currently supports only 1 method reliably &#8211; blogger2.newPost() &#8211; however, I have tested blogger.getRecentPosts and both corresponding methods under the metaWeblog API.   That said, I will probably hack something up that explains how to add an API to your homegrown PHP weblog.  There are functions out there that do the hardwork, and there are functions I&#8217;ve written that do the rest of the work, so you just need to write the correct queries for your database. </p>
<p>Anyway, I can now post from digg.com, which is cool.  Ultimately, if we ever support user blogs on OSNews, we&#8217;ll roll out an API so people can comment on <a href='http://osnews.com'>OSNews</a> and Digg stories via the API.  Could be interesting.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/firsttubecom-Now-Has-An-API/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bye-Bye Slashdot, Hello IG</title>
		<link>http://firsttube.com/read/Bye-Bye-Slashdot/</link>
		<comments>http://firsttube.com/read/Bye-Bye-Slashdot/#comments</comments>
		<pubDate>Fri, 15 Sep 2006 14:32:42 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Bloglines]]></category>
		<category><![CDATA[Digg]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[OSNews]]></category>
		<category><![CDATA[Slashdot]]></category>
		<category><![CDATA[Tabs]]></category>
		<category><![CDATA[Web Browser]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Bye-Bye-Slashdot</guid>
		<description><![CDATA[Today is a fairly big day, well, at least for my internet habits.  When I launch a browser and open up my tabs, they look like this:
Gmail&#124;Slashdot&#124;OSNews&#124;My Yahoo!&#124;Work&#124;Bloglines&#124;Digg
I&#8217;ve added to the tabs in the last year or two: I added the work tab (email when at home, our helpdesk at work), then added Bloglines [...]]]></description>
			<content:encoded><![CDATA[<p>Today is a fairly big day, well, at least for my internet habits.  When I launch a browser and open up my tabs, they look like this:</p>
<p>Gmail|Slashdot|OSNews|My Yahoo!|Work|Bloglines|Digg</p>
<p>I&#8217;ve added to the tabs in the last year or two: I added the work tab (email when at home, our helpdesk at work), then added Bloglines when I got into RSS aggreggation.  Then Digg is new as of the middle of last year or so.  </p>
<p>But I realized recently that I don&#8217;t really read Slashdot much anymore.  For one, their news is way too slow, especially compared to Digg.  The same COULD be said for OSNews, although we&#8217;re typically MUCH faster (faster even than Digg can promote to the front page for huge news), we feature many more originals, and the comments are readable, whereas the Slashdot arrogance and the volume of comments has gotten to be too much for me.  What has been my #2 tab since about 2002 (I started reading Slashdot sometime in 2000) is now used the least of all.  So, with the introduction of tab&#8217;s on <a href="http://google.com/ig">Google&#8217;s customizable homepage</a>, I pimped out my Google and made it tab #2.  I&#8217;ve got my main tab, my Tech tab, my Sports tab, and my Entertainment tab rockin&#8217;.  It&#8217;s pretty cool.  So, from now on, I&#8217;ll get my Slashdot fill from google.com/ig.  </p>
<p>I wonder if Slashdot is losing people, or if I&#8217;m just a single person moving on.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/Bye-Bye-Slashdot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
