Sign up

frontier.root updates

Not verified No WebSub updates No webmention support Valid

New features and fixes for Dave Winer's 2026 project to reboot UserLand Frontier on modern hardware, in an RSS 2.0 'codecasting' feed.

Generator
UserLand Frontier v11.0
Rights
Copyright 2007-2026 Scripting News, Inc and Dave Winer.
Public lists
davewiner/blogroll
Fetched

frontier.root updates Valid
Text

workspace.userlandSamples.bluesky. Sample scripts for Bluesky.

frontier.root updates Valid
Text

workspace.userlandSamples.mastodon. Sample scripts for Mastodon.

frontier.root updates Valid
Text

bluesky. First release of Bluesky glue scripts table.

frontier.root updates Valid
Text

mastodon. First release of mastodon glue scripts table.

frontier.root updates Valid
Text

fileMenu.saveNamedRoot. New. A simple way to backup a root file, using its name, something like frontier.root or nodeEditor.root. There are other ways to do it but this is the most sensible, at least for nightly backups.

frontier.root updates Valid
Text

date.secondsSinceFractional. Created. date.secondsSince, a great utility for log messages and such, in Frontier has always been expressed in whole numbers, when there are times when you need more precision. The difference here is that the when value must come from clock.milliseconds, where you used clock.now for date.secondsSince.

frontier.root updates Valid
Text

bookmarksMenu.getLogic. Use string.addressToString to shorten the resulting address. First appearance of this new verb in the shipping root.

frontier.root updates Valid
Text

json.decompile. Kernelized. JSON.decompile ran as the 2010 UserTalk below; the kernel verb writes the same text -- xml.compile's shape read back: a table as an object, its /atts first, then the names that occur once in table order, then each repeated name as an array; a table of empty names as an array; numbered names without their number, /pcdata as #value; a scalar as itself; tabs and a carriage return per line, the last comma dropped as before. Checked against the script on nine tables, byte for byte. One difference: the 2010 replace table turned “ and ” into a bare double quote inside the string, which isn't JSON; the kernel writes an escaped quote. Running the script here also found indexOf missing from the language; it is in the kernel now. Below is the UserTalk code we're replacing.

frontier.root updates Valid
Text

json.compile. Kernelized. JSON.compile ran as the 2010 UserTalk scanner below, one verb call per character: 12,141 verb calls and 1.1 seconds on a 5K file here, where Berkeley is instant -- his report 9/13 on workspace.getServerAddress. The kernel verb builds the same table: xml.compile's shape, numbered names, an array as repeated names, null as nil, an empty array as an empty list, a scalar at the top as the whole answer, flParseAtts making /atts and /pcdata from a #value. One difference: escapes inside a string are decoded by the JSON rules (\n is a newline, \u00e9 is the letter); the scanner below kept the letter after the backslash. Below is the UserTalk code we're replacing.

frontier.root updates Valid
Text

html.directory.getRawHtml. Released for Atlantis. frontier.root had the 2012 version, two parameters; this is the 2017 version, eight parameters. nodeEditorSuite.uploadScripts needs it to render a project the way Berkeley does.

frontier.root updates Valid
Text

Searches are now unicase.

frontier.root updates Valid
Text

Does https. Pull the scheme off the front of server into flSecure, default the port to 443 when secure, and hand the built request to tcp.httpTransport (which does the request over the wire, TLS when secure) in place of opening a raw stream. The cookie handling and the proxy switch are unchanged.

frontier.root updates Valid
Text

Carry the scheme into server so an https url reads. server = urllist [1] + urllist [2], passed to tcp.httpClient in place of urllist [2]. Before this the scheme was dropped and https urls came back empty.

frontier.root updates Valid
Text

New. The transport under tcp.httpClient: it takes the request the glue built and does it over the wire, TLS when flSecure. tcp.httpClient opens a plain stream and can't reach an https server on its own, so this is where the secure request happens. Reuses the kernel http fetch, so TLS and chunked encoding are handled there.

frontier.root updates Valid
Text

There was a change in the format of the RSS 2.0 feed we're reading, instead of title, we use dc:identifier for the database address of the object being updated. In this version we adapt to that change.

frontier.root updates Valid
Text

system.verbs.builtins.op.console

First release of op.console, does console-type logging in an outline in scratchpad.log. Very useful when you don't have a debugger, yet.

frontier.root updates Valid
Text

workspace.userlandSamples.helloFrontier

The pings didn't show up in the blogroll. Now we're going to use the log on Andrew's server to see if they got the ping.

frontier.root updates Valid
Text

workspace.userlandSamples.helloFrontier

Rewrote the cloud element and the pinging code. The previous method was using xml-rpc and xml.rss.pingCloud and xml.rss.defaultCloud.getCloudElement. It was planning a bunch of generality that never got built on and in the meantime, I have a Node package that does a tighter job, hides a lot more of the detail in building a feed.

frontier.root updates Valid
Text

workspace.userlandSamples.hellofrontier

Changed the cloud server to rpc.rsscloud.io. the old server rpc.rsscloud.org -- i let it lapse for some stupid reason or so it turns out. ;-)

frontier.root updates Valid
Text

workspace.userlandSamples.helloFrontier

Second update. Now it has a cloud element.

frontier.root updates Valid
Text

workspace.userlandSamples.helloFrontier

Second update. No changes to script code, just want to see if the new header values appear in the feed.

frontier.root updates Valid
Text

workspace.userlandSamples.helloFrontier

This is the first update. All I did was put an exclam at the end of Hello World. Let's see how the feed reacts.

frontier.root updates Valid
Text

workspace.userlandSamples.helloFrontier

Created. This is a script I will use to help test the rootUpdates mechanism. At first it will just be a Hello World dialog from Frontier.

frontier.root updates Valid
Text

workspace.parts.test8

Rikki don't lose the number

frontier.root updates Valid
Text

workspace.parts.test7

St Stepen with a rose

frontier.root updates Valid
Text

workspace.parts.test6

There is a road blah blah.

frontier.root updates Valid
Text

workspace.parts.test5

Give me a home where the buffalo roam.

frontier.root updates Valid
Text

workspace.parts.test4

A randomSnarkySlogan belongs here.

frontier.root updates Valid
Text

workspace.parts.test2

My second test release using the new/old software.

frontier.root updates Valid
Text

workspace.parts.test1

This is another test.