<?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: Exploring Command Chaining in Ubiquity: Part 1</title>
	<atom:link href="http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/feed/" rel="self" type="application/rss+xml" />
	<link>http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/</link>
	<description></description>
	<lastBuildDate>Tue, 27 Dec 2011 23:04:23 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-alpha-19719</generator>
	<item>
		<title>By: FLV Converter</title>
		<link>http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/comment-page-1/#comment-2361</link>
		<dc:creator>FLV Converter</dc:creator>
		<pubDate>Wed, 02 Dec 2009 13:16:54 +0000</pubDate>
		<guid isPermaLink="false">http://mitcho.com/blog/?p=2760#comment-2361</guid>
		<description>&lt;p&gt;That &#039;s so beautiful!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>That &#039;s so beautiful!</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Exploring Command Chaining in Ubiquity: Part 2</title>
		<link>http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/comment-page-1/#comment-1774</link>
		<dc:creator>Exploring Command Chaining in Ubiquity: Part 2</dc:creator>
		<pubDate>Sun, 23 Aug 2009 23:14:37 +0000</pubDate>
		<guid isPermaLink="false">http://mitcho.com/blog/?p=2760#comment-1774</guid>
		<description>&lt;p&gt;[...] A few days ago I penned some initial technical considerations regarding command chaining. In this post I&#8217;ll be point out some linguistic considerations involved in supporting a natural syntax for chaining. [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[&#8230;] A few days ago I penned some initial technical considerations regarding command chaining. In this post I&#8217;ll be point out some linguistic considerations involved in supporting a natural syntax for chaining. [&#8230;]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: LinuxMCE Phone System Demonstration Part 1/2 &#124; Business Telephone System</title>
		<link>http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/comment-page-1/#comment-1771</link>
		<dc:creator>LinuxMCE Phone System Demonstration Part 1/2 &#124; Business Telephone System</dc:creator>
		<pubDate>Sat, 22 Aug 2009 21:11:20 +0000</pubDate>
		<guid isPermaLink="false">http://mitcho.com/blog/?p=2760#comment-1771</guid>
		<description>&lt;p&gt;[...] Exploring Command Chaining in Ubiquity: Part 1   [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[&#8230;] Exploring Command Chaining in Ubiquity: Part 1   [&#8230;]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: mitcho</title>
		<link>http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/comment-page-1/#comment-1753</link>
		<dc:creator>mitcho</dc:creator>
		<pubDate>Fri, 21 Aug 2009 06:41:36 +0000</pubDate>
		<guid isPermaLink="false">http://mitcho.com/blog/?p=2760#comment-1753</guid>
		<description>&lt;p&gt;Heh. :p&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Heh. :p</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Zeno Davatz</title>
		<link>http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/comment-page-1/#comment-1752</link>
		<dc:creator>Zeno Davatz</dc:creator>
		<pubDate>Fri, 21 Aug 2009 06:29:28 +0000</pubDate>
		<guid isPermaLink="false">http://mitcho.com/blog/?p=2760#comment-1752</guid>
		<description>&lt;p&gt;;)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p> <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>]]></content:encoded>
	</item>
	<item>
		<title>By: Action!</title>
		<link>http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/comment-page-1/#comment-1750</link>
		<dc:creator>Action!</dc:creator>
		<pubDate>Thu, 20 Aug 2009 23:56:29 +0000</pubDate>
		<guid isPermaLink="false">http://mitcho.com/blog/?p=2760#comment-1750</guid>
		<description>&lt;p&gt;twitter g&#039;night and quit firefox&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>twitter g&#039;night and quit firefox</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Felipe Gomes</title>
		<link>http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/comment-page-1/#comment-1744</link>
		<dc:creator>Felipe Gomes</dc:creator>
		<pubDate>Thu, 20 Aug 2009 21:45:55 +0000</pubDate>
		<guid isPermaLink="false">http://mitcho.com/blog/?p=2760#comment-1744</guid>
		<description>&lt;p&gt;-- Attention, wild brainstorming in this comment :) --&lt;/p&gt;

&lt;p&gt;Command chaining is something really interesting. Back 4 or 5 years when the ideas of natural language interfaces were popping up, there was the service called YubNub (&lt;a href=&quot;http://www.yubnub.org,&quot; target=&quot;_blank&quot;&gt;www.yubnub.org,&lt;/a&gt; still exists) and it was really simple but worked really well. It&#039;s hard to image up front all the new possibilities of chaining brings, but when pieces starts tying together it gets interesting. When they implemented both named parameters and command chaining, lots of commands and meta-commands appeared (like ifThenElse) that made it almost a pseudo-script language for the web. 
However, their approach and goals were quite different (natural language was not the final goal), so I don&#039;t think that everything applies to Ubiquity, but I just wanted to mention it to bring some inspiration.&lt;/p&gt;

&lt;p&gt;One idea for how the chaining could work is: when the user types a composite command (let&#039;s simplify it by being detected as the word &quot;and&quot; directly followed by a noun verb), only the first command would be interpreted, the second part would be left ignored. On the matches list (where you do the nice underlining of noun-types and such) the second command would be displayed grayed out. When the user is certain that the first command previewed is correct, then pressing Enter or the right arrow key would execute the command, get the lookup data, and move to the next command in the chain.  Or perhaps it wouldn&#039;t execute the command but just let the user adjust the second command and use a placeholder for the output (similar to the &quot;this&quot; placeholder... could be a nice little box saying &quot;output&quot;).&lt;/p&gt;

&lt;p&gt;This is all pretty much English only I think (though it would work for portuguese), but I guess the model would break in other languages so I&#039;m excited to see what you&#039;ll say about the international challenges about this.&lt;/p&gt;

&lt;p&gt;Another thing is that there are some possible action commands that would be chainable, or at least considering that some action commands would have output data. For example, a file uploader command: &quot;upload picture to flickr and e-mail it to mitcho&quot; :)   Of course this is just crazy future imagination&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>&#8212; Attention, wild brainstorming in this comment <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8212;</p>

<p>Command chaining is something really interesting. Back 4 or 5 years when the ideas of natural language interfaces were popping up, there was the service called YubNub (<a href="http://www.yubnub.org," target="_blank"></a><a href="http://www.yubnub.org" rel="nofollow">http://www.yubnub.org</a>, still exists) and it was really simple but worked really well. It&#039;s hard to image up front all the new possibilities of chaining brings, but when pieces starts tying together it gets interesting. When they implemented both named parameters and command chaining, lots of commands and meta-commands appeared (like ifThenElse) that made it almost a pseudo-script language for the web. 
However, their approach and goals were quite different (natural language was not the final goal), so I don&#039;t think that everything applies to Ubiquity, but I just wanted to mention it to bring some inspiration.</p>

<p>One idea for how the chaining could work is: when the user types a composite command (let&#039;s simplify it by being detected as the word &quot;and&quot; directly followed by a noun verb), only the first command would be interpreted, the second part would be left ignored. On the matches list (where you do the nice underlining of noun-types and such) the second command would be displayed grayed out. When the user is certain that the first command previewed is correct, then pressing Enter or the right arrow key would execute the command, get the lookup data, and move to the next command in the chain.  Or perhaps it wouldn&#039;t execute the command but just let the user adjust the second command and use a placeholder for the output (similar to the &quot;this&quot; placeholder&#8230; could be a nice little box saying &quot;output&quot;).</p>

<p>This is all pretty much English only I think (though it would work for portuguese), but I guess the model would break in other languages so I&#039;m excited to see what you&#039;ll say about the international challenges about this.</p>

<p>Another thing is that there are some possible action commands that would be chainable, or at least considering that some action commands would have output data. For example, a file uploader command: &quot;upload picture to flickr and e-mail it to mitcho&quot; <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />    Of course this is just crazy future imagination</p>]]></content:encoded>
	</item>
	<item>
		<title>By: mitcho</title>
		<link>http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/comment-page-1/#comment-1737</link>
		<dc:creator>mitcho</dc:creator>
		<pubDate>Thu, 20 Aug 2009 02:30:31 +0000</pubDate>
		<guid isPermaLink="false">http://mitcho.com/blog/?p=2760#comment-1737</guid>
		<description>&lt;p&gt;Aaron, thanks for commenting! Our noun type detection system, together with the way Ubiquity commands specify their arguments, does exactly what you describe with noun suggestions being returned with scores which represent how well that input matches that noun type. This is used both for validation of individual arguments and for suggest suggestions of verbs. More information is available at &lt;a href=&quot;http://mitcho.com/blog/projects/judging-noun-types/&quot; target=&quot;_blank&quot;&gt;http://mitcho.com/blog/projects/judging-noun-type...&lt;/a&gt; . An old demonstration of the smart verb suggestion is at &lt;a href=&quot;http://mitcho.com/blog/projects/a-demonstration-of-ubiquity-parser-2/&quot; target=&quot;_blank&quot;&gt;http://mitcho.com/blog/projects/a-demonstration-o...&lt;/a&gt; and details of our scoring model is at &lt;a href=&quot;http://mitcho.com/blog/observation/scoring-for-optimization/&quot; target=&quot;_blank&quot;&gt;http://mitcho.com/blog/observation/scoring-for-op...&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;I believe what you&#039;re describing in your last paragraph is the a posteriori approach (noun type detection &lt;em&gt;after&lt;/em&gt; getting the chainable output of the first verb) I described above.&lt;/p&gt;

&lt;p&gt;Nice casual use of &quot;wugs,&quot; btw. ;)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Aaron, thanks for commenting! Our noun type detection system, together with the way Ubiquity commands specify their arguments, does exactly what you describe with noun suggestions being returned with scores which represent how well that input matches that noun type. This is used both for validation of individual arguments and for suggest suggestions of verbs. More information is available at <a href="http://mitcho.com/blog/projects/judging-noun-types/" target="_blank">http://mitcho.com/blog/projects/judging-noun-type&#8230;</a> . An old demonstration of the smart verb suggestion is at <a href="http://mitcho.com/blog/projects/a-demonstration-of-ubiquity-parser-2/" target="_blank">http://mitcho.com/blog/projects/a-demonstration-o&#8230;</a> and details of our scoring model is at <a href="http://mitcho.com/blog/observation/scoring-for-optimization/" target="_blank">http://mitcho.com/blog/observation/scoring-for-op&#8230;</a> .</p>

<p>I believe what you&#039;re describing in your last paragraph is the a posteriori approach (noun type detection <em>after</em> getting the chainable output of the first verb) I described above.</p>

<p>Nice casual use of &quot;wugs,&quot; btw. <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>]]></content:encoded>
	</item>
	<item>
		<title>By: mitcho</title>
		<link>http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/comment-page-1/#comment-1738</link>
		<dc:creator>mitcho</dc:creator>
		<pubDate>Thu, 20 Aug 2009 02:30:31 +0000</pubDate>
		<guid isPermaLink="false">http://mitcho.com/blog/?p=2760#comment-1738</guid>
		<description>&lt;p&gt;Aaron, thanks for commenting! Our noun type detection system, together with the way Ubiquity commands specify their arguments, does exactly what you describe with noun suggestions being returned with scores which represent how well that input matches that noun type. This is used both for validation of individual arguments and for suggest suggestions of verbs. More information is available at &lt;a href=&quot;http://mitcho.com/blog/projects/judging-noun-types/&quot; target=&quot;_blank&quot;&gt;http://mitcho.com/blog/projects/judging-noun-type...&lt;/a&gt; . An old demonstration of the smart verb suggestion is at &lt;a href=&quot;http://mitcho.com/blog/projects/a-demonstration-of-ubiquity-parser-2/&quot; target=&quot;_blank&quot;&gt;http://mitcho.com/blog/projects/a-demonstration-o...&lt;/a&gt; and details of our scoring model is at &lt;a href=&quot;http://mitcho.com/blog/observation/scoring-for-optimization/&quot; target=&quot;_blank&quot;&gt;http://mitcho.com/blog/observation/scoring-for-op...&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;I believe what you&#039;re describing in your last paragraph is the a posteriori approach (noun type detection &lt;em&gt;after&lt;/em&gt; getting the chainable output of the first verb) I described above.&lt;/p&gt;

&lt;p&gt;Nice casual use of &quot;wugs,&quot; btw. ;)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Aaron, thanks for commenting! Our noun type detection system, together with the way Ubiquity commands specify their arguments, does exactly what you describe with noun suggestions being returned with scores which represent how well that input matches that noun type. This is used both for validation of individual arguments and for suggest suggestions of verbs. More information is available at <a href="http://mitcho.com/blog/projects/judging-noun-types/" target="_blank">http://mitcho.com/blog/projects/judging-noun-type&#8230;</a> . An old demonstration of the smart verb suggestion is at <a href="http://mitcho.com/blog/projects/a-demonstration-of-ubiquity-parser-2/" target="_blank">http://mitcho.com/blog/projects/a-demonstration-o&#8230;</a> and details of our scoring model is at <a href="http://mitcho.com/blog/observation/scoring-for-optimization/" target="_blank">http://mitcho.com/blog/observation/scoring-for-op&#8230;</a> .</p>

<p>I believe what you&#039;re describing in your last paragraph is the a posteriori approach (noun type detection <em>after</em> getting the chainable output of the first verb) I described above.</p>

<p>Nice casual use of &quot;wugs,&quot; btw. <img src='http://mitcho.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>]]></content:encoded>
	</item>
	<item>
		<title>By: aaron</title>
		<link>http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/comment-page-1/#comment-1736</link>
		<dc:creator>aaron</dc:creator>
		<pubDate>Thu, 20 Aug 2009 02:09:58 +0000</pubDate>
		<guid isPermaLink="false">http://mitcho.com/blog/?p=2760#comment-1736</guid>
		<description>&lt;p&gt;I don&#039;t know a lot about the internals of Ubiquity, so something I say may be wrong, but it seems like the main uses for custom noun types are completion and imposing structure on input.  Argument completion isn&#039;t an issue for commands that are not the first in a chain.  (As you point out, verb suggestion is a problem, and not one I have much of an idea for).  So, for imposing structure, what if you let commands specify a function that transforms another input type into their preferred type.  Concretely, I imagine this being implemented as an associative array of noun types and input functions.  So the command &quot;multiply&quot; might specify a dict as follows (pseudocode): 
&lt;code&gt;{
  noun_type_number: function(x) { return x; }, 
  noun_type_text: function (x) { find the first number in x and return it; } 
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This would allow chaining of less than fully compatible commands.  Take the following example:
&quot;get the number of wugs and then multiply by 2&quot;
Imagine &quot;multiply&quot; is expecting a number as input, but &quot;get the number of&quot; returns a string like &quot;There are 5 wugs&quot;.  But by calling the noun_type_text member of &quot;multiply&quot;&#039;s input function dictionary, you can recover the number.&lt;/p&gt;

&lt;p&gt;This would be bad for intelligent verb suggestion, of course, because presumably any command is going to make an effort to do something with arbitrary text (and most command output can be down-converted to text).  I guess you&#039;d have to allow commands to specify a &quot;preferredness&quot; value for each noun type they accept.  So a command that accepts email addresses would be a good match for a command that outputs email addresses; a mediocre match for a command that outputs text (because presumably it has some way of fishing an email address out of a larger string); and a poor match for a command that outputs numbers (because no number --&gt; email address conversion is defined)&lt;/p&gt;

&lt;p&gt;A further thought: If you impose some API requirements on validation/conversion functions, you can get some extra mileage.  First, argument validation functions must not do anything side effectful, but only validate.  Second, they must signal some kind of error when validation fails.  Then you can run them in the background after the first command is entered.  So to return to the above example, if the user types &quot;get the number of wugs and then&quot; and pauses typing, Ubiquity can use the idle time to call commands&#039; validation functions.  The function for validating text input to &quot;multiply&quot; will result in success, because there is a number in &quot;There are 5 wugs.&quot;  A function for validating email addresses will fail, though, because there aren&#039;t any email addresses.  Then Ubiquity could cull email-address-accepting functions from the list of suggestions.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I don&#8217;t know a lot about the internals of Ubiquity, so something I say may be wrong, but it seems like the main uses for custom noun types are completion and imposing structure on input.  Argument completion isn&#8217;t an issue for commands that are not the first in a chain.  (As you point out, verb suggestion is a problem, and not one I have much of an idea for).  So, for imposing structure, what if you let commands specify a function that transforms another input type into their preferred type.  Concretely, I imagine this being implemented as an associative array of noun types and input functions.  So the command &#8220;multiply&#8221; might specify a dict as follows (pseudocode): 
<code>{
  noun_type_number: function(x) { return x; }, 
  noun_type_text: function (x) { find the first number in x and return it; } 
}</code></p>

<p>This would allow chaining of less than fully compatible commands.  Take the following example:
&#8220;get the number of wugs and then multiply by 2&#8221;
Imagine &#8220;multiply&#8221; is expecting a number as input, but &#8220;get the number of&#8221; returns a string like &#8220;There are 5 wugs&#8221;.  But by calling the noun_type_text member of &#8220;multiply&#8220;&#8216;s input function dictionary, you can recover the number.</p>

<p>This would be bad for intelligent verb suggestion, of course, because presumably any command is going to make an effort to do something with arbitrary text (and most command output can be down-converted to text).  I guess you&#8217;d have to allow commands to specify a &#8220;preferredness&#8221; value for each noun type they accept.  So a command that accepts email addresses would be a good match for a command that outputs email addresses; a mediocre match for a command that outputs text (because presumably it has some way of fishing an email address out of a larger string); and a poor match for a command that outputs numbers (because no number &#8212;&gt; email address conversion is defined)</p>

<p>A further thought: If you impose some API requirements on validation/conversion functions, you can get some extra mileage.  First, argument validation functions must not do anything side effectful, but only validate.  Second, they must signal some kind of error when validation fails.  Then you can run them in the background after the first command is entered.  So to return to the above example, if the user types &#8220;get the number of wugs and then&#8221; and pauses typing, Ubiquity can use the idle time to call commands&#8217; validation functions.  The function for validating text input to &#8220;multiply&#8221; will result in success, because there is a number in &#8220;There are 5 wugs.&#8221;  A function for validating email addresses will fail, though, because there aren&#8217;t any email addresses.  Then Ubiquity could cull email-address-accepting functions from the list of suggestions.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jono</title>
		<link>http://mitcho.com/blog/projects/exploring-command-chaining-in-ubiquity-part-1/comment-page-1/#comment-1735</link>
		<dc:creator>Jono</dc:creator>
		<pubDate>Thu, 20 Aug 2009 01:01:52 +0000</pubDate>
		<guid isPermaLink="false">http://mitcho.com/blog/?p=2760#comment-1735</guid>
		<description>&lt;p&gt;Hi Mitcho, 
I think you&#039;re basically right with your classification. 
I think that the most logical way for command authors to implement output values is by returning an object from their execute() method.  (And their preview() method?).  The return value of the execute() method isn&#039;t currently used for anything, and it&#039;s a logical place to emit output values.&lt;/p&gt;

&lt;p&gt;I think almost every output value will be either generic text, or a URL.  Certainly, all commands that open pages could be pretty trivially modified to return those URLs, perhaps wrapped as some kind of URL object with type info, which can easily be consumed as input by one of the arguments of another command.  And commands that either set the text selection, or display text output in a transparent message, or put text into the clipboard, could all be changed to output that text as the return value of execute().&lt;/p&gt;

&lt;p&gt;A thought:  Perhaps instead of the command.execute() explicitly calling openURL, or setTextSelection, the command.execute() should simply return a URL object or a text object.  If there&#039;s a next command in the chain, it will get that value; if there is not a next command on the chain, then the Ubiquity core will catch it and perform the &quot;default action&quot; based on the data type.  The default action would be to set the text selection in the case of text, or to open a URL in the case of a URL.&lt;/p&gt;

&lt;p&gt;I have been assuming before that any command which wants to allow chaining would have to specify the nountype of its output.  Your alternative (running nountype detection on the output values) is intriguing as it has a lot of flexibility advantages, but it occurs to me that in a lot of cases we may not have any output to run nountype detection on until after the command is executed, at which point it&#039;s too late to chain it with anything.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi Mitcho, 
I think you&#039;re basically right with your classification. 
I think that the most logical way for command authors to implement output values is by returning an object from their execute() method.  (And their preview() method?).  The return value of the execute() method isn&#039;t currently used for anything, and it&#039;s a logical place to emit output values.</p>

<p>I think almost every output value will be either generic text, or a URL.  Certainly, all commands that open pages could be pretty trivially modified to return those URLs, perhaps wrapped as some kind of URL object with type info, which can easily be consumed as input by one of the arguments of another command.  And commands that either set the text selection, or display text output in a transparent message, or put text into the clipboard, could all be changed to output that text as the return value of execute().</p>

<p>A thought:  Perhaps instead of the command.execute() explicitly calling openURL, or setTextSelection, the command.execute() should simply return a URL object or a text object.  If there&#039;s a next command in the chain, it will get that value; if there is not a next command on the chain, then the Ubiquity core will catch it and perform the &quot;default action&quot; based on the data type.  The default action would be to set the text selection in the case of text, or to open a URL in the case of a URL.</p>

<p>I have been assuming before that any command which wants to allow chaining would have to specify the nountype of its output.  Your alternative (running nountype detection on the output values) is intriguing as it has a lot of flexibility advantages, but it occurs to me that in a lot of cases we may not have any output to run nountype detection on until after the command is executed, at which point it&#039;s too late to chain it with anything.</p>]]></content:encoded>
	</item>
</channel>
</rss>

