<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Redirection complete</title>
	<atom:link href="http://stopdesign.com/archive/2003/07/01/redirection-complete.html/feed" rel="self" type="application/rss+xml" />
	<link>http://stopdesign.com/archive/2003/07/01/redirection-complete.html</link>
	<description>Stopdesign is the creative outlet of Douglas Bowman.</description>
	<lastBuildDate>Tue, 04 May 2010 11:39:03 -0700</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<item>
		<title>By: Robert</title>
		<link>http://stopdesign.com/archive/2003/07/01/redirection-complete.html#comment-100</link>
		<dc:creator>Robert</dc:creator>
		<pubDate>Sat, 05 Jul 2003 18:20:53 +0000</pubDate>
		<guid isPermaLink="false">http://70.32.90.75/?p=115#comment-100</guid>
		<description>Recursion: Keep calling yourself until you meet some criterion, then break out of it all. Useful, but underused.

Anyways, great job switching it over to PHP, it seems flawless. Keep up the great writing. It&#039;s inspired some of us in the Freenet Project to start writing about design and getting people to standardize their stuff.</description>
		<content:encoded><![CDATA[<p>Recursion: Keep calling yourself until you meet some criterion, then break out of it all. Useful, but underused.</p>
<p>Anyways, great job switching it over to PHP, it seems flawless. Keep up the great writing. It&#8217;s inspired some of us in the Freenet Project to start writing about design and getting people to standardize their stuff.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://stopdesign.com/archive/2003/07/01/redirection-complete.html#comment-99</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Thu, 03 Jul 2003 22:12:15 +0000</pubDate>
		<guid isPermaLink="false">http://70.32.90.75/?p=115#comment-99</guid>
		<description>Haha!  That&#039;s a great line, David - and so true!

Doug - to answer you recursion question from the email you sent me - the condition that breaks the recurring is one that the programmer needs to set up.  There is no &lt;em&gt;automagic&lt;/em&gt; process for breaking a recursive algorithm.  In my example above, it&#039;s the condition
&lt;code&gt;
if ( i &lt; max )
&lt;/code&gt;
If you can&#039;t check something (a value, property, etc) to make sure the recursion never ends, then you shouldn&#039;t use recursion - but a more statically defined loop.

Make a &lt;em&gt;teeny&lt;/em&gt; bit more sense now?</description>
		<content:encoded><![CDATA[<p>Haha!  That&#8217;s a great line, David &#8211; and so true!</p>
<p>Doug &#8211; to answer you recursion question from the email you sent me &#8211; the condition that breaks the recurring is one that the programmer needs to set up.  There is no <em>automagic</em> process for breaking a recursive algorithm.  In my example above, it&#8217;s the condition<br />
<code><br />
if ( i &lt; max )<br />
</code><br />
If you can&#8217;t check something (a value, property, etc) to make sure the recursion never ends, then you shouldn&#8217;t use recursion &#8211; but a more statically defined loop.</p>
<p>Make a <em>teeny</em> bit more sense now?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David S</title>
		<link>http://stopdesign.com/archive/2003/07/01/redirection-complete.html#comment-98</link>
		<dc:creator>David S</dc:creator>
		<pubDate>Thu, 03 Jul 2003 20:30:17 +0000</pubDate>
		<guid isPermaLink="false">http://70.32.90.75/?p=115#comment-98</guid>
		<description>Glad to see you got everything sorted out Doug.  Speaking of recursion, this quote is priceless:

&lt;em&gt;We do not know any sure way to explain recursion.  Our experience is that people stare at recursive programs for a long time without understanding how they work.  Then, one day, they suddenly get it -- and they don&#039;t understand why they ever thought it was difficult.  &lt;strong&gt;Evidently, the key to understanding recursion is to begin by understanding recursion.  The rest is easy.&lt;/strong&gt;&lt;/em&gt;

- Accelerated C++, p. 134</description>
		<content:encoded><![CDATA[<p>Glad to see you got everything sorted out Doug.  Speaking of recursion, this quote is priceless:</p>
<p><em>We do not know any sure way to explain recursion.  Our experience is that people stare at recursive programs for a long time without understanding how they work.  Then, one day, they suddenly get it &#8212; and they don&#8217;t understand why they ever thought it was difficult.  <strong>Evidently, the key to understanding recursion is to begin by understanding recursion.  The rest is easy.</strong></em></p>
<p>- Accelerated C++, p. 134</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://stopdesign.com/archive/2003/07/01/redirection-complete.html#comment-97</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Wed, 02 Jul 2003 16:53:43 +0000</pubDate>
		<guid isPermaLink="false">http://70.32.90.75/?p=115#comment-97</guid>
		<description>Yes, to properly match a period/decimal character in a rewrite rule, you should escape it with the backslash, otherwise you are using the wildcard character.  Fortunately, this will &lt;em&gt;rarely&lt;/em&gt; cause a problem.

Interesting about the R flag for the rules.  I&#039;ve always use QSA (Query-string append).  I guess the result is similar (I&#039;m no Apache guru, by any means)

I&#039;ll take a swing at explaining recursion (with a super-simple javascript example).  Basically, a function that calls itself is a recursive function.
&lt;code&gt;
var i = 0;
var max = 6;

function increment()
{
i++;
if ( i &lt; max ) increment();
}

increment();
alert( i );
&lt;/code&gt;
It should be &lt;em&gt;fairly&lt;/em&gt; easy to see that recursion is just another looping mechanism.  Yes, it can get &lt;em&gt;much more&lt;/em&gt; complicated than this, but maybe this little demo will give you jumping off point for understanding recursion.  I can come back with something more complicated later if you like.

-Peter

P.S. Being able to use &lt;pre&gt; elements would be nice for code examples ;)</description>
		<content:encoded><![CDATA[<p>Yes, to properly match a period/decimal character in a rewrite rule, you should escape it with the backslash, otherwise you are using the wildcard character.  Fortunately, this will <em>rarely</em> cause a problem.</p>
<p>Interesting about the R flag for the rules.  I&#8217;ve always use QSA (Query-string append).  I guess the result is similar (I&#8217;m no Apache guru, by any means)</p>
<p>I&#8217;ll take a swing at explaining recursion (with a super-simple javascript example).  Basically, a function that calls itself is a recursive function.<br />
<code><br />
var i = 0;<br />
var max = 6;</p>
<p>function increment()<br />
{<br />
i++;<br />
if ( i &lt; max ) increment();<br />
}</p>
<p>increment();<br />
alert( i );<br />
</code><br />
It should be <em>fairly</em> easy to see that recursion is just another looping mechanism.  Yes, it can get <em>much more</em> complicated than this, but maybe this little demo will give you jumping off point for understanding recursion.  I can come back with something more complicated later if you like.</p>
<p>-Peter</p>
<p>P.S. Being able to use &lt;pre&gt; elements would be nice for code examples ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Platts</title>
		<link>http://stopdesign.com/archive/2003/07/01/redirection-complete.html#comment-96</link>
		<dc:creator>Chris Platts</dc:creator>
		<pubDate>Wed, 02 Jul 2003 11:47:56 +0000</pubDate>
		<guid isPermaLink="false">http://70.32.90.75/?p=115#comment-96</guid>
		<description>Interesting article which raises a point that I hadn&#039;t thought about regarding rewrite rules. Is it neccessary to escape the dots in the source URL?

Since the rewrite engine basically uses regular expression matching I guess that is so, since a single dot could stand for any single character. It is just something I have never done, nor given any thought.

Thanks - testing begins!</description>
		<content:encoded><![CDATA[<p>Interesting article which raises a point that I hadn&#8217;t thought about regarding rewrite rules. Is it neccessary to escape the dots in the source URL?</p>
<p>Since the rewrite engine basically uses regular expression matching I guess that is so, since a single dot could stand for any single character. It is just something I have never done, nor given any thought.</p>
<p>Thanks &#8211; testing begins!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: GuilleBe</title>
		<link>http://stopdesign.com/archive/2003/07/01/redirection-complete.html#comment-95</link>
		<dc:creator>GuilleBe</dc:creator>
		<pubDate>Wed, 02 Jul 2003 00:36:19 +0000</pubDate>
		<guid isPermaLink="false">http://70.32.90.75/?p=115#comment-95</guid>
		<description>oh, thats a nice trick you have there.</description>
		<content:encoded><![CDATA[<p>oh, thats a nice trick you have there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: doug</title>
		<link>http://stopdesign.com/archive/2003/07/01/redirection-complete.html#comment-94</link>
		<dc:creator>doug</dc:creator>
		<pubDate>Wed, 02 Jul 2003 00:22:38 +0000</pubDate>
		<guid isPermaLink="false">http://70.32.90.75/?p=115#comment-94</guid>
		<description>Nollind: The &lt;code&gt;index.html&lt;/code&gt; is hacked off my permanent links with a simple inline search &amp; replace using a regular expression:

&lt;code&gt;&lt;a href=&quot;&lt;?php
echo preg_replace(&quot;#index.html$#&quot;,&quot;&quot;,&quot;&lt;$MTArchiveLink$&gt;&quot;);
?&gt;&quot;&gt;&lt;$MTArchiveTitle$&gt;&lt;/a&gt;&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Nollind: The <code>index.html</code> is hacked off my permanent links with a simple inline search &amp; replace using a regular expression:</p>
<p><code>&lt;a href="&lt;?php<br />
echo preg_replace("#index.html$#","","&lt;$MTArchiveLink$&gt;");<br />
?&gt;"&gt;&lt;$MTArchiveTitle$&gt;&lt;/a&gt;</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nollind Whachell</title>
		<link>http://stopdesign.com/archive/2003/07/01/redirection-complete.html#comment-93</link>
		<dc:creator>Nollind Whachell</dc:creator>
		<pubDate>Tue, 01 Jul 2003 23:49:28 +0000</pubDate>
		<guid isPermaLink="false">http://70.32.90.75/?p=115#comment-93</guid>
		<description>Actually I&#039;m more interested in how you got MT to output to &quot;index.html&quot; files without all your permanent links including the &quot;index.html&quot; part.  I was able to do this for a site I had a while back but I had rewrite all the appropriate templates to do so.  Did you figure out some easy way of doing this in the backend using a template module instead or did you have to rewrite all your templates as well?</description>
		<content:encoded><![CDATA[<p>Actually I&#8217;m more interested in how you got MT to output to &#8220;index.html&#8221; files without all your permanent links including the &#8220;index.html&#8221; part.  I was able to do this for a site I had a while back but I had rewrite all the appropriate templates to do so.  Did you figure out some easy way of doing this in the backend using a template module instead or did you have to rewrite all your templates as well?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: doug</title>
		<link>http://stopdesign.com/archive/2003/07/01/redirection-complete.html#comment-92</link>
		<dc:creator>doug</dc:creator>
		<pubDate>Tue, 01 Jul 2003 23:16:29 +0000</pubDate>
		<guid isPermaLink="false">http://70.32.90.75/?p=115#comment-92</guid>
		<description>Ah, recursion. That&#039;s a concept that just can&#039;t fit inside my head without a background in programming. I was introduced to it a couple of years ago when designing a web-based app which mirrored a server directory structure. My serveral hundred lines of conditional &lt;code&gt;if-then&lt;/code&gt; statements and &lt;code&gt;for-next&lt;/code&gt; loops were rewritten by a colleague in about 5 lines of code. To this day, I still can&#039;t grasp the logic behind recursion, even after he explained it to me several times.

Anyway, about the array: The redirects only need to carry up to the point when the site switched over, so the array won&#039;t need to grow dynamically. Now that the array is written, it shouldn&#039;t change, unless I discover a copy/paste error, or an old entry title changes.

But good to know PHP has built-in file system functions.</description>
		<content:encoded><![CDATA[<p>Ah, recursion. That&#8217;s a concept that just can&#8217;t fit inside my head without a background in programming. I was introduced to it a couple of years ago when designing a web-based app which mirrored a server directory structure. My serveral hundred lines of conditional <code>if-then</code> statements and <code>for-next</code> loops were rewritten by a colleague in about 5 lines of code. To this day, I still can&#8217;t grasp the logic behind recursion, even after he explained it to me several times.</p>
<p>Anyway, about the array: The redirects only need to carry up to the point when the site switched over, so the array won&#8217;t need to grow dynamically. Now that the array is written, it shouldn&#8217;t change, unless I discover a copy/paste error, or an old entry title changes.</p>
<p>But good to know PHP has built-in file system functions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Barrett</title>
		<link>http://stopdesign.com/archive/2003/07/01/redirection-complete.html#comment-91</link>
		<dc:creator>Michael Barrett</dc:creator>
		<pubDate>Tue, 01 Jul 2003 22:54:10 +0000</pubDate>
		<guid isPermaLink="false">http://70.32.90.75/?p=115#comment-91</guid>
		<description>You may want to consider using some of PHP&#039;s directory reading functions.

You can loop through the contents of the logs directory, ignoring all but directories within. Each directory name could be loaded into a working array and a master array.

foreach the working array, taking each value and reading that particular directory (logs/$value), and adding each value to a master array of files for redirection.

Recurse through all levels you need, until you get to the files..

Beats writing the array by hand.</description>
		<content:encoded><![CDATA[<p>You may want to consider using some of PHP&#8217;s directory reading functions.</p>
<p>You can loop through the contents of the logs directory, ignoring all but directories within. Each directory name could be loaded into a working array and a master array.</p>
<p>foreach the working array, taking each value and reading that particular directory (logs/$value), and adding each value to a master array of files for redirection.</p>
<p>Recurse through all levels you need, until you get to the files..</p>
<p>Beats writing the array by hand.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
