Then I thought that Curly Logo could examine the URL, see if it contained a suitably encoded Logo program and execute the program if so. This is useful because «http://www.amberfrog.com/logo/», «http://www.amberfrog.com/logo/?foo», and «http://www.amberfrog.com/logo/#foo» are different URLs that happen to load the same resource. Because it’s exactly the same resource my server can serve cached copies, and in fact your browser can use the ETag header to not even bother getting the same object again. Wins all round.
So what Curly Logo does is decodeURI everything past the ‘#’ in its URL (available in «window.location») and execute it as Logo as if it was typed in. I call this technique URL scraping.
The pedagogic value for Curly Log is obvious. It means I can supply versions of Curly Logo that show a simple triangle being drawn, how to draw glasses on Ingrid Bergman, and draw rainbow-ripple star. All inside a (quite long) URL; no server change necessary. These custom versions of Curly Logo are bookmarkable and exchangeable (via e-mail, chat, and so on).
Aside: Firefox makes the turtle bug-eyed when I use a «#» in the URL. I have no idea why. Surely it’s a bug?