<?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>bsdeluxe</title>
	<atom:link href="http://www.bsdeluxe.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bsdeluxe.com</link>
	<description>...is Bob Sherron</description>
	<lastBuildDate>Thu, 17 Jun 2010 22:13:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Updating WordPress Without Torching SVN Directories</title>
		<link>http://www.bsdeluxe.com/2010/01/13/updating-wordpress-without-torching-svn-directories/</link>
		<comments>http://www.bsdeluxe.com/2010/01/13/updating-wordpress-without-torching-svn-directories/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 19:05:51 +0000</pubDate>
		<dc:creator>Bob Sherron</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.bsdeluxe.com/?p=28</guid>
		<description><![CDATA[rsync rules. <a href="http://www.bsdeluxe.com/2010/01/13/updating-wordpress-without-torching-svn-directories/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Posting this here, mostly for my own benefit: <a href="http://snipplr.com/view/9444/copy-directory-without-svn-files/">http://snipplr.com/view/9444/copy-directory-without-svn-files/</a></p>
<pre>rsync -r --exclude=.svn source destination</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bsdeluxe.com/2010/01/13/updating-wordpress-without-torching-svn-directories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails-Like SQL Query Logging in WordPress</title>
		<link>http://www.bsdeluxe.com/2009/08/31/rails-like-sql-query-logging-in-wordpress/</link>
		<comments>http://www.bsdeluxe.com/2009/08/31/rails-like-sql-query-logging-in-wordpress/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 15:58:50 +0000</pubDate>
		<dc:creator>Bob Sherron</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[logs]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.bsdeluxe.com/?p=24</guid>
		<description><![CDATA[In which the author enables SQL query logging in Wordpress. <a href="http://www.bsdeluxe.com/2009/08/31/rails-like-sql-query-logging-in-wordpress/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Coming out of doing Rails development for the past couple years, there are several things that I have become pretty accustomed to that are somewhat aggravating not to have in the WordPress environment. The one thing that I miss the most though, is having a log of SQL queries to pore over and see what&#8217;s happening with the DB, and which queries are taking the longest.  After some searching, I came across <a href="http://minutillo.com/steve/weblog/2004/05/25/wordpress-logging-hinters">this post</a>, which led me in the right direction.  After some tweaking here is the result:</p>
<p>In your wp-config.php, add this line:</p>
<pre>
define('SAVEQUERIES', true);
</pre>
<p>In your functions.php, add this:</p>
<pre>
// outputs SQL queries to a log
add_action('shutdown', 'sql_logger');
function sql_logger() {
	global $wpdb;
	$log_file = fopen(ABSPATH.'/sql_log.txt', 'a');
	fwrite($log_file, "//////////////////////////////////////////\n\n" . date("F j, Y, g:i:s a")."\n");
	foreach($wpdb->queries as $q) {
		fwrite($log_file, $q[0] . " - ($q[1] s)" . "\n\n");
	}
	fclose($log_file);
}
</pre>
<p>Jackpot! Now, you have a log file to go to town on.  Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bsdeluxe.com/2009/08/31/rails-like-sql-query-logging-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress Search API Plugin Installation Woes</title>
		<link>http://www.bsdeluxe.com/2009/08/24/wordpress-search-api-plugin-installation-woes/</link>
		<comments>http://www.bsdeluxe.com/2009/08/24/wordpress-search-api-plugin-installation-woes/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 21:53:43 +0000</pubDate>
		<dc:creator>Bob Sherron</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.bsdeluxe.com/?p=19</guid>
		<description><![CDATA[In which the author figures out that his MySQL installation uses InnoDB by default, and not MyISAM. Hilarity ensues. <a href="http://www.bsdeluxe.com/2009/08/24/wordpress-search-api-plugin-installation-woes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE: This issue has been fixed as of version 1.0.8.  Additionally, this fix was put into play in less than 24 hours, and that, my friends, is badassssssss.</strong></p>
<p>=== Original Post Below ===</p>
<p>So I&#8217;m working on a big project and trying to come to grips with the various WordPress Search Plugins. The problem with the default search capability is that it&#8217;s not very good. Fortunately, enterprising folks have stepped into that void, not least of whom are Andy Skelton and Justin Shreve, who, on the very day I was looking for just such a thing, <a href="http://andy.wordpress.com/2009/08/21/wordpress-search-plugin">announced an updated Search API plugin</a>. I <a href="http://wordpress.org/extend/plugins/search/">got the plugin</a> tested it out on my testing app and liked what I saw immediately. It is fast, uses MySQL fulltext indexing (or Google, or Sphinx, or others, by now, probably), has advanced search capabilities built in and is officially sanctioned and will be updated at least for the foreseeable future.</p>
<p>I said to myself, &#8220;Self, this is an awesome plugin. It does just what I want. I&#8217;m going to install it on my project app and go to town.&#8221; So I did, but then the hours of frustration came into play. Basically, any time I would search for anything, it would come back with no results. I said &#8220;That&#8217;s weird. It works on one app, but not the other. Hmm&#8230;  What&#8217;s the difference?&#8221;  </p>
<p>Well, it turns out that the project I&#8217;m working on is using a different MySQL server than the one on my local box, and it turns out that the remote server uses InnoDB engine by default, and not MyISAM. The problem with that is that InnoDB doesn&#8217;t support Fulltext Indexing. So, when you create the table via the plugin installation, it fails silently and your index table fails to exist. So when you are searching a nonexistent index, <em>that</em> fails silently and it just looks like you don&#8217;t have any search results. </p>
<p>Now, if you&#8217;ve read this far, you probably want to hear how I fixed the problem. Well, you can force a table to use a different engine by tacking on &#8220;ENGINE MYISAM&#8221; at the tail of your create table statement. I altered the statement, ran it manually, built the index and poof, it worked! Hopefully, a future update will have this rectified (or at least throw an error when the index table doesn&#8217;t build), but if not, now you can fix this problem, should you run into it.</p>
<p>For those who are really interested, this is what my create table statement looked like:</p>
<pre>create table wp_search_index  (`id` bigint(20) NOT NULL auto_increment,`object` bigint(20) NOT NULL,`title` text NOT NULL,`content` text NOT NULL,`post_date` datetime NOT NULL,`parent` bigint(20) NOT NULL,`categories` text NOT NULL,`tags` text NOT NULL,`author` text NOT NULL,`type` varchar(50) NOT NULL,`protected` smallint(6) NOT NULL,PRIMARY KEY  (`id`),FULLTEXT KEY `title` (`title`),FULLTEXT KEY `content` (`content`),FULLTEXT KEY `title_and_content` (`title`,`content`)) ENGINE MYISAM;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bsdeluxe.com/2009/08/24/wordpress-search-api-plugin-installation-woes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dave Winer Is Worried About The Web</title>
		<link>http://www.bsdeluxe.com/2009/08/24/dave-winer-is-worried-about-the-web/</link>
		<comments>http://www.bsdeluxe.com/2009/08/24/dave-winer-is-worried-about-the-web/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 17:33:54 +0000</pubDate>
		<dc:creator>Bob Sherron</dc:creator>
				<category><![CDATA[History]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[linkbait]]></category>
		<category><![CDATA[memoryhole]]></category>

		<guid isPermaLink="false">http://www.bsdeluxe.com/?p=16</guid>
		<description><![CDATA[In which the author links to <a href="http://www.scripting.com/stories/2009/08/21/myBlogpostfridayPost.html">an article on Scripting News</a> and gives a brief commentary. <a href="http://www.bsdeluxe.com/2009/08/24/dave-winer-is-worried-about-the-web/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I read <a href="http://www.scripting.com/stories/2009/08/21/myBlogpostfridayPost.html">this post on Scripting News</a>, and I have to say it really interests me and is causing me to seriously reconsider my previous habits. This article and the commentary below touches on several things, but the topic that resonates most deeply with me is the one of legacy. While this version of <em>bsdeluxe</em> is only 4 posts old, the previous incarnation had hundreds of posts in a self-written (and maintained &#8212; or not) PHP &#038; MySQL CMS. Now, I&#8217;m pretty sure I have a SQL dump of the site somewhere, but for all intents and purposes, that (incredibly awesome) content is relegated to <a href="http://web.archive.org/web/20040514102145/www.bsdeluxe.com/post/51.php">The Wayback Machine</a>.</p>
<p>In addition to not having all that writing, I also don&#8217;t have any of the previous designs. Again, neither the designs, nor the writing are probably anything to write home about, but the fact that I don&#8217;t have a record of the work that went into that version of the site is irksome to me. I&#8217;m going to be coming up with some sort of something to keep versioned content and static backups.  Maybe a WordPress plugin. Maybe something else. Stay tuned, as we shall soon see if me being irked can turn into a completed web project.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bsdeluxe.com/2009/08/24/dave-winer-is-worried-about-the-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apparently, DirecTV Thinks It Is OK To Lie To Their Customers</title>
		<link>http://www.bsdeluxe.com/2009/08/17/apparently-directv-thinks-it-is-ok-to-lie-to-their-customers/</link>
		<comments>http://www.bsdeluxe.com/2009/08/17/apparently-directv-thinks-it-is-ok-to-lie-to-their-customers/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 20:59:10 +0000</pubDate>
		<dc:creator>Bob Sherron</dc:creator>
				<category><![CDATA[Terrible Customer Service]]></category>
		<category><![CDATA[DirecTV]]></category>
		<category><![CDATA[Lies]]></category>

		<guid isPermaLink="false">http://www.bsdeluxe.com/?p=9</guid>
		<description><![CDATA[In which the author gets extremely exasperated with DirecTV. <a href="http://www.bsdeluxe.com/2009/08/17/apparently-directv-thinks-it-is-ok-to-lie-to-their-customers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Long story short: Two months ago, we had an out of warranty service call to fix an improperly installed switch on our DirecTV system. I figured this would be a $50 charge, but the technician said that since they installed the old switch wrong, that I should call and try to get a credit. I called and explained the situation and the customer &#8220;service&#8221; rep said that I would see a $50 credit on this bill or on my next bill. </p>
<p>Neither one of those things happened, so today I called back. The people I talked to today said that the charge was valid and that was why the credit that I was promised was not applied. I went back and forth with the mush-mouthed mumbling supervisor long enough for me to deduce that DirecTV doesn&#8217;t give a crap about what their customer &#8220;service&#8221; reps say to their customers, as long as they get them off the line and get on to the next billing problem.</p>
<p>Moral of the story: DirecTV is staffed by liars and people with low character. They don&#8217;t care about their customers and are willing to say whatever it takes to make their day easier and do less work. Additionally, they are perfectly willing to throw away long time customers who are generally satisfied with the service over fifty friggin&#8217; bucks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bsdeluxe.com/2009/08/17/apparently-directv-thinks-it-is-ok-to-lie-to-their-customers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making a WordPress Tag Cloug That Respects query_posts()</title>
		<link>http://www.bsdeluxe.com/2009/08/14/making-a-wordpress-tag-cloug-that-respects-query_posts/</link>
		<comments>http://www.bsdeluxe.com/2009/08/14/making-a-wordpress-tag-cloug-that-respects-query_posts/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 19:57:25 +0000</pubDate>
		<dc:creator>Bob Sherron</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[query_posts]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.bsdeluxe.com/?p=6</guid>
		<description><![CDATA[In which the author bends Wordpress to his will, yet again. <a href="http://www.bsdeluxe.com/2009/08/14/making-a-wordpress-tag-cloug-that-respects-query_posts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Tag clouds are a Thing. I mean, don&#8217;t get me wrong, I&#8217;m sure they are useful. But a certain type of people just LOVE tag clouds. This post isn&#8217;t about if they are awesome or if they are lame, but rather about how to make a WordPress tag cloud respect your authority, especially when using <a href="http://codex.wordpress.org/Template_Tags/query_posts">query_posts()</a> to trim down the posts on a specific page.</p>
<p>You see, if you are using query_posts() to choose a subset of your posts, you probably don&#8217;t want the tags for posts that aren&#8217;t on that page to show in that tag cloud. Unfortunately, the default WordPress tag cloud gets the whole frigging taxonomy and that&#8217;s no fun for anyone. The approach I took was to make a second loop and snag the tags out of the posts that are in play. <strong>This approach might not work for you, </strong>but it worked for my needs at the time.</p>
<p>Here&#8217;s the code:</p>
<pre>function qp_tag_cloud() {
  $tags = array();
  if ( have_posts() ) : while ( have_posts() ) : the_post();
    if (get_the_tags() ) {
      foreach(get_the_tags() as $tag) {
        $tags[$tag-&gt;term_id] = $tag-&gt;name;
      }
    }
  endwhile;
  endif;
  foreach ($tags as $key=&gt;$value) {
    echo "&lt;a href="". get_tag_link($key) .""&gt;" . $value . "&lt;/a&gt;";
  }
}</pre>
<p>OK, so this is more of a list of tags than a tag cloud. Anyway. Hope this helps someone, as there was very little helpfulness out in the Google about this issue. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bsdeluxe.com/2009/08/14/making-a-wordpress-tag-cloug-that-respects-query_posts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Call It A Comeback!</title>
		<link>http://www.bsdeluxe.com/2009/08/14/dont-call-it-a-comeback/</link>
		<comments>http://www.bsdeluxe.com/2009/08/14/dont-call-it-a-comeback/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 19:27:06 +0000</pubDate>
		<dc:creator>Bob Sherron</dc:creator>
				<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://www.bsdeluxe.com/?p=1</guid>
		<description><![CDATA[Hello? Is this thing on?]]></description>
			<content:encoded><![CDATA[<p>Hello? Is this thing on?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bsdeluxe.com/2009/08/14/dont-call-it-a-comeback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
