<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>firsttube.com &#187; Meta</title>
	<atom:link href="http://firsttube.com/tag/meta/feed/" rel="self" type="application/rss+xml" />
	<link>http://firsttube.com</link>
	<description>crunchy nuggets, served semi-daily</description>
	<lastBuildDate>Wed, 10 Mar 2010 03:38:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<atom:link rel='hub' href='http://firsttube.com/?pushpress=hub'/>
		<item>
		<title>firsttube.com 10.2</title>
		<link>http://firsttube.com/read/firsttube-com-10-2/</link>
		<comments>http://firsttube.com/read/firsttube-com-10-2/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 20:10:45 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://firsttube.com/?p=1582</guid>
		<description><![CDATA[I&#8217;ve applied a new theme to the site, so I&#8217;m now billing this as firsttube.com 10.2.   Whereas prior to version &#8220;10&#8243;, each look-and-feel revision was likely a major increment, since converting to Wordpress, a new theme is really much more cosmetic than programmatic.  I&#8217;d love to hear your feedback, but I imagine [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve applied a new theme to the site, so I&#8217;m now billing this as <a href='http://firsttube.com'>firsttube.com</a> 10.2.   Whereas prior to version &#8220;10&#8243;, each look-and-feel revision was likely a major increment, since converting to Wordpress, a new theme is really much more cosmetic than programmatic.  I&#8217;d love to hear your feedback, but I imagine the majority of my readers are reading via RSS anyway, so for those of you syndicated, here&#8217;s a screenshot for you:<br />
<img class="aligncenter size-medium wp-image-1583" title="firsttube 10.2" src="http://firsttube.com/uploads/2010/02/firsttube-10.2-500x427.jpg" alt="firsttube.com 10.2" width="500" height="427" /></p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/firsttube-com-10-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>But It&#8217;s a Good Thing</title>
		<link>http://firsttube.com/read/but-its-a-good-thing/</link>
		<comments>http://firsttube.com/read/but-its-a-good-thing/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 17:19:53 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://firsttube.com/?p=1553</guid>
		<description><![CDATA[Life has gotten in the way of blogging for awhile.  I will love you again soon, firsttube.com. 
]]></description>
			<content:encoded><![CDATA[<p>Life has gotten in the way of blogging for awhile.  I will love you again soon, <a href='http://firsttube.com'>firsttube.com</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/but-its-a-good-thing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>firsttube.com 10.1</title>
		<link>http://firsttube.com/read/firsttube-com-10-1/</link>
		<comments>http://firsttube.com/read/firsttube-com-10-1/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 20:00:40 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://firsttube.com/?p=1506</guid>
		<description><![CDATA[I&#8217;ve updated firsttube.com to a new theme.  It&#8217;s not significantly different from my old theme, but it&#8217;s a nice one that isn&#8217;t quite as hacked up as the last one.  I&#8217;m in the process of deciding what to do with comments.  I&#8217;m thinking I&#8217;d like to outsource them to disqus or Intense [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve updated <a href='http://firsttube.com'>firsttube.com</a> to a new theme.  It&#8217;s not significantly different from my old theme, but it&#8217;s a nice one that isn&#8217;t quite as hacked up as the last one.  I&#8217;m in the process of deciding what to do with comments.  I&#8217;m thinking I&#8217;d like to outsource them to <a href="http://disqus.com">disqus</a> or <a href="http://intensedebate.com">Intense Debate</a>.  Either way, check it out and let me know what you think.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/firsttube-com-10-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8230;And We&#8217;re Back!</title>
		<link>http://firsttube.com/read/and-were-back/</link>
		<comments>http://firsttube.com/read/and-were-back/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 17:14:54 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://firsttube.com/?p=1272</guid>
		<description><![CDATA[ firsttube.com is now live on our new server, proudly hosted by smallaxesolutions.com.   Yes, I&#8217;m now running my own hosting (shameless plug: I can host you for cheap, including installation of WordPress) and I have migrated all of my domains over.  That means my old host will be offline in a few [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://smallaxesolutions.com/hosting"><img style="padding:5px;float:right;border:0;" title="Small Axe Hosting" src="http://firsttube.com/uploads/2009/04/top-logo.png" alt="Small Axe Hosting" width="200" height="88" /></a> <a href='http://firsttube.com'>firsttube.com</a> is now live on our new server, proudly hosted by <a href="http://smallaxesolutions.com/hosting">smallaxesolutions.com</a>.   Yes, I&#8217;m now running my own hosting (shameless plug: I can host you for cheap, including installation of WordPress) and I have migrated all of my domains over.  That means my old host will be offline in a few days, once I&#8217;m sure DNS has fully replicated.</p>
<p>So far, I&#8217;m hosting about 5 domains with another one potentially in the pipe.  I&#8217;m giving everyone cPanel access, which means MySQL, phpMyAdmin, mailboxes, forwarders, Fantastico, and much more.  You shouldn&#8217;t have to do anything: your feeds should remain intact and you should see no interruption of service.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/and-were-back/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Look and Feel</title>
		<link>http://firsttube.com/read/new-look-and-feel-2/</link>
		<comments>http://firsttube.com/read/new-look-and-feel-2/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 21:42:21 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://firsttube.com/?p=1058</guid>
		<description><![CDATA[If you&#8217;re not reading this via RSS, you may have noticed that I&#8217;ve completely changed the look and feel of firsttube.com. It&#8217;s something I wasn&#8217;t expecting to do regularly, but since I&#8217;ve moved to Wordpress, this will be my third theme.  The first one lasted only a few days, to be fair, and I settled [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re not reading this via RSS, you may have noticed that I&#8217;ve completely changed the look and feel of <a href='http://firsttube.com'>firsttube.com</a>. It&#8217;s something I wasn&#8217;t expecting to do regularly, but since I&#8217;ve moved to Wordpress, this will be my third theme.  The first one lasted only a few days, to be fair, and I settled on the beautiful <a href="http://wordpress.org/extend/themes/librio">Librio</a>.  However, I did a lot of customization with Librio, which meant I couldn&#8217;t really update the theme, and it was far from 2.7 ready.  On top of that, I hacked up some areas I didn&#8217;t like and I was never able to get it just right.  </p>
<p>Fast forward a bit, I&#8217;ve gone ahead and modified <a title="instantShift" href="http://www.instantshift.com/">instantShift&#8217;s</a> Christmas theme that was designed for <a title="Smashing Magazine" href="http://www.smashingmagazine.com/">Smashing Magazine</a>.  I am, at least right now, very happy with this theme and I think I&#8217;ll stick with it for awhile.  </p>
<p>Today is a new beginning for the US&#8230; and a little change is in order.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/new-look-and-feel-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSS Cloud</title>
		<link>http://firsttube.com/read/rss-cloud/</link>
		<comments>http://firsttube.com/read/rss-cloud/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 21:55:34 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://firsttubecom/?p=1001</guid>
		<description><![CDATA[ 
Behold! The firsttube.com RSS cloud generated by www.wordle.net (doesn&#8217;t work here without the www.  Lame!).   I got the idea from Kroc.  This is based on a snapshot of my RSS feed the morning of 12/12/2008.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://firsttube.com/uploads/2008/12/fttags.png" rel='lytebox<a class="rss-subscribe" href="http://firsttube.com/feed/" title="RSS Feeds">RSS Feeds</a>'><img class="aligncenter size-medium wp-image-1000" style="width: 500px;" title="Tag Cloud" src="http://firsttube.com/uploads/2008/12/fttags-300x150.png" alt="Tag Cloud" /></a> </p>
<p>Behold! The <a href='http://firsttube.com'>firsttube.com</a> RSS cloud generated by <a href="http://www.wordle.net">www.wordle.net</a> (doesn&#8217;t work here without the <em>www</em>.  Lame!).   I got the idea from <a href="http://camendesign.com/art/code-is-poster">Kroc</a>.  This is based on a snapshot of my RSS feed the morning of 12/12/2008.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/rss-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>firsttube.com Upgraded To Wordpress 2.7</title>
		<link>http://firsttube.com/read/firsttubecom-upgraded-to-wordpress-27/</link>
		<comments>http://firsttube.com/read/firsttubecom-upgraded-to-wordpress-27/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 20:28:56 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scoble]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://firsttubecom/?p=997</guid>
		<description><![CDATA[So far, one problem, two gripes.  My problem is that I can&#8217;t seem to get posts with dots in the slug title to work right, even though I once solved this problem before.  What&#8217;s worse is that it won&#8217;t fetch those posts anymore, which really sucks.
Onto my gripes. I can&#8217;t get inline replying/threading to work. [...]]]></description>
			<content:encoded><![CDATA[<p>So far, one problem, two gripes.  My problem is that I can&#8217;t seem to get posts with dots in the slug title to work right, even though I once <a href="http://firsttube.com/read/hacking-wordpress-day-two/">solved this problem before</a>.  What&#8217;s worse is that it won&#8217;t fetch those posts anymore, which really sucks.</p>
<p>Onto my gripes. I can&#8217;t get inline replying/threading to work.  There is very little documentation on it so far.  The functions are called comment_reply_link() and get_comment_reply_link(), and there&#8217;s nothing anywhere in the codex that helps, there&#8217;s little on the internet, the only place to get any real detail is the code itself, which explains:</p>
<p><em><small>from wp-includes/comment-template.php starting at line 949 on WP 2.7.0</small></em></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"> <span style="color: #339933;">*</span> Retrieve HTML content <span style="color: #b1b100;">for</span> reply to comment <span style="color: #990000;">link</span><span style="color: #339933;">.</span>
 <span style="color: #339933;">*</span>
 <span style="color: #339933;">*</span> The <span style="color: #b1b100;">default</span> arguments that can be override are <span style="color: #0000ff;">'add_below'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'respond_id'</span><span style="color: #339933;">,</span>
 <span style="color: #339933;">*</span> <span style="color: #0000ff;">'reply_text'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'login_text'</span><span style="color: #339933;">,</span> and <span style="color: #0000ff;">'depth'</span><span style="color: #339933;">.</span> The <span style="color: #0000ff;">'login_text'</span> argument will be
 <span style="color: #339933;">*</span> used<span style="color: #339933;">,</span> <span style="color: #b1b100;">if</span> the user must <span style="color: #990000;">log</span> in or register first before posting a comment<span style="color: #339933;">.</span> The
 <span style="color: #339933;">*</span> <span style="color: #0000ff;">'reply_text'</span> will be used<span style="color: #339933;">,</span> <span style="color: #b1b100;">if</span> they can post a reply<span style="color: #339933;">.</span> The <span style="color: #0000ff;">'add_below'</span> and
 <span style="color: #339933;">*</span> <span style="color: #0000ff;">'respond_id'</span> arguments are <span style="color: #b1b100;">for</span> the JavaScript moveAddCommentForm<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">function</span>
 <span style="color: #339933;">*</span> parameters<span style="color: #339933;">.</span>
 <span style="color: #339933;">*</span>
 <span style="color: #339933;">*</span> <span style="color: #339933;">@</span>since 2<span style="color: #339933;">.</span>7<span style="color: #339933;">.</span>0
 <span style="color: #339933;">*</span>
 <span style="color: #339933;">*</span> <span style="color: #339933;">@</span>param <span style="color: #990000;">array</span> <span style="color: #000088;">$args</span> Optional<span style="color: #339933;">.</span> Override <span style="color: #b1b100;">default</span> options<span style="color: #339933;">.</span>
 <span style="color: #339933;">*</span> <span style="color: #339933;">@</span>param int <span style="color: #000088;">$comment</span> Optional<span style="color: #339933;">.</span> Comment being replied to<span style="color: #339933;">.</span>
 <span style="color: #339933;">*</span> <span style="color: #339933;">@</span>param int <span style="color: #000088;">$post</span> Optional<span style="color: #339933;">.</span> Post that the comment is going to be displayed on<span style="color: #339933;">.</span>
 <span style="color: #339933;">*</span> <span style="color: #339933;">@</span><span style="color: #b1b100;">return</span> string<span style="color: #339933;">|</span>bool<span style="color: #339933;">|</span>null <span style="color: #990000;">Link</span> to show comment form<span style="color: #339933;">,</span> <span style="color: #b1b100;">if</span> successful<span style="color: #339933;">.</span> <span style="color: #009900; font-weight: bold;">False</span><span style="color: #339933;">,</span> <span style="color: #b1b100;">if</span> comments are closed<span style="color: #339933;">.</span></pre></div></div>

<p>It doesn&#8217;t matter much, because it doesn&#8217;t work, period, even though I&#8217;ve followed the instruction here to a t.  So I&#8217;ll have to fix that in time.</p>
<p>My last gripe is with the new wp_list_comments() routine.  I understand this is all new, but the idea that templating comments requires a callback function as a wrapper to all comments, pings, and trackbacks is <strong>clumsy</strong> at best.  <a href="http://codex.wordpress.org/Template_Tags/wp_list_comments">The codex on wp_list_comments()  have nothing</a> to explain it to people, so while I&#8217;ve dug in and gotten things working, it&#8217;s not for the feint of heart just yet, since you need to build a PHP function in your theme in your <em>functions.php</em> file (or create one if it doesn&#8217;t exist, which cannot be done via the Dashboard).  I&#8217;m a little sad, since the theme system is so flexible and the new plugin system is just incredible, to see the new comment loop be so <em>manual</em> compared to the single file approach used so successfully in the past.</p>
<p>I know that <a href="http://scobleizer.com/2008/12/12/wordpress-27/">Scoble says Wordpress 2.7 rocks</a>, and it does.  Scoble doesn&#8217;t realize the shortcomings because he hasn&#8217;t tried to play with the new features, and fortunately, it very gracefully degrades.  But it&#8217;s got some work to do to be perfect, for me at least.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/firsttubecom-upgraded-to-wordpress-27/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Bit of a Redesign</title>
		<link>http://firsttube.com/read/a-bit-of-a-redesign/</link>
		<comments>http://firsttube.com/read/a-bit-of-a-redesign/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 03:48:25 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://firsttubecom/?p=810</guid>
		<description><![CDATA[Yes, I&#8217;ve redesigned firsttube.com once again, but I&#8217;m only christening it 10.0.1.  There are no major changes here other than the look and feel overhaul &#8211; no new features, no new tricks.  This theme is a bit lighter, a smidgen easier on the eyes, a touch cleaner code-wise, a trifle easier to manipulate, and a [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, I&#8217;ve redesigned <a href='http://firsttube.com'>firsttube.com</a> once again, but I&#8217;m only christening it 10.0.1.  There are no major changes here other than the look and feel overhaul &#8211; no new features, no new tricks.  This theme is a bit lighter, a smidgen easier on the eyes, a touch cleaner code-wise, a trifle easier to manipulate, and a notch more organized, CSS-wise.   As a result, those who visit the site will get a neat surprise.   That is all.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/a-bit-of-a-redesign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My First Plugin</title>
		<link>http://firsttube.com/read/my-first-plugin/</link>
		<comments>http://firsttube.com/read/my-first-plugin/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 00:29:25 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://firsttubecom/?p=672</guid>
		<description><![CDATA[I recognize that I&#8217;ve been a little wordy about WordPress lately &#8211; no pun intended &#8211; but I&#8217;m afraid that it&#8217;s really interesting to me, and probably will be for the next few days.  So, if you&#8217;re growing weary of the WordPress related posts, I&#8217;m sorry.  
Today I took my first stab at [...]]]></description>
			<content:encoded><![CDATA[<p>I recognize that I&#8217;ve been a little wordy about WordPress lately &#8211; no pun intended &#8211; but I&#8217;m afraid that it&#8217;s really interesting to me, and probably will be for the next few days.  So, if you&#8217;re growing weary of the WordPress related posts, I&#8217;m sorry.  </p>
<p>Today I took my first stab at writing a WordPress plugin.  Turns out, it&#8217;s really easy.  I&#8217;m mean <strong>really</strong> easy.  The plugin is pretty simple: it just searches through every post and turns the unlinked words <a href='http://firsttube.com'>firsttube.com</a> into a hyperlink.  However, it seems like it might be a useful plugin for some, even just as a text-replacement plugin.  So we&#8217;ll see if I publish it.   In the meantime, though, it took me about 15 minutes to write and then it was recognized by WordPress, which was very cool.  </p>
<p>I have a few ideas for more involved plugins too that I may write, one day.  But in the meantime, this one is pretty cool.  </p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/my-first-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>To Those That Read firsttube.com via RSS</title>
		<link>http://firsttube.com/read/to-those-that-read-firsttubecom-via-rss/</link>
		<comments>http://firsttube.com/read/to-those-that-read-firsttubecom-via-rss/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 00:42:08 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://firsttubecom/?p=646</guid>
		<description><![CDATA[To those of you that read firsttube.com via RSS, I&#8217;m sorry about the recent difficulties.  My conversion to Wordpress is almost entirely complete, including handling all old links, etc.  I have a few legacy things left to fix.  In the meantime, I realize that my feed has been screwy for the last [...]]]></description>
			<content:encoded><![CDATA[<p>To those of you that read <a href='http://firsttube.com'>firsttube.com</a> via RSS, I&#8217;m sorry about the recent difficulties.  My conversion to Wordpress is almost entirely complete, including handling all old links, etc.  I have a few legacy things left to fix.  In the meantime, I realize that my feed has been screwy for the last few days and I&#8217;m sorry about that. </p>
<p>It should be fixed now, so that likely means another 20 dupes or so, I can&#8217;t control that.  But I can tell you that I think we&#8217;re all caught up.  Thanks for hanging with me.   </p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/to-those-that-read-firsttubecom-via-rss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacking Wordpress, Day Two</title>
		<link>http://firsttube.com/read/hacking-wordpress-day-two/</link>
		<comments>http://firsttube.com/read/hacking-wordpress-day-two/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 01:17:25 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Nerd]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://firsttubecom/?p=621</guid>
		<description><![CDATA[Thus far, my move to Wordpress has been an adventure.  Here&#8217;s a few lessons learned.
First off, I was very excited about the features of Wordpress.  I was really excited, most specifically, about the API, and about the rich text WYSIWYG of the backend.  I&#8217;ve done a lot of work on Small Axe&#8217;s backend, but it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Thus far, my move to Wordpress has been an adventure.  Here&#8217;s a few lessons learned.</p>
<p>First off, I was very excited about the features of Wordpress.  I was really excited, most specifically, about the API, and about the rich text WYSIWYG of the backend.  I&#8217;ve done a lot of work on Small Axe&#8217;s backend, but it&#8217;s still nothing compared to Wordpress.</p>
<p>When I imported my stuff, it worked well, but the &#8220;slugs&#8221; &#8212; or URL-friendly post titles &#8212; did not convert properly.  They converted as Wordpress friendly, properly escaped slugs.  The problem was, my slugs needed to stay intact, because I didn&#8217;t want all old links to break.</p>
<p>Understanding the way Wordpress functions is really tough for a WP newbie, because the code is so spread out, yet compact, voluminous, yet digestible.  Start with index.php, onto wp-blog-header.php, into wp-settings.php, and then you find the <strong>massive</strong> list of files in the wp-includes directory.  You&#8217;ll dig all over trying to find files to find includes in includes in includes.  I finally found a great article that tries to explain <a href="http://www.bernzilla.com/item.php?id=1007">the Wordpress slug architecture.</a> It&#8217;s fairly complex.   Much of it lives in<em>/wp-includes/query.ph</em>p.  However, my problem was very specific.</p>
<p>Many of my post slugs had periods in them.  The period does not interfere with the URL, but Wordpress doesn&#8217;t like them, and somewhere in the massive beast.     So I had to find the page that &#8220;gets&#8221; posts.  Lo and behold, there is a function called &#8220;get_posts&#8221; that lives in <em>/wp-includes/query.php</em>.  I kept poking around.  Like anyone who keeps digging, eventually, you&#8217;ll find yourself in <em>wp-includes/formatting.php</em>.  And there it is.</p>
<p>Slug posts get sanitized &#8211; like everything, virtually all input is strictly sanitized &#8211; by a function called sanitize_title_with_dashes().  This function generates the slug.  In order to include dots in your slug titles, just replace lines 366 and 267 (on Wordpress 2.6.0) with this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$title</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/&amp;amp;+?;/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// kill entities</span>
<span style="color: #000088;">$title</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/[^%a-z0-9 _.-]/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Then your slug titles will not strip periods.  Of course, I don&#8217;t recommend you actually use periods, I just wanted them to work when fetching old posts created before I knew any better.</p>
<p>After that adventure, I have to tell you, I&#8217;m really loving Wordpress.  There are some incredible plugins that have done some amazing functionality extension for me.  So far, so good.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/hacking-wordpress-day-two/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Enter firsttube.com 10</title>
		<link>http://firsttube.com/read/enter-firsttubecom-10/</link>
		<comments>http://firsttube.com/read/enter-firsttubecom-10/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 02:48:36 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://firsttubecom/?p=599</guid>
		<description><![CDATA[Here it is, the tenth and largest ever revision of firsttube.com.  After a long decision-making process, I decided to migrate to Wordpress.  There are a number of reasons why I did this, but here are a few.
First of all, Wordpress is  actively developed&#8230; a lot.  Small Axe is a lot of fun, but it&#8217;s a [...]]]></description>
			<content:encoded><![CDATA[<p>Here it is, the tenth and largest ever revision of <a href='http://firsttube.com'>firsttube.com</a>.  After a long decision-making process, I decided to migrate to Wordpress.  There are a number of reasons why I did this, but here are a few.</p>
<p>First of all, Wordpress is  actively developed&#8230; a lot.  Small Axe is a lot of fun, but it&#8217;s a hobby, and although one I enjoy, it was a lot of work.  On top of that, certain features were a challenge for me that I simply never had enough time to implement, such as a quality API.  With Wordpress, I can post from my iPhone.  Or Flickr.  Or Digg.  Etc.   </p>
<p>I was also able to preserve my permalink structure with this code. I&#8217;ve developed a decent standing in Google, one I&#8217;m fearing I will have destroyed with this migration, but it was important that my links be maintained.  </p>
<p>Themes with Wordpress are a snap.  Honestly, changing the look and feel is cake once it&#8217;s uploaded.  </p>
<p>The migration to Wordpress was PAINFUL! Importing the feeds was easy enough, it can be done via RSS, so I quickly edited my RSS script to output my whole blog.  Boom! Done. But getting comments in was a lot of work.  I think I&#8217;ve covered all of them though, and that&#8217;s exciting.  </p>
<p>One problem is that my &#8220;tags&#8221; came over as &#8220;categories&#8221; and my &#8220;topics&#8221; were entirely discarded.  Had I been a little smarter about Wordpress, I could easily have fixed that. But that part doesn&#8217;t really bother me, so it will stay reversed.  Dammit.</p>
<p>I&#8217;m still considering whether I want to host my own comments or push them into <a href="http://disqus.com">Disqus</a>. I really like Disqus, but I&#8217;m not entirely certain about pushing my blog content to a third party service. </p>
<p>Overall, I&#8217;m pretty happy with this iteration and the theme I&#8217;ve adopted.  The HTML needs some work, there are a few pages/site features I&#8217;ve still not properly migrated, but all in all, I&#8217;m feeling good about this move.  It gives me more time to focus on other PHP projects, Wordpress add-ons, and OSNews.   I&#8217;ll keep you all posted, and now that I&#8217;ve upgraded to a new codebase, I promise to update more often.  In the meantime, enjoy <a href='http://firsttube.com'>firsttube.com</a> 10.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/enter-firsttubecom-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Cleaner, Simpler firsttube.com</title>
		<link>http://firsttube.com/read/a-cleaner-simpler-firsttubecom/</link>
		<comments>http://firsttube.com/read/a-cleaner-simpler-firsttubecom/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 19:52:40 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/A-Cleaner-Simpler-firsttubecom</guid>
		<description><![CDATA[I&#8217;ve been pretty liberal in completely redesigning my website for some time now.  I built this site sometime in August of 2000, using my own HTML.  All dynamics were achieved&#8230; well&#8230; faked&#8230; via re-uploading static HTML files.  Version 2.0, a major overhaul, arrived shortly thereafter, and version 3.0 completely migrated to PHP [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been pretty liberal in completely redesigning my website for some time now.  I built this site sometime in August of 2000, using my own HTML.  All dynamics were achieved&#8230; well&#8230; faked&#8230; via re-uploading static HTML files.  Version 2.0, a major overhaul, arrived shortly thereafter, and version 3.0 completely migrated to PHP as the base.  The site thrived as a Phish music archive and when I moved away from that, I retired what was then version 4.0, and several versions followed until this one, version 9.  But alas, shortly, I will begin the design of <a href='http://firsttube.com'>firsttube.com</a> version 10, and it will be a chore, as  I intend to modify most of the tables in my underlying database.  Many features I wish I had implemented long ago &#8211; such as subscribing to threads and letting users enter a website, thereby not exposing their email address &#8211; are long overdue and virtually omnipresent in other weblogs.</p>
<p>I&#8217;ve even tossed around using another blog engine and just migrating my data, but then, where would I play?</p>
<p>My primary goal, though, for <a href='http://firsttube.com'>firsttube.com</a> 10, will be a radically simpler and more attractive interface.  I like some Web 2.0 mainstays.  Expect larger text, brighter colors, AJAX where appropriate, and simplicity.  My new comments page, which I&#8217;ve been playing with, is already stripped down and already kind of overwhelming.    So back to the drawing board, it appears.  Stay tuned for more updates than necessary.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/a-cleaner-simpler-firsttubecom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Offline: The Silly Script Disaster</title>
		<link>http://firsttube.com/read/Offline-The-Silly-Script-Disaster/</link>
		<comments>http://firsttube.com/read/Offline-The-Silly-Script-Disaster/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 12:33:59 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Nerd]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Offline-The-Silly-Script-Disaster</guid>
		<description><![CDATA[I have several websites.  The way my web host has them set up, like many hosts who use cPanel, is that one site is a &#8220;master&#8221; and the others essentially exist as directories within that site.  My master site is smallaxesolutions.com, which is the &#8220;company&#8221; under which I sometimes do my web design [...]]]></description>
			<content:encoded><![CDATA[<p>I have several websites.  The way my web host has them set up, like many hosts who use cPanel, is that one site is a &#8220;master&#8221; and the others essentially exist as directories within that site.  My master site is <a href="http://smallaxesolutions.com">smallaxesolutions.com</a>, which is the &#8220;company&#8221; under which I sometimes do my web design and network support business.  </p>
<p>One of the things I (used to) do as Small Axe Solutions was publish the core code of the engine that powers firsttube.com, <a href="http://firsttube.com/tag/small_axe">Small Axe</a>.  Small Axe code was built up as 0.1, then 0.2, then 0.3.  At that point, I had added several features to <a href='http://firsttube.com'>firsttube.com</a> that I had yet to merge upstream into Small Axe. So, I created a build system so I could slowly integrate the changes.  In short, it worked like this: I had a directory called &#8220;build_source&#8221; which contained my current code.  Of course, it had all kinds of problems out of the box, like the config files which pointed to nonsensical location like <i>/path/to/your/blog/</i>.  It had no valid database connection info. The flatfiles were unwritable.  So, in short, the code was (usually) solid, but PHP couldn&#8217;t compile it.  </p>
<p>Meanwhile, another directory called &#8220;demo&#8221; was waiting silently.  </p>
<p>Lastly, a third directory, outside the web root, called &#8220;static&#8221; was sitting with pre-built config files, db connection files, and some other stuff.  </p>
<p>Then it was just a matter of a simple shell script.  The script did the following: it deleted everything in the &#8220;demo&#8221; directory.  Then it copied all of the files in the &#8220;build_source&#8221; directory into the demo directory.  It deleted the config file and overwrote it with a copy from the &#8220;static&#8221; directory.  Same for the db connection and a few other files.  It left the demo directory as a live, fully functional build of the current code.  Then it zipped everything in the &#8220;build_source&#8221; directory and put it into my downloads section.  It ran this script every 30 minutes for probably 2 years now.  I only chose 30 minutes because it made sense from a development standpoint to see the updates quickly.  I stopped working on that version some time ago, but never got around to updating or changing the script.  </p>
<p>Fast forward to a few weeks ago, I was cleaning out a bunch of old directories.  Within 5 minutes, EVERYTHING was gone: my mail, *all* of my sites, my temp files, everything in my home directory that wasn&#8217;t a hidden file preceded with a dot.  I didn&#8217;t realize this for several hours, but I then I restored from a backup and within 45 minutes, everything was gone again! Oh noes! </p>
<p>I immediately begin researching security and disabling all of my upload scripts.  Something is wrong, I thought.  I searched high and low.  But, as you guessed, I didn&#8217;t find anything wrong, because there was nothing wrong.  In my cleanup, as you may have gussed by now, I decided to delete the &#8220;demo&#8221; folder.  The first line of my shell script is &#8220;<i>cd /home/adam/public_html/build_source</i>.&#8221;  Then second, scary line, is &#8220;<i>rm -rf *</i>&#8220;.  Since there was no &#8220;build_source&#8221; folder, the first line flat out failed, leaving the script in <i>/home/adam</i>.  Then, unfortunately, it ran <i>rm -rf *</i> in the root of my home directory.  Killer! </p>
<p>It took my some time to swallow my own stupidity.  All I had to do was comment out the cron job to prevent this disaster.  But alas, I dropped the ball.  We&#8217;re back online now, and a little smarter.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/Offline-The-Silly-Script-Disaster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Little About Code Names</title>
		<link>http://firsttube.com/read/A-Little-About-Code-Names/</link>
		<comments>http://firsttube.com/read/A-Little-About-Code-Names/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 17:17:43 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Flip]]></category>
		<category><![CDATA[Nerd]]></category>
		<category><![CDATA[OSNews]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/A-Little-About-Code-Names</guid>
		<description><![CDATA[Throughout the internet, you&#8217;ll find a slew of geeks who refer to their projects by &#8220;code name.&#8221;  Realistically, this isn&#8217;t GI Joe, so there&#8217;s no real reason to need a code name for your projects, right? I&#8217;m here to argue that.  
Since I&#8217;m involved in several web endeavors, there is always a lot [...]]]></description>
			<content:encoded><![CDATA[<p>Throughout the internet, you&#8217;ll find a slew of geeks who refer to their projects by &#8220;code name.&#8221;  Realistically, this isn&#8217;t GI Joe, so there&#8217;s no real reason to need a <i>code name</i> for your projects, right? I&#8217;m here to argue that.  </p>
<p>Since I&#8217;m involved in several web endeavors, there is always a <b>lot</b> of development code on my computers.  When I start something like a <a href='http://firsttube.com'>firsttube.com</a> redesign or something much larger, like an <a href='http://osnews.com'>OSNews</a> redesign, it doesn&#8217;t make sense to have a hundred folders called &#8220;osnewsv4&#8243; or somesuch littered about.  I used to date the folders, but osnewsv4-tuesday doesn&#8217;t help.  And something like osnewsv4-20071017 doesn&#8217;t help much either.  </p>
<p>Now it gets even more complex: what if I build something and then decide to approach it differently? How will I know which folder is the one that contains relevant code? Enter codenames! </p>
<p>When I knew I was going to build a brand spankin&#8217; new version of OSNews, I knew it would eventually be called version 4, so it made no sense to start calling the first code off my fingers &#8220;v4.&#8221;  As it turns out, there were actually almost 10 versions of &#8220;<a href="http://firsttube.com/tag/OSNews">OSNews</a> version 4&#8243; before we accepted a codebase.  The first ones were much different in both look and feel and code.  So, for my own organizational purposes, I use code names.  All that matters is which code base eventually gets promoted to the &#8220;version 4&#8243; title.  </p>
<p>So, here a list of the codenames I&#8217;ve used on my projects in the past, going back as far as I can remember:</p>
<p>I used to maintain an open source weblog called <a href="http://firsttube.com/tag/Flip">Flip</a>, which later become <a href="http://firsttube.com/tag/smallaxe">Small Axe</a>.  Although Flip 2.0 may have had a codename, I can&#8217;t remember or find any reference to it.  Flip 2.1 was called Lobster.  Flip 2.2 was called Shark, although I never released that code, largely because before I finished it, I released Flip 3.0, Turtle.  Flip 3.1 was to be called Jackrabbit, but again, I never released it.  Flip 4.0 earned the codename Blueberry, but it was merged into the first release of Small Axe.  We&#8217;ll get back to Small Axe in a minute.  The nicknames of Flip were entirely random, they meant nothing, except that I wanted the 2.x and 3.x family to be animals, and for 4.x, a complete rewrite, I decided to use fruits.  That never materialized.   </p>
<p>A large part of why verison of Flip went entirely unreleased is because the app became big and tough to handle.  As a result, I stripped out the core of it and released &#8220;Flip Lite,&#8221; which was called &#8220;Red Squirrel.&#8221;  There was a running joke in college about a &#8220;blue raccoon,&#8221; so &#8220;red squirrel&#8221; was a silent tribute.  When Flip Lite 2 came about, it was called &#8220;Rivet Boy.&#8221;  <a href="http://firsttube.com/read/Rivet-Boy">Here&#8217;s why I called it &#8220;rivet boy&#8221;</a>. </p>
<p><a href="http://firsttube.com/tag/blog">Small Axe Weblog</a> took over where Flip left off &#8211; I really need to get around to updating it, since I&#8217;ve probably worked up to v 0.7 by now! &#8211; but the roadmap, along with the <a href="http://smallaxesolutions.com/WeblogRoadmap.html">codenames, are listed here</a>.  They are codenamed after the japanese Iron Chefs and their popular guests.  </p>
<p><a href="http://firsttube.com/tag/meta">firsttube.com</a> itself had codenames, some of the time.  <a href='http://firsttube.com'>firsttube.com</a> 3 was &#8220;Milky&#8221;.  3.1 was Crossbow because it was built to be cross-platform.  3.2 was Scoop Face, because it was inspired by <a href="http://scoop.kuro5hin.org">Scoop</a>.  3.3 was &#8220;Semi-Scoop&#8221;, much for the same reasons.  3.3.1 was &#8220;Flip&#8221;, because it was the first version to use code from the Flip project.  4.0 was lazily called &#8220;Lobster&#8221; because it was running Flip 2.1.  5.0 was &#8220;Linkfarm&#8221;, because it was &#8211; for the few weeks it lived &#8211; a link farm.  6.0 may or may not have actually had a codename when I built it, but it was listed in one directory as, &#8220;Wikitube&#8221;, because it ran phpwiki software.  I merged it and my weblog for version 7.0, which, along with 8.0, didn&#8217;t earn codenames.  The recently released <a href='http://firsttube.com'>firsttube.com</a> 9.0 was called &#8220;Chalkboard,&#8221; because at one point, I thought the header looked like a chalkboard.  Obviously, it doesn&#8217;t anymore.  </p>
<p>On to OSNews: Again, these codenames are mine and mine only, they are neither &#8220;official,&#8221; nor even known the rest of the staff, as it was only as I was developing code that I used the codenames.  The now defunct <a href='http://osnews.com'>OSNews</a> Meta Blog is actually Small Axe, so it was in a folder called &#8220;Small Axe.&#8221;  We renamed it &#8220;meta blog&#8221; literally days before making it live.   </p>
<p><a href="http://osnews.com/staff">The <a href='http://osnews.com'>OSNews</a> Staff Blog</a> used to be called <i>ftblogroller</i>, and I actually still have the very first working version on my company&#8217;s intranet test server.  The funny thing is, <a href="http://firsttube.com/read/firsttube.com-7.0-Last-Post-of-2005">I chronicled it long ago on firsttube.com</a>.  That was the engine of the <a href='http://osnews.com'>OSNews</a> Staff Blog.  It also powers the <a href="http://osgalaxy.com">OSGalaxy</a> site, although there I refer to it as &#8220;Galaxy,&#8221; I never actually got around to packaging it.  </p>
<p><a href="http://jobs.osnews.com">Jobs.OSNews</a>, an experiment that everyone liked but nobody used, was called Meadow, only because it was green.  </p>
<p>OSNews v4 had a few codenames on my computer.  &#8220;NEW&#8221; was one of them, as was &#8220;TCO,&#8221; which was an acronym for &#8220;three column OSNews.&#8221;  The one that eventually earned the title version 4 was Blueprint, because I threw everything away and literally started from scratch.  Even the queries that fetch data were rewritten to be most efficient.  </p>
<p>Two projects in the words: &#8220;Timber&#8221; is the codename of a module that does <a href='http://osnews.com'>OSNews</a> native polling.  Why Timber? A poll takes a <i>tally</i>, tally like <i>tally ho</i>, like <i>timber ho!</i>.  I didn&#8217;t say they made sense or were funny, I just said I used them.</p>
<p><img src="http://firsttube.com/uploads/mcbragg.jpg" align="left" style="border:0;" />Another project that has had several lives already is the iPhone optimized <a href='http://osnews.com'>OSNews</a> site.  I have gone through several versions of this code as well.  Recently, I tossed aside &#8220;iui-osnews&#8221; and &#8220;knox&#8221; to really work on project &#8220;McBragg.&#8221;  <a href="http://en.wikipedia.org/wiki/Commander_McBragg">Commander McBragg</a> was the general in the Underdog cartoons.  I seemed to remember him going on several <i>safari</i>s, so I stole his name for my code.  McBragg&#8217;s javascript framework and CSS is not finished yet, but the underlying PHP appears to be sound, so I expect to finish that within the next few weeks.  </p>
<p>As you can see, having codenames can help a develper understand what code he&#8217;s looking at.  It would not help me at all to see a folder called &#8220;firsttube.com-20060722&#8243; because I wouldn&#8217;t know what version of <a href='http://firsttube.com'>firsttube.com</a> or whether the code was even used on the live site.  But certainly, if I saw a subfolder in my <a href='http://osnews.com'>OSNews</a> directory called &#8220;mcbragg,&#8221; I&#8217;d know it has relevent code.  I think there&#8217;s something to be said for categorizing your code that way, plus, it&#8217;s kinda cool to have codenames.  Yeah, I said it.</p>
]]></content:encoded>
			<wfw:commentRss>http://firsttube.com/read/A-Little-About-Code-Names/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
