spread the dot jenett.radio.randomizer - click to visit a random Radio weblog - for information, contact randomizer@coolstop.com

Writing Online

on my (ab)use of Radio Userland
 Monday, August 19, 2002

Irregular Expressions

Well, I found out what it is about the Tools post that is causing it to mess up the aggregator display. It's something silly.

5:20:12 PM # Google It!
categories: Writing Online

An Aggregator that updates your Subscription

Aggie 1.0 RC4 pays attention to what HTTP tells it:
Also the HTTP Redirection header is obeyed and stored to reduce the number of round trips retrieving files. In addition all this information is stored in a seperate file so that if you are using Aggie to read an OPML file from a remote site you still get all the speed enhancements.

4:19:54 PM # Google It!
categories: Writing Online

ohmigod, they killed kenny

random lossage: <" ones, ">

2:18:26 PM # Google It!
categories: Writing Online

You decoded my quote mark

Does this reproduce? Yes, it does! Why?

What about this one?

people: no ones, just

[tins ::: Rick Klau's weblog]

Truncated, not the post, but the tag, after "no"

12:44:29 PM # Google It!
categories: Writing Online

Execution Flow

The file $RADIO_ROOT/www/system/pages/news.txt contains this statement

<%radio.html.viewNewsItems ()%>

Radio.root contains system.verbs.builtins.radio.html.viewNewsItems.txt, which is what this macro calls. That routine contains a subroutine called decodeEntities:

on decodeEntities (s) {
	s = string.replaceAll (s, "\r\n", "\r");
	s = string.replaceAll (s, "\n", "\r");
return (radio.string.decodeEntities (s, flNeuterJavaScript:false))};

which calls radio.string.decodeEntities

on decodeEntities (s, flUntaint=true, flNeuterJavaScript=true) {
	s = string.replaceAll (s, "'", "\'");
	s = xml.entityDecode (s, true, true);
	if flUntaint {
		s = radio.string.untaint (s, flNeuterJavaScript)};
	return (s)}

which calls, in turn, xml.entityDecode after replacing all the apostrophes.

12:29:20 PM # Google It!
categories: Writing Online

Curly Braces

That's interesting. Radio doesn't encode curly braces, but it does decode them.

12:16:24 PM # Google It!
categories: Writing Online

How to Really Piss Off Radio Userland Users

  • include a meta refresh element in your rss: this will redirect their aggregator page
  • include a title element in your rss: this will cause all items following (in the aggregator) to not render in your browser
  • fill in the blank — I'll probably find another

Why is this bug annoying me so much? Because otherwise I would really like using this tool. If I can't use it to write technical documentation, then I won't use at all.

11:47:15 AM # Google It!
categories: Writing Online



11:29:35 AM # Google It!
categories: Writing Online

Attempting to Narrow the Scope of the Entity-Decoding Bug

Why is a hyphen not permissible within the title element of RSS 0.92? The IE6 XSLT parser chokes on it, as do AmphetaDesk and Radio. At least AmphetaDesk and IE6 return an error rather than silently failing.

(Wow, the double-decode of title really broke the aggregator.)

I'm posting my tests to this feed, including meta elements. Hopefully I won't forget to uncheck the "Home Page" category checkbox. So far it seems that Radio is encoding just dandy.

11:26:25 AM # Google It!
categories: Writing Online

Something damaging test case

This is a meta tag that will refresh the page to someplace else:

It should NOT execute, since the angle-brackets are entity-encoded.

Later: That's whacked. It refreshes even w/o the angle brackets making it a tag. What's up with that?

11:01:18 AM # Google It!
categories: Writing Online

Entity Codec Test Case

This is an ampersand: & This is an ampersand entity: & This is a less than: < This is a less than entity: < This is a greater than: > This is a greater than entity: >

9:11:39 AM # Google It!
categories: Writing Online

No Truncation

I remember why I stopped truncating my posts in the first place. Since the routine could truncate after a certain number of characters, in addition to at the end of a sentence, it could truncate in the midst of a tag. And since it truncates in the middle of tags, like, for example, a blockquote, it could mess up the flow of the reader's aggregator.

Isn't markup wonderful?

9:10:10 AM # Google It!
categories: Writing Online