Wednesday, August 07, 2002

UserLand benefits from open source-style generosity, Charles Miller writes:

"Radio may not itself be open, but Userland has a very liberal policy on allowing people to post patches for it or add-ons based on Radio code. Because there's no competing Radio clone, everyone who creates and distributes a free add-on for Radio (under the open-source principle that it's easier to share than to hoard) is improving the Radio application, and making it more valuable to Dave Winer."

The point about code sharing in the UserLand developer community is true, though it's more accurately described as a "shared source" arrangement, since those of us who are releasing scripts have a dubious right to do so when our work is based, on any way, on source code in UserLand products. My Amazon format driver is based heavily on UserLand code, as I acknowledge in the source.

There are at least two open source clones of Radio Userland functionality: AmphetaDesk, a news aggregator that has a similar user interface and supports the OPML file format, and PyCS, the Radio Community Server clone that hosts this weblog. I expect to see more in the future, considering the number of talented open source muckety mucks who have found their way to Radio Userland. It's unique software that clearly meets a need, and since UserLand built it on open, documented protocols, anyone can play. [Workbench]
9:43:49 AM    

  Tuesday, August 06, 2002

Running external tools in PyCS.

Jim Roepke notes the presence of the beta of eVectors' SharedOutline radio tool and asks:

This looks like a very useful tool. My question is, however, how much will it cost? I don't like the tradition in the Frontier world of announcing pricing after getting everyone to test the beta. And, does it work with a 3rd party Radio Community Server, like PyCS?

Unfortunately, it probably won't, as it has a server-side component which is presumably written in UserTalk.  PyCS implements Radio compatibility at the highest possible level - its XML-RPC publishing interface (xmlStorageSystem) - but doesn't clone the script interpreter, OODB and all that.

Anybody feel like writing a UserTalk-to-Python converter?  ;-)

Rogers mentioned the other day that Frontier's Object Database Engine code is public.  That would let you read the .root files (assuming the format hasn't changed since version 5).  Writing an interpreter for the language and reimplementing the standard library would be a pretty big job though ... especially not when all you're saving is $39.95.  It could be an interesting project, though.

[Python Community Server (development progress)]
2:53:49 PM    

Battle of the blogging tools

I added,, and into the ecosystem; in an attempt to see how many blogs I'm scanning from each tool. Most bloggers link back to the tool they used - AFAIK this is a requirement fo Blogger and Movable Type, but not for Radio.

Having a default template which links back to your tool site looks like a good way to guarantee yourself a great Google ranking; you automatically get a huge number of links: Radio (17,900), MT (21,600), Manila (30,000) and Blogger (33,400).

Google includes every archive page as well, which really pushes the link count up. My results ended up as follows:

MT: 643 links
Blogger: 534 links
Radio: 256 links
Manila: 74 links

This isn't what I expected ... a possible explanation for this is that more MT blogs than Blogger blogs ping, so I've ended up including more of them in here.


[Second p0st]
2:51:44 PM    

More on detecting links

Trying to understand what this is all about. This graph flow stuff is new to me.

I think the idea is that you treat the web like a wireframe model; if you think of it as a whole lot of marbles (sites), connected by bits of string (links), you should be able to take two sites and pull them away from each other. If the links are elastic enough (and can pass through each other!), all the other sites will rearrange themselves by 'distance' from the two sites.

To figure out how sites are clustered together, you pick one (the 'seed'), then make up an imaginary site (the 'sink') that connects to all the sites in your set, then try to pull the seed and the sink away from each other. Finally you cut the links in the middle somewhere; everything still connected to the seed is considered to be inside its community.

Or maybe not.

We try to work out the 'maximum flow' - if the links are pipes containing water, and each pipe can only carry so much water, we have to try to rearrange things to get the maximum flow from the seed to the sink. One way of doing this is with the max flow min cut algorithm, which says that the maximum flow is equal to the capacity of the smallest bottleneck.

More on this later!


[Second p0st]
2:49:20 PM    

And now for something completely different

One thing that's always been difficult for me is keeping track of the comments on my blogs. So, here's a PHP / javascript hack that generates comment summary pages.

Follow that link and enter your blog details (it'll work for people hosting blogs here at Salon, on the standard Radio server - - and on my own Python Community Server), then click the button and you will be presented with a nice reverse-date-ordered list of comments.

Once you've run through and read all the comment pages, all the links will be purple. When somebody posts a comment, the link URL on that page will change, so the comment ID linking to the page with the new comment will turn blue.

Examples: this blog, Workbench, Dave Winer (DHRB)



[Second p0st]
2:48:01 PM    

Defcon: A Veritable Hack Fest. The mood at the world's largest underground security conference was more subdued than past years, but that didn't stop a lot of hacking from going on. Even the conference itself was attacked. Michelle Delio reports from Las Vegas. [Wired News]
2:40:32 PM    

Getting winamp to work properly as a streaming encoder is presenting a challenge. Both the oddcast dll and the shoutcast Sourcs DSP are resulting in skipping and 'popping'. I'm setting up a peercast streaming radio station. [Adam Curry: Adam Curry's Weblog]
2:39:04 PM    

The Online Bar Code Generator will turn your name or any text into a UPC/EAN barcode. It figures that the link, spotted by Mike Skallas, would be posted on Boing Boing by science fiction writer Cory Doctorow, since the idea of identifying yourself via barcode is classic cyberpunk. A barcode would make a great Orwellian tattoo. [Workbench]
2:15:14 PM