<?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; Small Axe</title>
	<atom:link href="http://www.firsttube.com/tag/small-axe/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.firsttube.com</link>
	<description>crunchy nuggets, served semi-daily</description>
	<lastBuildDate>Tue, 03 Jan 2012 00:14:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Changes to firsttube.com</title>
		<link>http://www.firsttube.com/read/Changes-to-firsttubecom/</link>
		<comments>http://www.firsttube.com/read/Changes-to-firsttubecom/#comments</comments>
		<pubDate>Fri, 24 Aug 2007 10:09:11 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Changes-to-firsttubecom</guid>
		<description><![CDATA[I am very excited about how portable Small Axe, the engine that powers firsttube.com, has become. I am going to be upgrading the site in the next few weeks. You won&#8217;t see a ton of new stuff, but it will &#8230; <a href="http://www.firsttube.com/read/Changes-to-firsttubecom/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am very excited about how portable <a href="http://smallaxesolutions.com">Small Axe</a>, the engine that powers firsttube.com, has become.  I am going to be upgrading the site in the next few weeks.  You won&#8217;t see a ton of new stuff, but it will be much more powerful and configurable for me.  </p>
<p>One place I have made some changes is in the RSS and Atom feeds.  Although I advertise my feeds at <a href="http://feeds.feedburner.com/firsttube">feeburner</a>, our source feeds are at <a href="http://firsttube.com/feed">firsttube.com/feed</a> and <a href="http://firsttube.com/feed/atom">firsttube.com/feed/atom</a>.  They have received some stylesheet love and are much more readable by the human eye.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/Changes-to-firsttubecom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Export Blogsome, Export Slashdot Journal</title>
		<link>http://www.firsttube.com/read/Export-Blogsome-Export-Slashdot-Journal/</link>
		<comments>http://www.firsttube.com/read/Export-Blogsome-Export-Slashdot-Journal/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 16:55:07 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Backups]]></category>
		<category><![CDATA[Blogsome]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Small Axe]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Export-Blogsome-Export-Slashdot-Journal</guid>
		<description><![CDATA[I was recently issued a challenge: backup a blogsome blog and the content of a Slashdot journal and merge them into a single database. I foolishly accepted this challenge, knowing that Blogsome is based on WordPress. Come to find out &#8230; <a href="http://www.firsttube.com/read/Export-Blogsome-Export-Slashdot-Journal/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was recently issued a challenge: backup a blogsome blog <i>and</i> the content of a Slashdot journal and merge them into a single database.  I foolishly accepted this challenge, knowing that Blogsome is based on WordPress.  Come to find out that Blogsome doesn&#8217;t allow you to backup or export their WordPress content.  Also, Slashdot doesn&#8217;t provide you a way to export or backup your journal.  The prize was sweet: a brand new, fairly expensive, unlocked mobile phone.  </p>
<p>If you want to make a mirror of your blogsome blog, you can use a single very powerful command to generate a snapshot of it from any Linux machine or Windows with Cygwin installed: </p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-k</span> <span style="color: #660033;">-m</span> <span style="color: #660033;">-r</span> http:<span style="color: #000000; font-weight: bold;">//</span>url</pre></div></div>

<p>
But this will only create a static HTML mirror of your website.  It won&#8217;t allow you manipulate content or put it into another database.  That leaves only one way to do it &#8211; request the entire site page by page, and parse each page individually.  RSS is not reliable here, as most people have it set to only 15 or so items and parsing an enormous page make make PHP or your server run out of memory or alloted script execution time. </p>
<p>It&#8217;s a multi-step process, to be certain.  It was actually <i>painful</i> to go through the process.  Requesting over and over, debugging the script line by line.  It takes several steps to get things right.  But, eventually, I did it. I was able to export a Blogsome blog in its entirety &#8211; every entry, all the categories, all the comments with emails and websites &#8230;everything.  </p>
<p>Slashdot was the same.  It took some tinkering, but eventually, I was able to backup a very lengthy Slashdot journal.  Again, in its entirety.  I got every post, the date, etc.  It was not simple, but it worked well.  And I not only got them backed up, I merged them into a single database serving up&#8230; Small Axe 0.6 (which was a whole adventure of its own, taking current <a href='http://firsttube.com'>firsttube.com</a> code and &#8220;neutralizing&#8221; it).  Suffice it to say, when I saw all entries working and served in Small Axe, I had a huge smile.   Turns out that the person I was doing this for decided against Small Axe (only because it doesn&#8217;t yet offer all the bells and whistles WordPress does, even if it is a beast).  But it was irrelevant &#8211; the hard part was getting the data properly, and that&#8217;s done.  Migrating to *any* blog database is possible if you have the time, inclination, and skill to write a SQL export/import script. </p>
<p>Here&#8217;s how it works: </p>
<p>* Cycle through each page of the blogsome blog.  On each page, we get the entries, the URL, the postid, and other relevant info.  We set a flag on each item to 0. <br />
* As we retreive the items, we correct the path to images, spacing, smilies, etc. <br />
* Then we cycle through each page individually.  We have all the URLs already, so we go through each one and parse comments.  It&#8217;s important to know that comment owner comments are marked up differently.  As we get the comments, we upodate the flag and let the script run on its own.  Our 900+ items took about an hour by meta-refreshing the fully rendered page every 3 seconds. <br />
* As we go through the comments, we strip tags we don&#8217;t want, we fix emoticons, we fix internal links, spacing, etc.  We must expose emails temporarily if we want them to transfer over. <br />
* Finally, we import them all into a central database with an agreed schema.  </p>
<p>If you have a Blogsome blog and/or a Slashdot journal you need backed up, I can help you do it.  It&#8217;s not a simple process, but it is very accurate and preserves whatever data is exposed via HTML.  So for the right barter, I would be very motivated to help.  If I can simplify the process, I may create an open script to do this.  But for now, I&#8217;ve got the code.  </p>
<p>On a related note, I&#8217;ll probably release an updated version of Small Axe sometime in the not too distant future, because the amount of changing I&#8217;ve done and all the features I&#8217;ve just implemented are killer.  Small Axe is FAR from WordPress caliber tested, but it&#8217;s SUPER simple and can do all the basics of a normal blog, including templating, smart per-domain caching, blocking by ip, username, email, or keyword, gravatar support, tons of configuration options, RSS and Atom support, threaded commenting, post locking, post expiring, browser identification, slug-based permalinking, and much more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/Export-Blogsome-Export-Slashdot-Journal/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Small Axe Getting Close To Actual Releases</title>
		<link>http://www.firsttube.com/read/Small-Axe-Getting-Close-To-Actual-Releases/</link>
		<comments>http://www.firsttube.com/read/Small-Axe-Getting-Close-To-Actual-Releases/#comments</comments>
		<pubDate>Fri, 27 Oct 2006 15:49:38 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Nerd]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Small-Axe-Getting-Close-To-Actual-Releases</guid>
		<description><![CDATA[I am very close to releasing a flood of code on smallaxesolutions.com. Included in the first batch are: - Small Axe Encryption (which is VERY breakable (being as though the decrypt code is actually available, but a new version, which &#8230; <a href="http://www.firsttube.com/read/Small-Axe-Getting-Close-To-Actual-Releases/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am very close to releasing a flood of code on <a href="http://smallaxesolutions.com">smallaxesolutions.com</a>.  Included in the first batch are: </p>
<p>- Small Axe Encryption (which is VERY breakable (being as though the decrypt code is actually available, but a new version, which uses a password to decode, will eventually be out).  </p>
<p>- Small Axe PHP XML-RPC API.  YIKES.  What a mouthful.  It&#8217;s by far the easiest API out there.  I have searched high and low for an API.  Version 0.1 is so simple it&#8217;s crazy.  </p>
<p>- Dango 2.1.  A simple discussion board.  Version 3 will be a complete rewrite, so this is a nice mini-step.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/Small-Axe-Getting-Close-To-Actual-Releases/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New Admin Panel and Voting</title>
		<link>http://www.firsttube.com/read/New-Admin-Panel-and-Voting/</link>
		<comments>http://www.firsttube.com/read/New-Admin-Panel-and-Voting/#comments</comments>
		<pubDate>Thu, 26 Oct 2006 16:51:26 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/New-Admin-Panel-and-Voting</guid>
		<description><![CDATA[You may notice that there are now buttons next to each entry on my blog. These are &#8220;agree&#8221; and &#8220;disagree&#8221; buttons. Although right now each post is assigned a &#8220;score,&#8221; soon it will probably be &#8220;X positives, Y negatives.&#8221; You &#8230; <a href="http://www.firsttube.com/read/New-Admin-Panel-and-Voting/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>You may notice that there are now buttons next to each entry on my blog.  These are &#8220;agree&#8221; and &#8220;disagree&#8221; buttons.  Although right now each post is assigned a &#8220;score,&#8221; soon it will probably be &#8220;X positives, Y negatives.&#8221;  You can vote once per entry.</p>
<p>Also, I&#8217;m going to be rewriting the administration panel of Small Axe shortly.  It&#8217;s not because it&#8217;s dirty, because it&#8217;s not, it&#8217;s actually modular and easy to write new plugins.  However, It&#8217;s not ideally organized.  I&#8217;ve updated the icons from a mix of random icons and Tango icons to mostly Echo icons from the forthcoming Fedora Core 7.  I really like the new ones.  </p>
<p><a href="http://firsttube.com/uploads/new_admin_panel.jpg"><img src="http://firsttube.com/uploads/new_admin_panel-thumb.jpg" alt="new admin panel" /></a></p>
<p>As you can see, I&#8217;ve finally added preference panes(!) for some features that I&#8217;ve had for awhile, such as User Agent review.  The database cleanup link doesn&#8217;t work yet, nor does the Recent Votes link, but both are functions I will be implementing shortly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/New-Admin-Panel-and-Voting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slug Transition Complete</title>
		<link>http://www.firsttube.com/read/Slug-Transition-Complete/</link>
		<comments>http://www.firsttube.com/read/Slug-Transition-Complete/#comments</comments>
		<pubDate>Tue, 24 Oct 2006 16:45:03 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Slug]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Slug-Transition-Complete</guid>
		<description><![CDATA[The transition to a smart, modern, fancy URL system is complete. This is how it works: every item has a title called a &#8220;slug.&#8221; The slug of *this piece* is &#8220;Slug-Transition-Complete.&#8221; Now, your basic operations are read, print, and comment. &#8230; <a href="http://www.firsttube.com/read/Slug-Transition-Complete/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The transition to a smart, modern, fancy URL system is complete.  This is how it works: every item has a title called a &#8220;slug.&#8221;  The slug of *this piece* is &#8220;Slug-Transition-Complete.&#8221;  </p>
<p>Now, your basic operations are read, print, and comment. </p>
<p>So, the URLs work like so: </p>
<p>http://firsttube.com/read/Slug-Transition-Complete<br />
http://firsttube.com/print/Slug-Transition-Complete<br />
http://firsttube.com/comment/Slug-Transition-Complete</p>
<p>This requires no tweaking of Apache (other than permitting .htaccess files).  There is no mod_rewrite going on here.  It&#8217;s all in PHP. Huzzah.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/Slug-Transition-Complete/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Small Axe 0.4 Update</title>
		<link>http://www.firsttube.com/read/Small-Axe-04-Update/</link>
		<comments>http://www.firsttube.com/read/Small-Axe-04-Update/#comments</comments>
		<pubDate>Wed, 18 Oct 2006 17:48:53 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Nerd]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Small-Axe-04-Update</guid>
		<description><![CDATA[I have frozen the code and made my first updates to Small Axe in a very long time. In fact, calling what&#8217;s currently available for download in the -devel build 0.4 is not even really accurate. This build has all &#8230; <a href="http://www.firsttube.com/read/Small-Axe-04-Update/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have frozen the code and made my first updates to Small Axe in a very long time.  In fact, calling <a href="http://releases.smallaxesolutions.com">what&#8217;s currently available for download</a> in the -devel build 0.4 is not even really accurate.  This build has all the features planned for the 0.7-0.8 timeframe.  But alas, it&#8217;s &#8220;0.4 alpha 1&#8243; for now.  </p>
<p>It doesn&#8217;t work. </p>
<p>Above all things, it doesn&#8217;t work right now.  The build system is now set to rebuild <a href="http://smallaxesolutions.com/demo">the demo site</a> every 30 minutes, and the code is changing very quickly, but there are still major problems.  All in all, I think I should have it available within the next month or so.  All I&#8217;m trying to do is fix the features that already work here on <a href='http://firsttube.com'>firsttube.com</a>.  However, they must all be made completely portable, which is a challenge.  </p>
<p>Anyway, it&#8217;s exciting, because I&#8217;ve been working on a lot of stuff I hope to release by year&#8217;s end.  It&#8217;s good to be coding again.  Feels good.  </p>
<p>God, I&#8217;m a nerd.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/Small-Axe-04-Update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FREEZE!</title>
		<link>http://www.firsttube.com/read/Freeze/</link>
		<comments>http://www.firsttube.com/read/Freeze/#comments</comments>
		<pubDate>Tue, 29 Aug 2006 20:02:15 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Freeze</guid>
		<description><![CDATA[Okay, I think I&#8217;m pretty happy with the code running firsttube.com. It&#8217;s not perfect, there are some things I&#8217;d like to do to it, however, I&#8217;m going to declare a &#8220;freeze&#8221; and package this as Small Axe 0.4. Now, in &#8230; <a href="http://www.firsttube.com/read/Freeze/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Okay, I think I&#8217;m pretty happy with the code running <a href='http://firsttube.com'>firsttube.com</a>.  It&#8217;s not perfect, there are some things I&#8217;d like to do to it, however, I&#8217;m going to declare a &#8220;freeze&#8221; and package this as Small Axe 0.4.  </p>
<p>Now, in truth, this build will have all of the features I had planned for 0.4, 0.5, 0.6 and probably 0.7, but since I haven&#8217;t released anything since 0.3, I think I&#8217;ll tag it 0.4.  Then I&#8217;ll <b>try</b> to get to 0.5, a bug fix build, quickly.  </p>
<p>0.4 will be another MySQL only build.  I will reinstate the flatfile and SQLite support as we approach 1.0.  </p>
<p>So let&#8217;s aim for a late September 0.4 final build.  There&#8217;s A LOT of work that will have to go into making this code portable again, so I&#8217;m going to take my time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/Freeze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thread locking</title>
		<link>http://www.firsttube.com/read/Thread-Locking/</link>
		<comments>http://www.firsttube.com/read/Thread-Locking/#comments</comments>
		<pubDate>Wed, 23 Aug 2006 13:20:36 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Thread-Locking</guid>
		<description><![CDATA[Although its been present for a long time in the database (and to some extent, in the PHP), I&#8217;ve never really gotten around to making &#8220;thread locking&#8221; work right. Until now. I wrote the piece on Israel earlier because it &#8230; <a href="http://www.firsttube.com/read/Thread-Locking/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Although its been present for a long time in the database (and to some extent, in the PHP), I&#8217;ve never really gotten around to making &#8220;thread locking&#8221; work right.  Until now. </p>
<p>I wrote the piece on Israel earlier because it was on my mind, not because I wanted to start a debate or turn my blog into an anti-Israel platform.  So when I saw the tide turning that way, I locked the thread administratively. </p>
<p>It wasn&#8217;t pretty, it just spit out undescribed errors.  So I&#8217;ve finally gotten around to spiffing up the UI, and it now displays on the front page, as well as the comment page, that the thread is locked.  It won&#8217;t accept new comments.  </p>
<p>I&#8217;m also doing a quick audit for additional features needed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/Thread-Locking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Style</title>
		<link>http://www.firsttube.com/read/New-Style/</link>
		<comments>http://www.firsttube.com/read/New-Style/#comments</comments>
		<pubDate>Tue, 15 Aug 2006 13:39:07 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/New-Style</guid>
		<description><![CDATA[As you can see, I&#8217;ve made some minor tweaks to the stylesheet for firsttube.com. I am preparing to add the last few features and then stabilize Small Axe for a Fall release.]]></description>
			<content:encoded><![CDATA[<p>As you can see, I&#8217;ve made some minor tweaks to the stylesheet for <a href='http://firsttube.com'>firsttube.com</a>.  I am preparing to add the last few features and then stabilize Small Axe for a Fall release.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/New-Style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Screenshots</title>
		<link>http://www.firsttube.com/read/Screenshots/</link>
		<comments>http://www.firsttube.com/read/Screenshots/#comments</comments>
		<pubDate>Fri, 14 Jul 2006 10:46:58 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Screenshots]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Screenshots</guid>
		<description><![CDATA[The backend rewrite is nearly complete. The only section left is the Users section, however, since the blog is not really set up security wise for user rights yet, I&#8217;m not going to be finishing it for 0.4. I will &#8230; <a href="http://www.firsttube.com/read/Screenshots/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The backend rewrite is nearly complete.  The only section left is the Users section, however, since the blog is not really set up security wise for user rights yet, I&#8217;m not going to be finishing it for 0.4.  I will apply the new backend styles, however.  </p>
<p>Anyway, here are some screenshots of the new backend.  Click each one to see a larger version: </p>
<p><a target="new" href="http://firsttube.com/uploads/smallaxe-admin-0.4.jpg"><img src="http://firsttube.com/uploads/smallaxe-admin-0.4.jpg" alt="smallaxe-admin-0.4.jpg" style="width:250px;" /></a> <a target="new" href="http://firsttube.com/uploads/smallaxe-admin-new-0.4.jpg"><img src="http://firsttube.com/uploads/smallaxe-admin-new-0.4.jpg" alt="smallaxe-new-0.4.jpg" style="width:250px;" /></a></p>
<p><a target="new" href="http://firsttube.com/uploads/smallaxe-admin-topics-0.4.jpg"><img src="http://firsttube.com/uploads/smallaxe-admin-topics-0.4.jpg" alt="smallaxe-topics-0.4.jpg" style="width:250px;" /></a> <a target="new" href="http://firsttube.com/uploads/smallaxe-admin-uploads-0.4.jpg"><img src="http://firsttube.com/uploads/smallaxe-admin-uploads-0.4.jpg" alt="smallaxe-uploads-0.4.jpg" style="width:250px;" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/Screenshots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Backend, Part II</title>
		<link>http://www.firsttube.com/read/New-Backend-Part-II/</link>
		<comments>http://www.firsttube.com/read/New-Backend-Part-II/#comments</comments>
		<pubDate>Thu, 13 Jul 2006 15:40:53 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/New-Backend-Part-II</guid>
		<description><![CDATA[I have been busy at work, so I haven&#8217;t been able to sneak away to really knock this stuff out. The topics manager is now complete, and it&#8217;s been AJAXified, but only partly. There are some things that are simply &#8230; <a href="http://www.firsttube.com/read/New-Backend-Part-II/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have been busy at work, so I haven&#8217;t been able to sneak away to really knock this stuff out.  The topics manager is now complete, and it&#8217;s been AJAXified, but only partly.  There are some things that are simply not well suited for AJAX.  It&#8217;s interesting, because as slick and fast and powerful as it is, javascripting is actually a much more meticulous process than PHP.  It&#8217;s much less forgiving and the errors are much less descriptive.  </p>
<p>I have also removed a lot of the password prompts.  Every single admin page load, including the AJAX requests, require your cookie for authentication, and even the cookie is just random data.  I&#8217;m fairly certain we haven&#8217;t sacrificed much in the way of security by only forcing the login once.  Even Gmail doesn&#8217;t ask for a password with every session.  </p>
<p>That said, the backend is now mostly complete.  I do need to add one more feature, which is image uploads, a portion sorely lacking.  This has been needed for some time, as when I need an image, I need to FTP it up, which is lame.  So I will incorporate image uploads shortly, and then break for the wedding and honeymoon.  Then I&#8217;ll come back and release Small Axe 0.4 and get cooking on the next batch of features!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/New-Backend-Part-II/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Backend</title>
		<link>http://www.firsttube.com/read/New-Backend/</link>
		<comments>http://www.firsttube.com/read/New-Backend/#comments</comments>
		<pubDate>Wed, 12 Jul 2006 17:46:32 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/New-Backend</guid>
		<description><![CDATA[The first parts of the new backend are written and in place! I&#8217;m very excited to get rid of some of the legacy code that powered this blog. As I replace the old crufty code, I&#8217;m taking out all of &#8230; <a href="http://www.firsttube.com/read/New-Backend/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The first parts of the new backend are written and in place! I&#8217;m very excited to get rid of some of the legacy code that powered this blog.  As I replace the old crufty code, I&#8217;m taking out all of the tables, all of the old HTML, many of the CSS classes have been replaced with more powerful styles.  </p>
<p>When I get back from the honeymoon, I&#8217;ll be packaging a new release of Small Axe, which will be, <b>by far</b>, the best one so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/New-Backend/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Enhancements, enhancements.</title>
		<link>http://www.firsttube.com/read/enhancements-enhancements/</link>
		<comments>http://www.firsttube.com/read/enhancements-enhancements/#comments</comments>
		<pubDate>Tue, 11 Jul 2006 10:04:37 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Enhancements-enhancements</guid>
		<description><![CDATA[At some point, after the honeymoon, I&#8217;m going to take a nice, stable snapshot of firsttube.com and turn it into the next release of Small Axe. I&#8217;ve added several new features in the last few days. Last night I fixed &#8230; <a href="http://www.firsttube.com/read/enhancements-enhancements/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>At some point, after the honeymoon, I&#8217;m going to take a nice, stable snapshot of <a href='http://firsttube.com'>firsttube.com</a> and turn it into the next release of Small Axe.  I&#8217;ve added several new features in the last few days.  Last night I fixed the related stories to be a config switch, as <a href="http://firsttube.com/read/Related-posts/">detailed here</a>.   As you may have noticed, I redid the entire stylesheet for the site too.</p>
<p>Today I added a new AJAX backend for the admin section and you can now edit topics via AJAX.  If this is Small Axe 0.4, 0.5 will have to have a backend rewrite.  It&#8217;s just ancient.  There are several things that need to be fixed to prevent future bugs.</p>
<p>I also changed the RSS feed to obey the &#8220;related&#8221; switch.  If you&#8217;re set up to use tags instead of topics as your related basis, then the RSS feed will display the first tag instead of the topic as the &#8220;category.&#8221;  So all posts in my RSS feed as now going to be using tags instead of topics.  I don&#8217;t know what I will do about topics in Small Axe or on <a href='http://firsttube.com'>firsttube.com</a> right now.  On <a href="http://smallaxesolutions.com">smallaxesolutions.com</a>, the topics mean something.  Here, they are completely random.  So, for now, not entirely sure.  Read on for more.<br />
<span id="more-367"></span><br />
I&#8217;ve thought about some things I&#8217;d like to see in future incarnations of this code.  I&#8217;d like the backend to be faster and more dynamic.  I&#8217;d like to branch off the function files into admin functions and user functions for optimization.  I&#8217;d like to restructure the Javascript in the admin backend.  One challenge I&#8217;d like to see is the ability to host multiple Small Axe blogs in a single database.  This is something I&#8217;ve had in mind for awhile.  In theory, there&#8217;s no good reason why you could have 5 users running their blogs all from the same database, and in the meantime, have their own front ends AND a common front end.  It would be extremely easy.  This is more of a 0.6 or 0.7 goal.</p>
<p>Another thing I&#8217;ve thought about is the ability to add an RSS feed DIRECTLY into your blog.  This means items would simply show up in your blog (either automatically or manually, that could be an option), but it would require cron.</p>
<p>I&#8217;d really like to integrate an weblog endpoint API, and I&#8217;d like to eventually learn how to parse an email so you could email an entry in.  These are for much further out, probably post-1.0.</p>
<p>Anyway, those are some things I&#8217;ve been tossing around.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/enhancements-enhancements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Related posts.</title>
		<link>http://www.firsttube.com/read/Related-posts/</link>
		<comments>http://www.firsttube.com/read/Related-posts/#comments</comments>
		<pubDate>Mon, 10 Jul 2006 22:13:56 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Nerd]]></category>
		<category><![CDATA[Small Axe]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Related-posts</guid>
		<description><![CDATA[Small Axe (at least, the firsttube.com build) has had &#8220;related posts&#8221; displayed on each entry&#8217;s page for some time. However, since the &#8220;topics&#8221; I use are all random and unrelated to the post, the related posts weren&#8217;t&#8230; uh&#8230; related. So, &#8230; <a href="http://www.firsttube.com/read/Related-posts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Small Axe (at least, the <a href='http://firsttube.com'>firsttube.com</a> build) has had &#8220;related posts&#8221; displayed on each entry&#8217;s page for some time.  However, since the &#8220;topics&#8221; I use are all random and unrelated to the post, the related posts weren&#8217;t&#8230; uh&#8230; related.  </p>
<p>So, I added a new configuration option.  Now you can choose in the backend whether or not you want related posts to be &#8220;related&#8221; by topic or by tag.  By toggling the option, suddenly, related posts were &#8212; get this &#8212; <i>actually related</i>!  This is entertaining the hell out of me, and because of that, I will be forced to tag THIS post &#8220;Nerd.&#8221;  Sigh.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/Related-posts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tag Soup</title>
		<link>http://www.firsttube.com/read/Tag-Soup/</link>
		<comments>http://www.firsttube.com/read/Tag-Soup/#comments</comments>
		<pubDate>Thu, 06 Jul 2006 20:20:08 +0000</pubDate>
		<dc:creator>Adam S</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Nerd]]></category>
		<category><![CDATA[Small Axe]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://firsttubecom/read/Tag-Soup</guid>
		<description><![CDATA[I&#8217;ve really struggled with the challenge of implementing tags efficiently. Basically, I wanted to preserve the basic tag rule: as many tags as you like per post. But if I do that, I need another table in the database. However, &#8230; <a href="http://www.firsttube.com/read/Tag-Soup/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve really struggled with the challenge of implementing tags efficiently.  Basically, I wanted to preserve the basic tag rule: as many tags as you like per post.  But if I do that, I need another table in the database.  However, to do this, I need an additional query for each story.  Since Small Axe loads in just FOUR queries on the main page, this was a HUGE hit.  It went up to 24 queries, albeit 24 simple, basic, efficient, FAST queries. </p>
<p>So I wrote it to use a single query, and guess what I found? The implementation sucked.  It was slow.  It was dirty.  It meant editing tags was a precise business.  And searching was lame.  So, I rewrote tagging (while preserving links, etc) and &#8211; boom! &#8211; fast.  Yes, it added a query for every story on the front page, but dammit, it works, it&#8217;s clean, it&#8217;s easy to read, and best of all, I&#8217;m going to implement some flickr-style tag editing on the backend.  So, that&#8217;s cool.</p>
<p>I guess we&#8217;ll see what happens in the next week or two.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.firsttube.com/read/Tag-Soup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

