Scripting News: Sunday, October 15, 2023

At lunch today we were joined by a few dozen yellowjackets at an outdoor noodle bar in Woodstock. They don't sting, but they sure are annoying. A waitress put out a little dish of honey to draw them away from us and our food. Recalls a piece I wrote in the early blogging days (1996) about bees in my Woodside (California) yard. #
Every account on Bluesky has an excellent RSS feed. I just realized I can convert my Artshow app that used to run on the Twitter API to run on Bluesky art feeds. This is going to be interesting. #
Note to people running their own FeedLand instances. There's a new version of the server that handles reading lists. This will be an important feature going forward. Right now what it needs most is testing and feedback. The user interface is very provisional. #
Drummer's native file format is OPML and OPML is the format for reading lists. This has led to some very nice synergies. #
Example: A script you can add to your Scripts menu that asks for the URL of a feed, and inserts a node into your outline. #
    var url = dialog.ask ("URL of feed")#
    var theFeed = rss.readFeed (url)#
    op.insert (theFeed.title)#
    op.attributes.addGroup ({type: 'rss', xmlUrl: url})#
Here are the DocServer pages#
Took five minutes to write and worked the first time. 😄#
In the four line example above you're seeing lots of factoring done over three decades. #
It's JavaScript with one change, the statements are synchronous. The Nth statement doesn't start until the one before it completes. This version of JavaScript is optimized for the 99% of times you want synchronous code, makes that the default, as all reasonable languages do. Otherwise it's plain old JavaScript, which is a fine Algol-like language. #
The verbs, dialog.ask, rss.readFeed, op.insert, op.attributes.addGroup, are designed to reduce complicated things to their most simple core functionality.#
rss.readFeed, for example, builds on a couple of decades of understanding feed reading, parses all common formats that fit under the RSS umbrella and makes it all flat. Factoring is the antidote to chaos. #
And "op" stands for outline processor. Those verbs go back to the late 80s when they were the first verbs in my first language outliner I called Betty. Why change the name of verbs if they work, recalling that one way to do something is better than two, no matter how much better the second way is. #

Linkblog items for the day.

The W3C feed validator has a SOAP interface. This could be useful. ;-) github.com
Drummer's native file format is OPML and OPML is the format for reading lists. This has led to some very nice synergies. scripting.com
Imho the best, most emotionally moving, American political ad ever, maybe the best ad possible. youtube.com
Copyright 1994-2023 Dave Winer.
This email was sent on: 10/16/2023, 12:00:01 AM Eastern.
"This is unfortunate and we're stuck with it forever."
This blog has been running for: 29 years, 0 months, 8 days, 9 hours, 0 minutes, 1 second.
How to subscribe. Read on the web. Click here to unsubscribe.

评论

此博客中的热门博文

🔥 (#155) A Vue podcast?

Scripting News: Tuesday, February 13, 2024