<?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: Smarty is on my evil list</title>
	<atom:link href="http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/feed" rel="self" type="application/rss+xml" />
	<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list</link>
	<description>It's all spinning wheels and self-doubt until the first pot of coffee.</description>
	<lastBuildDate>Thu, 11 Mar 2010 12:23:09 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
	<item>
		<title>By: Bytes in the Margin</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-418248</link>
		<dc:creator>Bytes in the Margin</dc:creator>
		<pubDate>Wed, 02 Sep 2009 04:30:58 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-418248</guid>
		<description>&lt;p&gt;[...] of the others in the future.So, practice safe templating. More about why templates are evil:Smarty is on my evil list - good discussion in commentsTemplates Good or Evil?Sitepoing Blogs - Savant TemplateSee the [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] of the others in the future.So, practice safe templating. More about why templates are evil:Smarty is on my evil list &#8211; good discussion in commentsTemplates Good or Evil?Sitepoing Blogs &#8211; Savant TemplateSee the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michal Migurski</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-7641</link>
		<dc:creator>Michal Migurski</dc:creator>
		<pubDate>Sun, 05 Mar 2006 23:16:25 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-7641</guid>
		<description>&lt;p&gt;Smarty appealed to us because it offered a (relatively) clean way to separate the code from the HTML output. It&#039;s definitely got its problems. A large part of the choice was based on my perception of Smarty as having much thought &amp; effort behind it, plus I like the idea of templates caching down to plain PHP. I&#039;ve done a few PHP projects where I used PHP as the templating language, and frequently succumbed to the temptation to stash app logic into the templates where it didn&#039;t really belong. Smarty has a pretty extensive vocabulary, but has (so far) resisted the pull to incorporate more real-language features, like PHP did. It&#039;s worth remembering that PHP was originally supposed to be a template language for &quot;real&quot; code to be written in C. &lt;em&gt;shudder&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When we forked Reblog from Feed On Feeds, we were starting with raw-PHP display code mixed in with database calls, and it was a freaking disaster. One of my first design goals was to make it hacker-friendly, clarifying and documenting as many seams as possible so people could make localized changes more easily. I&#039;d like to be using Python under the hood with Smarty on top, though there&#039;s a lot to be said for using commonly-known tools like Smarty in apps where you want to encourage modifications.&lt;/p&gt;

&lt;p&gt;And Wordpress.... oh, Wordpress. My eyes roll back in my head when I&#039;m forced to touch its convoluted innards. I pushed hard for a Reblog plug-in API specifically so I could cheerfully deprecate the old-style Wordpress plug-in. =)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Smarty appealed to us because it offered a (relatively) clean way to separate the code from the HTML output. It&#8217;s definitely got its problems. A large part of the choice was based on my perception of Smarty as having much thought &amp; effort behind it, plus I like the idea of templates caching down to plain PHP. I&#8217;ve done a few PHP projects where I used PHP as the templating language, and frequently succumbed to the temptation to stash app logic into the templates where it didn&#8217;t really belong. Smarty has a pretty extensive vocabulary, but has (so far) resisted the pull to incorporate more real-language features, like PHP did. It&#8217;s worth remembering that PHP was originally supposed to be a template language for &#8220;real&#8221; code to be written in C. <em>shudder</em></p>
<p>When we forked Reblog from Feed On Feeds, we were starting with raw-PHP display code mixed in with database calls, and it was a freaking disaster. One of my first design goals was to make it hacker-friendly, clarifying and documenting as many seams as possible so people could make localized changes more easily. I&#8217;d like to be using Python under the hood with Smarty on top, though there&#8217;s a lot to be said for using commonly-known tools like Smarty in apps where you want to encourage modifications.</p>
<p>And Wordpress&#8230;. oh, Wordpress. My eyes roll back in my head when I&#8217;m forced to touch its convoluted innards. I pushed hard for a Reblog plug-in API specifically so I could cheerfully deprecate the old-style Wordpress plug-in. =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: M.</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-5599</link>
		<dc:creator>M.</dc:creator>
		<pubDate>Thu, 16 Feb 2006 14:13:18 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-5599</guid>
		<description>&lt;p&gt;I&#039;ve good experiences with the Expose PHP template engine (www.kwasd.nl/expose). It doesn&#039;t require you to learn a new language, because it uses plain PHP and still offers security, because it contains a tokenizer and, in fact, a small compiler. I used it for some projects and it really offered all I needed. &lt;/p&gt;

&lt;p&gt;And for people who wonder why one would need a template engine: I work with designers and I don&#039;t want them to mingle application code. By setting up a shared folder which contains the templates, they can safely work on design and never need to touch my controller or module files. Especially since this template engine has a tokenizer/compiler, they can&#039;t call unsafe PHP functions (only those that you, the programmer, register).&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I&#8217;ve good experiences with the Expose PHP template engine (www.kwasd.nl/expose). It doesn&#8217;t require you to learn a new language, because it uses plain PHP and still offers security, because it contains a tokenizer and, in fact, a small compiler. I used it for some projects and it really offered all I needed. </p>
<p>And for people who wonder why one would need a template engine: I work with designers and I don&#8217;t want them to mingle application code. By setting up a shared folder which contains the templates, they can safely work on design and never need to touch my controller or module files. Especially since this template engine has a tokenizer/compiler, they can&#8217;t call unsafe PHP functions (only those that you, the programmer, register).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aristotle Pagaltzis</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-3953</link>
		<dc:creator>Aristotle Pagaltzis</dc:creator>
		<pubDate>Thu, 02 Feb 2006 01:30:31 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-3953</guid>
		<description>&lt;p&gt;But why would you need a template system when you’re already working with PHP, which is itself a template system? Why do You don’t have to have different languages to be able to put the business logic in one file and the display logic in another.&lt;/p&gt;

&lt;p&gt;Perl (not PERL), btw, has the Template Toolkit on the CPAN, which is the spiritual father of Smarty. (And it’s vaguely more defensible in Perl’s case becase Perl is not a template system; though constrated with Perl the deficiencies of TT’s mini language are just all the more painfully obvious.)&lt;/p&gt;

&lt;p&gt;By all of which I mean to say that whether people use languages in stupid ways does not mean the language is the problem; not in either PHP’s or Perl’s case.&lt;/p&gt;

&lt;p&gt;I also don’t see why you need a templating system to implement caching; in fact, having caching coupled with the template engine sounds like a bad distribution of responsibilities. (Indeed, Template Toolkit has no such facilities.) But there’s the Cache::Cache family of modules on the CPAN, which you can use to cache things completely independently of &lt;em&gt;what&lt;/em&gt; is being cached – whether it be the output of a template, or the query results themselves, or anything else, which might not even have anything to do without any output you generate.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>But why would you need a template system when you’re already working with PHP, which is itself a template system? Why do You don’t have to have different languages to be able to put the business logic in one file and the display logic in another.</p>
<p>Perl (not PERL), btw, has the Template Toolkit on the CPAN, which is the spiritual father of Smarty. (And it’s vaguely more defensible in Perl’s case becase Perl is not a template system; though constrated with Perl the deficiencies of TT’s mini language are just all the more painfully obvious.)</p>
<p>By all of which I mean to say that whether people use languages in stupid ways does not mean the language is the problem; not in either PHP’s or Perl’s case.</p>
<p>I also don’t see why you need a templating system to implement caching; in fact, having caching coupled with the template engine sounds like a bad distribution of responsibilities. (Indeed, Template Toolkit has no such facilities.) But there’s the Cache::Cache family of modules on the CPAN, which you can use to cache things completely independently of <em>what</em> is being cached – whether it be the output of a template, or the query results themselves, or anything else, which might not even have anything to do without any output you generate.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tali Banana</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-3948</link>
		<dc:creator>Tali Banana</dc:creator>
		<pubDate>Wed, 01 Feb 2006 17:30:03 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-3948</guid>
		<description>&lt;p&gt;Smarty does need some standards redesign on the interface, as does php itself which has been well documented but slow going.&lt;/p&gt;

&lt;p&gt;Coming from the PERL background and previous php template systems I&#039;ve been very happy with Smarty in general, even if there are a few things that could be done to speed up the learning curve.&lt;/p&gt;

&lt;p&gt;May be worthwhile jumping on the dev team and making some suggestions.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Smarty does need some standards redesign on the interface, as does php itself which has been well documented but slow going.</p>
<p>Coming from the PERL background and previous php template systems I&#8217;ve been very happy with Smarty in general, even if there are a few things that could be done to speed up the learning curve.</p>
<p>May be worthwhile jumping on the dev team and making some suggestions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: l.m.orchard</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-3943</link>
		<dc:creator>l.m.orchard</dc:creator>
		<pubDate>Wed, 01 Feb 2006 11:43:36 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-3943</guid>
		<description>&lt;p&gt;Tali: I&#039;m usually opinionated, but I try to listen &amp; learn :)&lt;/p&gt;

&lt;p&gt;The benefits you describe with Smarty would seem to come with any decent web development system.  Separating logic and presentation are the general idea behind templating, and some sort of caching is a must no matter what you&#039;re using as a presentation-side tool.  My beef is that, out of all the templating systems I&#039;ve used, Smarty is one of the ugliest.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Tali: I&#8217;m usually opinionated, but I try to listen &amp; learn :)</p>
<p>The benefits you describe with Smarty would seem to come with any decent web development system.  Separating logic and presentation are the general idea behind templating, and some sort of caching is a must no matter what you&#8217;re using as a presentation-side tool.  My beef is that, out of all the templating systems I&#8217;ve used, Smarty is one of the ugliest.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tali Banana</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-3939</link>
		<dc:creator>Tali Banana</dc:creator>
		<pubDate>Wed, 01 Feb 2006 07:33:41 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-3939</guid>
		<description>&lt;p&gt;Well, quite opinionated I see.&lt;/p&gt;

&lt;p&gt;Smarty solves some fantastic problems and the cacheing system is beyond fabulous at this level.&lt;/p&gt;

&lt;p&gt;I&#039;ve used Smarty on several projects and have been using it now exclusively for 4 years.  Of course, I used others but it was getting sick coming to a new phase in a project and finding out the template system had become RIP....abandoned before their time.&lt;/p&gt;

&lt;p&gt;Smarty has done two great things for me, and I&#039;ll speak about them until the day that PHP is abolished:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Smarty has reduced my code to a reasonably sized, scan-able, masterpiece.  Having the logic and presentation seperate is so nice.  I recently rewrote one of my old projects using smarty and all of a sudden it made sense!  No more php in the html and no more html in the php.  And that&#039;s something you can&#039;t solve without templates for you juniors out there.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Smarty&#039;s caching has turned monster db queries into non issues.  Consider this.  A top 10 list from all-time sales.  I&#039;m talking about searching a db with sales spanning 6 years for all items purchased and creating a top sales page.  Easy!  Smarty does it once and caches the results until I decide they need to be refreshed.  Took a 4 second execution time down to less than 0.4 seconds.  And all without having to implement a CMS or otherwise.  Even if you have limitless resources to buy new hardware, caching like this still makes sense.  And the intermediate php/html cache is brilliant.  Everything is so much faster with smarty.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I can&#039;t deny, I love Smarty.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Well, quite opinionated I see.</p>
<p>Smarty solves some fantastic problems and the cacheing system is beyond fabulous at this level.</p>
<p>I&#8217;ve used Smarty on several projects and have been using it now exclusively for 4 years.  Of course, I used others but it was getting sick coming to a new phase in a project and finding out the template system had become RIP&#8230;.abandoned before their time.</p>
<p>Smarty has done two great things for me, and I&#8217;ll speak about them until the day that PHP is abolished:</p>
<ol>
<li>
<p>Smarty has reduced my code to a reasonably sized, scan-able, masterpiece.  Having the logic and presentation seperate is so nice.  I recently rewrote one of my old projects using smarty and all of a sudden it made sense!  No more php in the html and no more html in the php.  And that&#8217;s something you can&#8217;t solve without templates for you juniors out there.</p>
</li>
<li>
<p>Smarty&#8217;s caching has turned monster db queries into non issues.  Consider this.  A top 10 list from all-time sales.  I&#8217;m talking about searching a db with sales spanning 6 years for all items purchased and creating a top sales page.  Easy!  Smarty does it once and caches the results until I decide they need to be refreshed.  Took a 4 second execution time down to less than 0.4 seconds.  And all without having to implement a CMS or otherwise.  Even if you have limitless resources to buy new hardware, caching like this still makes sense.  And the intermediate php/html cache is brilliant.  Everything is so much faster with smarty.</p>
</li>
</ol>
<p>I can&#8217;t deny, I love Smarty.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Grayless</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-3753</link>
		<dc:creator>Brian Grayless</dc:creator>
		<pubDate>Thu, 19 Jan 2006 16:00:24 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-3753</guid>
		<description>&lt;p&gt;Smarty is really a waste of time. Some food for thought....&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.fudnik.com/main/tiki-read_article.php?articleId=7&quot; rel=&quot;nofollow&quot;&gt;Smarty for Dummies?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just write better code!!!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Smarty is really a waste of time. Some food for thought&#8230;.</p>
<p><a href="http://www.fudnik.com/main/tiki-read_article.php?articleId=7" rel="nofollow">Smarty for Dummies?</a></p>
<p>Just write better code!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aristotle Pagaltzis</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-3484</link>
		<dc:creator>Aristotle Pagaltzis</dc:creator>
		<pubDate>Fri, 13 Jan 2006 09:02:38 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-3484</guid>
		<description>&lt;p&gt;Hehe. Well, I plan to port it to Perl, in any case. :&lt;i&gt;&lt;/i&gt;-)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hehe. Well, I plan to port it to Perl, in any case. :<i></i>-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Aman</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-3444</link>
		<dc:creator>Bob Aman</dc:creator>
		<pubDate>Fri, 13 Jan 2006 01:10:16 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-3444</guid>
		<description>&lt;p&gt;Aristotle: When TurboGears first came out, I almost did, believe it or not.  But then I remembered that FeedTools eats all of the time I have available for open-source projects, and I figured someone else would probably do it for me anyways...&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Aristotle: When TurboGears first came out, I almost did, believe it or not.  But then I remembered that FeedTools eats all of the time I have available for open-source projects, and I figured someone else would probably do it for me anyways&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dougal Campbell</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-3442</link>
		<dc:creator>Dougal Campbell</dc:creator>
		<pubDate>Thu, 12 Jan 2006 15:25:25 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-3442</guid>
		<description>&lt;p&gt;Yeah, I was never able to get into Smarty either, and I&#039;ve never been able to put my finger on why. Philosophically, I like the idea of using template engines, particularly if you&#039;re collaborating with a non-programming designer. I even wrote one (albeit a &lt;em&gt;very simple&lt;/em&gt; one) myself, once. But I&#039;ve never used any of the PHP template packages that I&#039;ve looked at.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Yeah, I was never able to get into Smarty either, and I&#8217;ve never been able to put my finger on why. Philosophically, I like the idea of using template engines, particularly if you&#8217;re collaborating with a non-programming designer. I even wrote one (albeit a <em>very simple</em> one) myself, once. But I&#8217;ve never used any of the PHP template packages that I&#8217;ve looked at.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: l.m.orchard</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-3441</link>
		<dc:creator>l.m.orchard</dc:creator>
		<pubDate>Thu, 12 Jan 2006 14:27:42 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-3441</guid>
		<description>&lt;p&gt;Bryce: Oh, I totally understand the implications of offering too much capability to template authors.  That&#039;s just how much I dislike Smarty—I&#039;m willing to risk it, rather than put up with that particular implementation.  On the other hand, in my situation, I&#039;m on the same team with the template developers, so we&#039;re all on the same team to sink or swim.  I know it&#039;s not that simple, in principle, but it covers the 80% of the 80/20 equation.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Bryce: Oh, I totally understand the implications of offering too much capability to template authors.  That&#8217;s just how much I dislike Smarty—I&#8217;m willing to risk it, rather than put up with that particular implementation.  On the other hand, in my situation, I&#8217;m on the same team with the template developers, so we&#8217;re all on the same team to sink or swim.  I know it&#8217;s not that simple, in principle, but it covers the 80% of the 80/20 equation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryce</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-3439</link>
		<dc:creator>Bryce</dc:creator>
		<pubDate>Thu, 12 Jan 2006 13:33:10 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-3439</guid>
		<description>&lt;p&gt;PHP as a template engine is more evil than Smarty. The main issue is that template authors may not be trustworthy. Once you include or eval() a PHP template the app is no longer in control and I don&#039;t see any way of structuring a PHP app such that it cannot be subverted from within. &lt;/p&gt;

&lt;p&gt;The only defense seems to be using the tokenizer functions to build a PHP parser that validates templates against a &quot;whitelist&quot; of allowed operations. Savant&#039;s Restricted Compiler is about the only implementation out there, but it&#039;s not quite complete and seems to be more of a proof-of-concept than battle-tested code.&lt;/p&gt;

&lt;p&gt;Whatever Smarty&#039;s faults, it solves the untrusted templates problem nicely.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>PHP as a template engine is more evil than Smarty. The main issue is that template authors may not be trustworthy. Once you include or eval() a PHP template the app is no longer in control and I don&#8217;t see any way of structuring a PHP app such that it cannot be subverted from within. </p>
<p>The only defense seems to be using the tokenizer functions to build a PHP parser that validates templates against a &#8220;whitelist&#8221; of allowed operations. Savant&#8217;s Restricted Compiler is about the only implementation out there, but it&#8217;s not quite complete and seems to be more of a proof-of-concept than battle-tested code.</p>
<p>Whatever Smarty&#8217;s faults, it solves the untrusted templates problem nicely.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Keith Gaughan</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-3392</link>
		<dc:creator>Keith Gaughan</dc:creator>
		<pubDate>Sun, 08 Jan 2006 21:28:05 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-3392</guid>
		<description>&lt;p&gt;What&#039;s moronic is that people go to all this trouble building templating systems when all you really need is extract(). Sad, really.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>What&#8217;s moronic is that people go to all this trouble building templating systems when all you really need is extract(). Sad, really.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aristotle Pagaltzis</title>
		<link>http://decafbad.com/blog/2006/01/07/smarty-is-on-my-evil-list/comment-page-1#comment-3391</link>
		<dc:creator>Aristotle Pagaltzis</dc:creator>
		<pubDate>Sun, 08 Jan 2006 21:04:14 +0000</pubDate>
		<guid isPermaLink="false">http://decafbad.com/blog/?p=818#comment-3391</guid>
		<description>&lt;p&gt;&lt;a href=&quot;#comment-3388&quot; rel=&quot;nofollow&quot;&gt;Bob&lt;/a&gt;: port &lt;a href=&quot;http://kid.lesscode.org/language.html&quot; rel=&quot;nofollow&quot;&gt;Kid&lt;/a&gt; to Ruby. :-&lt;i&gt;&lt;/i&gt;)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p><a href="#comment-3388" rel="nofollow">Bob</a>: port <a href="http://kid.lesscode.org/language.html" rel="nofollow">Kid</a> to Ruby. :-<i></i>)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
