The article explains the technical side of the MBC09 talk, a code bundle is included. The latter still lacks the just added posting functionality, I'll try to make another release available once the code is a little more stable.
@cbbot, founder of Flickr". A tweet with the answer should appear on your "Replies" tab (or under "Recent", if you are following cbbot, see screenshot below).
In the 1st field ("Command") you define a (human-readable) command, with input parameters set via the ${parameter_name} notation. In the screenshot on the left, we created "${role} of ${comp_name}" which we are going to use to retrieve persons with a specific role at a given company. The command processor will automatically assign variables for a matching input string, e.g. "Editor of TechCrunch" will set the variable ${role} to "Editor", and ${comp_name} to "TechCrunch".
Using the Test form, we can see if our command pattern works, and if the result is formatted as desired. Should anything go wrong, we can select "Show raw output" to get some debugging information. Please note, even though we are using a browser, simple HTML forms, and a friendly pattern language, the commands are sent to real Web services. A broken script usually just hurts your local machine. A distributed Semantic Web processor like this, however, may harm other people's servers, so we should be careful, start small, and improve our script incrementally. In this case, the output result is a little ugly, so we could improve the output template and inject commas:

${GET.var_name}, this feature can be used to create different output, depending on e.g. a "format" parameter. I'm also working on support for content negotiation, where you'd simply create a "${rows}" template and the SPARQLScript processor would auto-generate an appropriate serialization including correct HTTP headers.

# global prefix declarations
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX rss: <http://purl.org/rss/1.0/>
# the target store
ENDPOINT <http://arc.semsol.org/demos/endpoint/>
# refresh feeds every 30 minutes
$up2date = ASK FROM <script-infos> WHERE {
<script-infos> dc:date ?date . FILTER (?date > "${NOW-30min}")
}
IF (!$up2date) {
# load feeds
LOAD <http://twitter.com/statuses/user_timeline/9516642.rss>
LOAD <http://identi.ca/bengee/rss>
# remember the update time
INSERT INTO <script-infos> { <script-infos> dc:date "${NOW}" }
}
# retrieve items
$items = SELECT * WHERE {
?item a rss:item ;
rss:title ?title ;
dc:date ?date .
} ORDER BY DESC(?date) LIMIT 8;
# output template
"""<h4>My online lifestream:</h4>
<ul>"""
FOR ($item in $items) {
"""<li><a href="${item.item}">${item.title}</a></li>"""
}
"</ul>"