<?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>Grep My Mind</title>
	<atom:link href="http://www.grepmymind.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.grepmymind.com</link>
	<description>Wonder what’s on my mind? Now you know.</description>
	<lastBuildDate>Wed, 14 Oct 2009 22:20:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Status 200 != OK?</title>
		<link>http://www.grepmymind.com/2009/06/11/status-200-ok/</link>
		<comments>http://www.grepmymind.com/2009/06/11/status-200-ok/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 19:59:03 +0000</pubDate>
		<dc:creator>Michael Tougeron</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[200]]></category>
		<category><![CDATA[401]]></category>
		<category><![CDATA[404]]></category>
		<category><![CDATA[500]]></category>
		<category><![CDATA[503]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTTP status codes]]></category>
		<category><![CDATA[yahoo!]]></category>

		<guid isPermaLink="false">http://www.grepmymind.com/?p=333</guid>
		<description><![CDATA[When you think about SEO do you remember to think about how your website handles HTTP status codes? The odds are that you don&#8217;t. Your &#8220;page not found&#8221; probably returns a 404 (everyone knows about that one) but what about programmatic error pages or login pages? Search engines index pretty much anything that has a [...]]]></description>
			<content:encoded><![CDATA[<p>When you think about <a href="http://en.wikipedia.org/wiki/Search_engine_optimization">SEO</a> do you remember to think about how your website handles <a href="http://en.wikipedia.org/wiki/List_of_HTTP_status_codes">HTTP status codes</a>?  The odds are that you don&#8217;t.  Your &#8220;page not found&#8221; probably returns a <a href="http://en.wikipedia.org/wiki/HTTP_404">404</a> (everyone knows about that one) but what about programmatic error pages or login pages?  Search engines index pretty much anything that has a 200 status code.  This means if you don&#8217;t pay attention you can end up with pages indexed &#038; findable that shouldn&#8217;t be.</p>
<p>For example, if you are logged out, <a href="http://www.washingtonpost.com/newsletters/">Washington Post&#8217;s</a> newsletter page 302 redirects you to a login page that then serves a 200.  This means a <a href="http://www.google.com/search?q=newsletters+site%3Awashingtonpost.com">Google search for newsletters</a> for <a href="http://www.washingtonpost.com/">washingtonpost.com</a> gets indexed with the text from the login page.  If they were to serve a 401 &#8220;Unauthorized&#8221; on the pages that require logins, these login pages would not be indexed.  Use caution with that scenario though.  It might be better to handle search engines differently than normal users so the content can be indexed.</p>
<p><span id="more-333"></span>What if sometimes you need to take a feature offline (or even, godz forbid, the entire site) for maintenance/upgrades?  I assume you provide some sort of messaging to the users.  If that page serves a 200 status and Google happens to try to index during that time you get screwed by having all of that feature&#8217;s pages get indexed as a single page.  It is better to have the offline message page return a 503 status so the search engine knows that the service is temporarily unavailable and to try again later.</p>
<p>It is becoming more common for sites to capture a 404 and try to do a site search, or similar processing, for a possible match.  Frequently when this happens it is handled within the app code rather than having the web server deliver the default 404 page.  At GameSpot.com, the programmer who first set this up forgot to serve the 404 status code and was returning a 200.  This meant that when a duplicate game was deleted from the database, the links to it were still showing up on Google.  Once we made sure the code returned a status of 404 they went away next time Google indexed the site.</p>
<p>Finally, don&#8217;t forget about the 400 status code.  If you try to load phpBB&#8217;s forums with an <a href="http://www.phpbb.com/community/viewforum.php?f=dsfsdg">invalid forum id</a> it will return a 200 status code even though it is not a valid request.  This is a good situation to serve a 400 Bad Request.  Keep in mind that that you probably wouldn&#8217;t want to return a 400 if the forum id just doesn&#8217;t exist (e.g., http://www.phpbb.com/community/viewforum.php?f=123456) because it might exist at some point.  At the very least, return a 404.</p>
<p>As a side note, with HTTP/1.1 there is a new 307 status code that is very similar to how you&#8217;re used to using 302s.  It will probably be a few more years before HTTP/1.1 is the default for browsers &#038; the 307 will be truly usable. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.grepmymind.com/2009/06/11/status-200-ok/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How FriendFeed uses MySQL to store schema-less data &#8211; SF MySQL Meetup April 6th, 2009</title>
		<link>http://www.grepmymind.com/2009/03/28/how-friendfeed-uses-mysql-to-store-schema-less-data-sf-mysql-meetup-april-6th-2009/</link>
		<comments>http://www.grepmymind.com/2009/03/28/how-friendfeed-uses-mysql-to-store-schema-less-data-sf-mysql-meetup-april-6th-2009/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 20:40:29 +0000</pubDate>
		<dc:creator>Michael Tougeron</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Bret Taylor]]></category>
		<category><![CDATA[FriendFeed]]></category>
		<category><![CDATA[SF MySQL Meetup]]></category>

		<guid isPermaLink="false">http://www.grepmymind.com/?p=326</guid>
		<description><![CDATA[When: 6:30pm Monday April 6th, 2009 Where: CBS Interactive &#8211; 235 2nd Street San Francisco, CA RSVP: How FriendFeed uses MySQL to store schema-less data Join the SF MySQL Meetup for our April meetup where Bret Taylor from FriendFeed talks about how they store their data in a &#34;schema-less&#34; system on top of MySQL. FriendFeed [...]]]></description>
			<content:encoded><![CDATA[<p>When: 6:30pm Monday April 6th, 2009<br />
Where: CBS Interactive &#8211; 235 2nd Street San Francisco, CA<br />
RSVP: <a href="http://mysql.meetup.com/30/calendar/9862949/">How FriendFeed uses MySQL to store schema-less data</a></p>
<hr />
<p>Join the <a href="http://mysql.meetup.com/30/">SF MySQL Meetup</a> for our April meetup where <a href="http://bret.appspot.com/" target="_blank">Bret Taylor</a> from <a href="http://friendfeed.com" target="_blank">FriendFeed</a> <a href="http://bret.appspot.com/entry/how-friendfeed-uses-mysql" target="_blank">talks about how they store their data in a &quot;schema-less&quot; system on top of MySQL</a>.  FriendFeed stores over 250 million entries and a bunch of other data, from comments and &quot;likes&quot; to friend lists.</p>
<p>As the database has grown, they have tried to iteratively deal with the scaling issues that come with rapid growth. They did the typical things, like using read slaves and <a href="http://en.wikipedia.org/wiki/Memcached" target="_blank">memcache</a> to increase read throughput and <a href="http://en.wikipedia.org/wiki/Sharding" target="_blank">sharding</a> our database to improve write throughput. However, as FriendFeed grew, scaling their existing features to accommodate more traffic turned out to be much less of an issue than adding new features.</p>
<p>In particular, making schema changes or adding indexes to a database with more than 10 &#8211; 20 million rows completely locks the database for hours at a time.  After some deliberation, FriendFeed decided to implement a &quot;schema-less&quot; storage system on top of MySQL rather than use a completely new storage system. This talk attempts to describe the high-level details of the system.</p>
<p><span id="more-326"></span></p>
<hr />
<p>Bret Tayler is one of the founders of FriendFeed.com.  Before starting FriendFeed, he was a Group Product Manager at Google, responsible for Google&#8217;s developer products. Before that, he launched Google Maps and Google Local, and before that he worked on Google&#8217;s crawling and indexing infrastructure.</p>
<hr />
Agenda:<br />
6:30 &#8211; 7:15 &#8212; Doors open/general socializing &amp; food provided by Sun Startup Essentials<br />
7:15 &#8211; 8:30 &#8212; Main presentation by Bret Taylor from FriendFeed<br />
8:30 &#8211; 9:00 &#8212; Main presentation Q&amp;A<br />
9:00 &#8211; 10:00 &#8212; General discussion/Q&amp;A/networking/etc.<br />
10:00ish &#8212; end of group</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grepmymind.com/2009/03/28/how-friendfeed-uses-mysql-to-store-schema-less-data-sf-mysql-meetup-april-6th-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diving into the Yahoo! Open Stack &#8211; SF PHP Meetup April 2nd, 2009</title>
		<link>http://www.grepmymind.com/2009/03/11/diving-into-the-yahoo-open-stack-sf-php-meetup-april-2nd-2009/</link>
		<comments>http://www.grepmymind.com/2009/03/11/diving-into-the-yahoo-open-stack-sf-php-meetup-april-2nd-2009/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 16:03:35 +0000</pubDate>
		<dc:creator>Michael Tougeron</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[dustin whittle]]></category>
		<category><![CDATA[php meetup]]></category>
		<category><![CDATA[yahoo!]]></category>
		<category><![CDATA[yahoo! open stack]]></category>

		<guid isPermaLink="false">http://www.grepmymind.com/?p=319</guid>
		<description><![CDATA[When: 6:30pm Thursday April 2nd, 2009 Where: CBS Interactive &#8211; 235 2nd Street San Francisco, CA RSVP: Diving into the Yahoo! Open Stack Join the SF PHP Meetup for an exploration into the Yahoo! Open Stack and learn how to leverage Yahoo&#8217;s platforms and scalability to build your next application. We will examine the components [...]]]></description>
			<content:encoded><![CDATA[<p>When: 6:30pm Thursday April 2nd, 2009<br />
Where: CBS Interactive &#8211; 235 2nd Street San Francisco, CA<br />
RSVP: <a href="http://www.meetup.com/sf-php/calendar/9864926/">Diving into the Yahoo! Open Stack</a></p>
<hr />
Join the <a href="http://www.meetup.com/sf-php/">SF PHP Meetup</a> for an exploration into the <a href="http://developer.yahoo.com/" target="_blank">Yahoo! Open Stack</a> and learn how to leverage Yahoo&#8217;s platforms and scalability to build your next application. We will examine the components that make up Yahoo&#8217;s open stack: developer tools (<a href="http://developer.yahoo.com/yui/" target="_blank">YUI</a>), data apis (<a href="http://developer.yahoo.com/yql/" target="_blank">YQL</a>, <a href="http://developer.yahoo.com/search/boss/" target="_blank">BOSS</a>), social apis, and the application platform (<a href="http://developer.yahoo.com/yap/" target="_blank">YAP</a>).</p>
<ul>
<li>Overview
<ul>
<li>What is the Yahoo! Open Stack?
<ul>
<li>Developer Tools &#8211; YUI, Tutorials</li>
<li>YOS SDK for PHP</li>
</ul>
</li>
<li> Data APIs &#8211; YQL, BOSS &#8230;</li>
<li> Social APIs &#8211; Profiles, Connections, Updates, &#8230;</li>
<li> Application Platform
<ul>
<li> OpenSocial Support</li>
</ul>
</li>
</ul>
</li>
<li> How does it all work?
<ul>
<li> Development Workflow</li>
</ul>
</li>
<li> Building an open application with PHP and YOS</li>
<li> Common Problems &amp; Solutions
<ul>
<li> CAJA</li>
<li> OpenSocial</li>
</ul>
</li>
</ul>
<p><span id="more-319"></span></p>
<hr /><a href="http://www.linkedin.com/in/iamdustinwhittle" target="_blank">Dustin Whittle</a> is a Technical Yahoo! and Developer Evangelist for Yahoo&#8217;s Open Strategy. When he is not evangelizing Yahoo&#8217;s Open Stack, he helps develop it through his work on the Yahoo! Developer Network and Yahoo! Application Platform. Prior to his work helping create an open Yahoo!, he has contributed to Yahoo! Answers and Delicious. When not focused on Yahoo!, he is an active open source contributor for the <a href="http://symfony-project.com/" target="_blank">symfony project</a> and is a regular speaker at technical conferences around the world.</p>
<hr />
Agenda:<br />
6:30 &#8211; 7:15 &#8212; Doors open/general socializing &amp; food provided by Yahoo!<br />
7:15 &#8211; 8:30 &#8212; Main presentation by Dustin Whittle on the Yahoo! Open Stack<br />
8:30 &#8211; 9:00 &#8212; Main presentation Q&amp;A<br />
9:00 &#8211; 10:00 &#8212; General discussion/Q&amp;A/networking/etc.<br />
10:00ish &#8212; end of group</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grepmymind.com/2009/03/11/diving-into-the-yahoo-open-stack-sf-php-meetup-april-2nd-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2009-03-08</title>
		<link>http://www.grepmymind.com/2009/03/08/twitter-updates-for-2009-03-08/</link>
		<comments>http://www.grepmymind.com/2009/03/08/twitter-updates-for-2009-03-08/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 06:00:00 +0000</pubDate>
		<dc:creator>Michael Tougeron</dc:creator>
				<category><![CDATA[Twitter]]></category>
		<category><![CDATA[tweets]]></category>

		<guid isPermaLink="false">http://www.grepmymind.com/2009/03/08/twitter-updates-for-2009-03-08/</guid>
		<description><![CDATA[Uploading phptos from this weekend to Flickr # Watching Airwolf from netflix on the xbox # 2minutes is a *really* long time if you have a screaming baby # Just wrote a quick blog entry about how I like to use svn hooks: http://tinyurl.com/dk4wfe # I can&#8217;t believe I actually did this&#8230;but I just purposefully [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Uploading phptos from this weekend to Flickr <a href="http://twitter.com/mtougeron/statuses/1298068972">#</a></li>
<li>Watching Airwolf from netflix on the xbox <a href="http://twitter.com/mtougeron/statuses/1295500211">#</a></li>
<li>2minutes is a *really* long time if you have a screaming baby <img src='http://www.grepmymind.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  <a href="http://twitter.com/mtougeron/statuses/1293535097">#</a></li>
<li>Just wrote a quick blog entry about how I like to use svn hooks: <a href="http://tinyurl.com/dk4wfe" rel="nofollow">http://tinyurl.com/dk4wfe</a> <a href="http://twitter.com/mtougeron/statuses/1293197202">#</a></li>
<li>I can&#8217;t believe I actually did this&#8230;but I just purposefully clicked on a ad on a website. That&#8217;s the 1st time except in testing @GameSpot. <a href="http://twitter.com/mtougeron/statuses/1293059648">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.grepmymind.com/2009/03/08/twitter-updates-for-2009-03-08/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>svn pre-commit &amp; post-commit hooks</title>
		<link>http://www.grepmymind.com/2009/03/07/svn-pre-commit-post-commit-hooks/</link>
		<comments>http://www.grepmymind.com/2009/03/07/svn-pre-commit-post-commit-hooks/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 16:47:55 +0000</pubDate>
		<dc:creator>Michael Tougeron</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[post-commit]]></category>
		<category><![CDATA[pre-commit]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[svn commit hooks]]></category>
		<category><![CDATA[svn hooks]]></category>

		<guid isPermaLink="false">http://www.grepmymind.com/?p=311</guid>
		<description><![CDATA[I have to say I love subversion (svn) hooks.  I&#8217;ve only been playing around with the concept fairly recently and I&#8217;m surprised that I lasted this long without them.  I wanted to take a few minutes and share my favorite ways of using them.  As well as a few that I don&#8217;t use but I [...]]]></description>
			<content:encoded><![CDATA[<p>I have to say I love <a href="http://subversion.tigris.org/">subversion</a> (svn) hooks.  I&#8217;ve only been playing around with the concept fairly recently and I&#8217;m surprised that I lasted this long without them.  I wanted to take a few minutes and share my favorite ways of using them.  As well as a few that I don&#8217;t use but I think could be pretty helpful.</p>
<p>Before we keep going, if you don&#8217;t know what svn hooks are you can read up on them at <a href="http://svnbook.red-bean.com/en/1.1/ch05s02.html">http://svnbook.red-bean.com/en/1.1/ch05s02.html</a>.  svnbook.red-bean.com is my reference site of choice whenever I need to look up a svn command.</p>
<p>My #1, all-time, greatest in the world, bestest favorite is a svn pre-commit hook to syntax check my <a href="http://php.net">PHP</a> code.  There is nothing I hate more than a developer checking in code with syntax errors and breaking qa or stage or even, god-forbid, production.  It&#8217;s as easy as setting up the hook to run a script that calls &#8220;/path/to/php -l /path/to/file.php&#8221; and on failure reject the commit.  This way code that has syntax errors will never make it into SVN.  Now if only open-source projects like <a href="http://framework.zend.com/">ZendFramework</a> did something like this before releasing their code.  To be fair, the syntax errors are in their documentation not in the /library/ files but that&#8217;s still pretty dumb &amp; annoying.</p>
<p>Another nice way to use a post-commit hook is to run something like <a href="http://pear.php.net/package/PHP_CodeSniffer">PHP_CodeSniffer</a> against the commit.  CodeSniffer is an awesome <a href="http://pear.php.net">PEAR </a>package that scans your file and flags coding standards violations.  It comes pre-packaged with sniffers for the PHPCS, <a href="http://pear.php.net/manual/en/standards.php">PEAR</a>, <a href="http://squiz.net">Squiz</a> and  <a href="http://framework.zend.com/manual/en/coding-standard.html">Zend</a>.  Set it up to run and if it finds coding standard violations you can have the hook send out nasty little blame messages.  <img src='http://www.grepmymind.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   This isn&#8217;t something that I&#8217;d want to run on pre-commit just in case you really need to get something into production NOW.  But if I hosted an open source project, <a href="http://pear.php.net/manual/en/package.php.php-codesniffer.svn-pre-commit.php">I&#8217;d consider it</a>.</p>
<p>Having minified JavaScript &amp; CSS has become the standard way of serving JS &amp; CSS.  But who really wants to take the time to minify or combine them?  Once again, enter svn hooks.  One of the developers set this up for <a href="http://www.gamespot.com/">GameSpot</a> and it has been working great!  Basically it checks the commits against a defined naming standard, file.src.js or file.src.css, and then runs the <a href="http://developer.yahoo.com/yui/compressor/">YUI! Compressor</a> on it and commits in file.min.(js|css).  He also made it check a global.conf in the file&#8217;s directory so it came mash up smaller js files into a global.min.js so we serve one file instead of ten.</p>
<p>Of course, let&#8217;s not forget about what is probably the most common svn hook; the post-commit email hook.  I like <a href="http://opensource.perlig.de/svnmailer/">svnmailer</a> better than <a href="http://subversion.tigris.org/tools_contrib.html#mailer_py">mailer.py</a> that comes with svn by default.  I think it&#8217;s easier to configure/change and to setup rules for how you want the emails to look or where to go.</p>
<p>If you&#8217;re using a ticket tracking system like <a href="http://www.bugzilla.org/">Bugzilla</a> or <a href="http://trac.edgewall.org/">Trac</a> that doesn&#8217;t have its own way of peeking into svn (like <a href="http://www.atlassian.com/software/jira/">JIRA</a> can with this <a href="http://confluence.atlassian.com/display/JIRAEXT/JIRA+Subversion+plugin">plugin</a>) you can write a post-commit hook to update the ticket when something is committed.  You can see how Trac recommends you do it at <a href="http://trac.edgewall.org/browser/trunk/contrib/trac-post-commit-hook">http://trac.edgewall.org/browser/trunk/contrib/trac-post-commit-hook</a>.</p>
<p>To help you on the way to creating your own svn hooks, tigris has a few <a href="http://subversion.tigris.org/tools_contrib.html#hook_scripts">hooks that are distributed</a> with svn.  They can be quite helpful so you should take a look at them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grepmymind.com/2009/03/07/svn-pre-commit-post-commit-hooks/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Goodbye Paul Harvey</title>
		<link>http://www.grepmymind.com/2009/03/03/goodbye-paul-harvey/</link>
		<comments>http://www.grepmymind.com/2009/03/03/goodbye-paul-harvey/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 14:44:06 +0000</pubDate>
		<dc:creator>Michael Tougeron</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[Paul Harvey]]></category>

		<guid isPermaLink="false">http://www.grepmymind.com/?p=307</guid>
		<description><![CDATA[As you may already know, American icon Paul Harvey died on Saturday. I&#8217;ve always said to people, &#8220;Why should I care about celebrities?&#8221; I never thought I&#8217;d care a great deal about the happenings to any of them. Well it turns out I was wrong. It came as a great surprise to me when I [...]]]></description>
			<content:encoded><![CDATA[<p>As you may already know, American icon <a href="http://www.abcrn.com/harvey/">Paul Harvey</a> <a href="http://www.nytimes.com/2009/03/01/nyregion/01harvey.html">died on Saturday</a>.  I&#8217;ve always said to people, &#8220;Why should I care about celebrities?&#8221;  I never thought I&#8217;d care a great deal about the happenings to any of them.  Well it turns out I was wrong.  It came as a great surprise to me when I actually shed a tear (only one though) when I heard over the weekend that Paul Harvey passed away.  It is an even greater surprise that I still feel a bit sad whenever I hear a new tribute or story about the man.  As it turns out, I&#8217;m really going to miss listening to him on the radio.</p>
<p>I have disagreed with Paul Harvey a lot over the years (in my own thoughts anyway), mostly about the way he reported medical stories without questioning the validity of the data or his reports on the war in Iraq &#038; against terrorism.  But even with that, I have always liked his programs.  When I used to drive to work I&#8217;d try and time my commute so I could catch &#8220;The Rest of the Story&#8221; (one of my favorite programs) on <a href="http://www.kgoam810.com/">KGO</a>.  I still remember his story about the penny and the <a href="http://www.encyclopedia.chicagohistory.org/pages/275.html">Chicago newspaper</a> advertiser who started the 99 is less than 100 trend (because people feel that $9.99 is a lot less than $10) because he wanted to sell his paper for a penny instead of a nickle.  I&#8217;d even occasionally take lunch around his noon program &#8220;News &#038; Comment.&#8221;  </p>
<p>Being on the radio for over 60 years, even after he turned 90, Paul Harvey became a radio legend.  According to <a href="http://en.wikipedia.org/wiki/Paul_Harvey">his Wikipedia entry</a>, Paul Harvey&#8217;s programs were carried on over 1,200 radio stations, 400 A<a href="http://en.wikipedia.org/wiki/Armed_Forces_Network">rmed Forces Network</a> stations and 300 newspapers.  With that sort of exposure, his passing will have a profound impact and noticeable loss to a large and diverse group of people.  I&#8217;m sure he will be sorely missed.  An additional note of merit, Paul Harvey was the recipient of the <a href="http://en.wikipedia.org/wiki/Presidential_Medal_of_Freedom">Presidential Medal of Freedom</a>, America&#8217;s highest civilian award.  </p>
<p>As you might also know, his son, <a href="http://en.wikipedia.org/wiki/Paul_Harvey,_Jr.">Paul Harvey Jr</a>, has been filling in for him over the last several years as he dealt illness and the loss of his wife.  It is good to hear that Paul Harvey Jr will be continuing in his father&#8217;s footsteps and keeping the programs going.</p>
<p>Rest in peace Paul Harvey.  I, as well as a nation, mourn your passing.  In the words of Paul Harvey himself, &#8220;Good day.&#8221;</p>
<p>P.S. If you&#8217;d like to leave his family your condolence for his family you can do so at <a href="http://abcrn.com/harvey/contact/">http://abcrn.com/harvey/contact/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.grepmymind.com/2009/03/03/goodbye-paul-harvey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2009-03-06</title>
		<link>http://www.grepmymind.com/2009/02/25/twitter-updates-for-2009-03-06/</link>
		<comments>http://www.grepmymind.com/2009/02/25/twitter-updates-for-2009-03-06/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 05:25:00 +0000</pubDate>
		<dc:creator>Michael Tougeron</dc:creator>
				<category><![CDATA[Twitter]]></category>
		<category><![CDATA[tweets]]></category>

		<guid isPermaLink="false">http://www.grepmymind.com/2009/02/25/twitter-updates-for-2009-03-06/</guid>
		<description><![CDATA[Week 1 results: 6lbs. Not bad. Week 2 goals include hitting the gym more often. # I&#8217;m awake but I haven&#8217;t made it out of bed yet. I&#8217;ve been on PTO for a week and last night was the only night I couldn&#8217;t sleep. Coincidence? # @mager but mall cop wasn&#8217;t that great. Funny but [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Week 1 results: 6lbs. Not bad. Week 2 goals include hitting the gym more often. <a href="http://twitter.com/mtougeron/statuses/1241154710">#</a></li>
<li>I&#8217;m awake but I haven&#8217;t made it out of bed yet. I&#8217;ve been on PTO for a week and last night was the only night I couldn&#8217;t sleep. Coincidence? <a href="http://twitter.com/mtougeron/statuses/1240903978">#</a></li>
<li>@<a href="http://twitter.com/mager">mager</a> but mall cop wasn&#8217;t that great. Funny but not incredibly so. <a href="http://twitter.com/mtougeron/statuses/1238601365">#</a></li>
<li>Breakfast at 3 cooks cafe in Petaluma. Best breakfast place I&#8217;ve ever been. <a href="http://twitter.com/mtougeron/statuses/1234533887">#</a></li>
<li>Day 5: pretty good. Under the calories but didn&#8217;t make the gym. I&#8217;m optimistic this will stick this time. <a href="http://twitter.com/mtougeron/statuses/1233377932">#</a></li>
<li>Talked to Denise &amp; she said the helicopters overflew her school in Lafayette as well.  Interesting&#8230; Onto news searches to find out more <a href="http://twitter.com/mtougeron/statuses/1232815041">#</a></li>
<li>@<a href="http://twitter.com/gpbmike">gpbmike</a> At first I thought one was crashing. Then surprisingly enough, there was a red dawn moment. I wish I got a picture of them. <a href="http://twitter.com/gpbmike/statuses/1232765894">in reply to gpbmike</a> <a href="http://twitter.com/mtougeron/statuses/1232812433">#</a></li>
<li>Got a pic of the small helicopter that followed a few min later. I can still hear the transports in the distance. <a href="http://twitter.com/mtougeron/statuses/1232758224">#</a></li>
<li>wow! Two large dual prop helicopters just overflew my house at like 300ft. Loud suckers. <a href="http://twitter.com/mtougeron/statuses/1232722148">#</a></li>
<li>fail.  no go on getting tidy installed on my laptop in time for the presentation.  <img src='http://www.grepmymind.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />   sucks to be me. <a href="http://twitter.com/mtougeron/statuses/1229316519">#</a></li>
<li>wtf, now the laptop is asking me for the admin password to connect to a wireless network.  arg!!! <a href="http://twitter.com/mtougeron/statuses/1229005529">#</a></li>
<li>So very annoyed with my company installed laptop. <a href="http://twitter.com/mtougeron/statuses/1228965534">#</a></li>
<li>took me forever to figure out which building on the sun campus is the ballroom. For those confused too (incl the security guard) its bldng 7 <a href="http://twitter.com/mtougeron/statuses/1228740587">#</a></li>
<li>getting ready to leave for tonight&#8217;s #gbalampmeetup.  hopefully i won&#8217;t get lost this time. <a href="http://twitter.com/mtougeron/statuses/1228343933">#</a></li>
<li>Try to code up some examples before tonight&#8217;s meetup.  I have code for how to use tidy, but nothing for why other methods fail. <img src='http://www.grepmymind.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  <a href="http://twitter.com/mtougeron/statuses/1227939025">#</a></li>
<li>Day 4: Going pretty good.  I&#8217;ve made the gym 3 out of the last 4 days. woot!  Unfortunately pizza for dinner at the #<a href="http://search.twitter.com/search?q=%23gbalampmeetup">gbalampmeetup</a> <a href="http://twitter.com/mtougeron/statuses/1227930144">#</a></li>
<li>Fail: some replies are missing that were there earlier tonight. Yes they are still on the sender&#8217;s tweets page. <img src='http://www.grepmymind.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  <a href="http://twitter.com/mtougeron/statuses/1225578584">#</a></li>
<li>Day 3: dinner == fail. <img src='http://www.grepmymind.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  calories are close (within 25 of limit) but that&#8217;s not good. I&#8217;ll do better tomorrow. <a href="http://twitter.com/mtougeron/statuses/1225568774">#</a></li>
<li>It&#8217;s hard to diet when there is a ton of snack foods around&#8230; Thank goodness dinner is almost ready.  Smells yummy. <a href="http://twitter.com/mtougeron/statuses/1225300501">#</a></li>
<li>@<a href="http://twitter.com/gpbmike">gpbmike</a> I was using both for a bit but I found LiveStrong&#8217;s had more of the foods I eat. <a href="http://twitter.com/gpbmike/statuses/1225108292">in reply to gpbmike</a> <a href="http://twitter.com/mtougeron/statuses/1225112872">#</a></li>
<li>@<a href="http://twitter.com/gpbmike">gpbmike</a> I&#8217;m using livestrong.com&#8217;s iPhone app. So far the only thing I don&#8217;t like is that I can&#8217;t create a &#8220;meal&#8221; that combines ingredients <a href="http://twitter.com/gpbmike/statuses/1224995542">in reply to gpbmike</a> <a href="http://twitter.com/mtougeron/statuses/1225004478">#</a></li>
<li>Day 3: so far so good.  not eating too much &amp; I hit the gym.  Dinner is going to be iffy though.  I think I&#8217;ll still be under though. <a href="http://twitter.com/mtougeron/statuses/1224985799">#</a></li>
<li>Working on my presentation again for the #<a href="http://search.twitter.com/search?q=%23gbalampmeetup">gbalampmeetup</a> <a href="http://twitter.com/mtougeron/statuses/1224939424">#</a></li>
<li>Cooking dinner @ Denise&#8217;s grandpa&#8217;s house. It&#8217;s a spicy pork &amp; rice dish called &#8220;black death&#8221;  it&#8217;s one of my favs. <img src='http://www.grepmymind.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://twitter.com/mtougeron/statuses/1224872016">#</a></li>
<li>If it wasn&#8217;t for Akismet my blog would be filled with animal porn comments.  I&#8217;m not sure why spammers think animal porn is a good match&#8230;. <a href="http://twitter.com/mtougeron/statuses/1224507985">#</a></li>
<li>@<a href="http://twitter.com/larrrk">larrrk</a> you look like you were sleeping at the last #<a href="http://search.twitter.com/search?q=%23sfphpmeetup">sfphpmeetup</a> <a href="http://www.flickr.com/photos/michaeltougeron/3291454358/" rel="nofollow">http://www.flickr.com/photos/michaeltougeron/3291454358/</a>  <img src='http://www.grepmymind.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://twitter.com/mtougeron/statuses/1224490703">#</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.grepmymind.com/2009/02/25/twitter-updates-for-2009-03-06/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memcached Q&amp;A and SEO for Developers &#8211; SF PHP Meetup Feb 12th, 2009</title>
		<link>http://www.grepmymind.com/2009/02/04/memcached-qa-and-seo-for-developers-sf-php-meetup-feb-12th-2009/</link>
		<comments>http://www.grepmymind.com/2009/02/04/memcached-qa-and-seo-for-developers-sf-php-meetup-feb-12th-2009/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 19:33:55 +0000</pubDate>
		<dc:creator>Michael Tougeron</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[php meetup]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.grepmymind.com/?p=282</guid>
		<description><![CDATA[This month the SF PHP Meetup has two great speakers lined up. The first will be the intro talk/Q&#38;A given by Dormando on memcached. This will be less of a talk than an interactive Q&#38;A session about memcached. For the main presentation David Gomel, Senior Program Manager leading SEO within CBS Interactive, will speak to [...]]]></description>
			<content:encoded><![CDATA[<p>This month the SF PHP Meetup has two great speakers lined up.  The first will be the intro talk/Q&amp;A given by <a href="http://dormando.livejournal.com/">Dormando</a> on <a href="http://danga.com/memcached">memcached</a>.  This will be less of a talk than an interactive Q&amp;A session about memcached.</p>
<p>For the main presentation David Gomel, Senior Program Manager leading SEO within CBS Interactive, will speak to us about SEO in a Web 2.0 world.  The session will cover many of the important SEO issues that involve front and back-end engineers on a daily basis. Many of the decisions that tech folks make have the potential to materially impact search engine traffic. Even if you have been to a similar talk in the past, you should consider attending as we will be discussing topics that are frequently evolving. Please bring questions!</p>
<p>Topics will include:</p>
<ul>
<li> HTML fundamentals</li>
<li> CSS Usage</li>
<li> JavaScript/Flash/Ajax</li>
<li> Graceful Degradation</li>
<li> Multimedia Content</li>
<li> Duplicate Content</li>
<li> Redirection</li>
<li> URLs</li>
<li> Bot Traffic</li>
<li> Robots.txt</li>
</ul>
<p>&#8230;And More!</p>
<p>David Gomel is the Senior Program Manager leading SEO within CBS Interactive. He is responsible for SEO knowledge sharing and training within the company.</p>
<hr />When: <strong>6:30pm Thursday Feb 12th, 2009</strong><br />
Where: CBSi &#8211; <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=235+2nd+Street,+San+Francisco,+CA&amp;sll=37.0625,-95.677068&amp;sspn=46.946584,114.257812&amp;ie=UTF8&amp;z=16">235 2nd Street San Francisco, CA</a><br />
RSVP: <a href="http://www.meetup.com/sf-php/calendar/9230626/">http://www.meetup.com/sf-php/calendar/9230626/</a></p>
<hr />Agenda:<br />
6:30 &#8211; 7:00 &#8212; Doors open/general socializing &amp; food<br />
7:00 &#8211; 7:30 &#8212; Intro talk on <a href="http://danga.com/memcached">memcached</a> by <a href="http://dormando.livejournal.com/">Dormando</a><br />
7:30 &#8211; 8:30 &#8212; Main presentation by David Gomel on SEO.<br />
8:30 &#8211; 9:00 &#8212; Main presentation Q&amp;A<br />
9:00 &#8211; 10:00 &#8212; General discussion/Q&amp;A/networking/etc.<br />
10:00ish &#8212; end of group</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grepmymind.com/2009/02/04/memcached-qa-and-seo-for-developers-sf-php-meetup-feb-12th-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing the Tungsten Replicator for MySQL &#8211; SF MySQL Meetup Feb 2nd, 2009</title>
		<link>http://www.grepmymind.com/2009/01/24/introducing-the-tungsten-replicator-for-mysql-sf-mysql-meetup-feb-2nd-2009/</link>
		<comments>http://www.grepmymind.com/2009/01/24/introducing-the-tungsten-replicator-for-mysql-sf-mysql-meetup-feb-2nd-2009/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 18:04:15 +0000</pubDate>
		<dc:creator>Michael Tougeron</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[mysql meetup]]></category>
		<category><![CDATA[Robert Hodges]]></category>
		<category><![CDATA[Tungsten Replicator]]></category>

		<guid isPermaLink="false">http://www.grepmymind.com/?p=285</guid>
		<description><![CDATA[Almost everyone I&#8217;ve ever talked to about MySQL has some complaint or another about its replication.  So when Robert Hodges, CTO of Continuent, offered to speak about the  Tungsten Replicator open source project at the February 2nd SF MySQL meetup I was all for it!  Now I know what you are thinking&#8230; &#8220;Not another sales [...]]]></description>
			<content:encoded><![CDATA[<p>Almost everyone I&#8217;ve ever talked to about <a href="http://mysql.com">MySQL</a> has some complaint or another about its <a href="http://en.wikipedia.org/wiki/Database_replication">replication</a>.  So when <a href="http://scale-out-blog.blogspot.com/">Robert Hodges</a>, CTO of <a href="http://continuent.com">Continuent</a>, <a href="http://scale-out-blog.blogspot.com/2009/01/tungsten-replicator-presentation-on-2.html">offered to speak</a> about the  <a href="http://www.continuent.com/community/tungsten-replicator">Tungsten Replicator</a> open source project at the <a href="http://mysql.meetup.com/30/calendar/9455586/">February 2nd SF MySQL meetup</a> I was all for it!  Now I know what you are thinking&#8230; &#8220;Not another sales pitch!&#8221;  But have no fear, Robert is one hell of a smart guy and is much more of a techie than a CTO (in a good way).  I remember one sales call where Robert came to CNET to talk about Continuent&#8217;s clustering software and we ended up spending more time talking databases in general than about the product.  <img src='http://www.grepmymind.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So if you&#8217;re in the SF area on Monday Feb 2nd, 2009, stop by the <a href="http://cbsinteractive.com">CBSi</a> building and listen in.</p>
<hr />When: 6:30pm Monday Feb 2nd, 2009<br />
Where: CBSi &#8211; <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=235+2nd+Street,+San+Francisco,+CA&amp;sll=37.0625,-95.677068&amp;sspn=46.946584,114.257812&amp;ie=UTF8&amp;z=16">235 2nd Street San Francisco, CA</a><br />
RSVP: <a href="http://mysql.meetup.com/30/calendar/9455586/">http://mysql.meetup.com/30/calendar/9455586/</a></p>
<hr />Description from the <a href="http://mysql.meetup.com/30/">SF MySQL Meetup</a> <a href="http://mysql.meetup.com/30/calendar/9455586/">calendar</a>:</p>
<p>Tungsten Replicator is a new open source project for database replication. It offers MySQL to Oracle replication, robust handling of master failures, extremely flexible topologies, and an extensible architecture that allows you to add your own replication features if you don’t find them there already. I’ll describe why MySQL needs more replication, show the product architecture, describe some of the problems it solves, and demonstrate the replicator in action. Finally, we’ll play “stump the chump” where you can present your replication problem and I’ll describe how our replicator handles it. Whether you have a tricky replication problem or are just curious about the subject, please join us. This is a very technical presentation that should be of interest to all true MySQL fans.</p>
<p>More information on Tungsten Replicator: <a href="http://www.continuent.com/community/tungsten-replicator">http://www.continuent.com/community/tungsten-replicator</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.grepmymind.com/2009/01/24/introducing-the-tungsten-replicator-for-mysql-sf-mysql-meetup-feb-2nd-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stopped the twittertools plugin</title>
		<link>http://www.grepmymind.com/2009/01/20/stopped-the-twittertools-plugin/</link>
		<comments>http://www.grepmymind.com/2009/01/20/stopped-the-twittertools-plugin/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 17:47:07 +0000</pubDate>
		<dc:creator>Michael Tougeron</dc:creator>
				<category><![CDATA[Twitter]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[twittertools]]></category>

		<guid isPermaLink="false">http://www.grepmymind.com/?p=278</guid>
		<description><![CDATA[I don&#8217;t know why but the twittertools plugin went crazy on me again yesterday.  I turned it off and deleted the rogue postings.  Sorry for the trouble and the spam to your RSS readers.]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know why but the <a href="http://alexking.org/projects/wordpress">twittertools</a> plugin went crazy on me again yesterday.   I turned it off and deleted the rogue postings.   Sorry for the trouble and the spam to your RSS readers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grepmymind.com/2009/01/20/stopped-the-twittertools-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

