Radio Userland

Weblog survives Radio reinstallation

I did a clean install of Radio UserLand last night to correct some nagging database problems I couldn't resolve, such as nightly scheduled tasks that stopped running and flaky retrieval of news aggregator items. It took about a half hour to update Radio.root completely, register my serial number again, and set my software preferences and theme back up. Afterward, I shut down Radio, copied my old weblogData.root file over the new one in the Data Files folder, then ran the application. Everything ... (read more)

Rendering PHP Files with Radio UserLand

A Workbench visitor asks: How can I use Radio to render .php files instead of .html files when upstreaming? The file extension is determined by the #renderedFileExtension directive. By default, files are rendered with the .html extension. To set the extension to .php for an entire folder and its subfolders, edit the #prefs.txt file in that folder and add this line: #renderedFileExtension "php" Here's an example: the xmas.txt file and the xmas.php page it produces. To set the extension only for ... (read more)

Orlando Vacationer weblog launched

I'm using Radio UserLand's categories feature to publish a new weblog at a separate domain. Orlando Vacationer is a weblog devoted to "Disney discounts, park perks, and tourist tips" for the Mouse-infested city that I visit with my family around 8-10 times a year. The domain is new and may not have propagated to all parts of the Internet yet, so if it can't be reached, try its category address. I'm going to write an article on Workbench about using Radio to publish a category that looks like an ... (read more)

Writing UserTalk scripts without a handler

UserTalk programming tip (via Brent Simmons): If a script has no parameters, it doesn't need a handler method (a method defined with the on keyword that is executed when the script is called). When a script lacks a handler, the top-level lines of the script will be executed when the script is called with no parameters. The following two versions of a workspace.displayTime script are functionally identical: on displayTime() { dialog.alert( clock.now() ) } dialog.alert( clock.now() ) ... (read more)

Error compromises my book

I'm reviewing the manuscript for Radio UserLand Kick Start. The error in this sentence is one of my favorite gaffes in six years of writing computer books: The first step in becoming a Radio UserLand developer is to explore Radio.root, the object database that compromises most of the program's core functionality. The word I was looking for: comprises. I'm almost sad the typo won't see print. ... (read more)

Radio database is gettin' busy

I'm working on a UserTalk script that restores Radio weblogs from their HTML Web pages. It's not ready for prime time -- I have to run it locally and tweak the code on a per-weblog basis -- but at some point I am hoping to release it for general use. One problem I'm running into is a "busy database" issue with the new database where weblog data is being stored. If the script halts with an error during execution, I can't access that database again without restarting Radio. Is there any way in ... (read more)

Adding dates to Radio page titles

Radio UserLand tip: To add a date to the title of each daily archive page, add the following UserTalk code inside the title tag of the home page template (#homeTemplate.txt): <%local (d); if radio.weblog.file.getArchiveFileDate (radioResponder.fileBeingRendered, @d) {": " + string.dateString (d)} else {""}%> This code will be replaced with the date in the form "Monday, June 30, 2003" (example). ... (read more)

10,000 reasons to read Adam Curry

Adam Curry has revealed an interesting investment he made in UserLand 18 months ago: He paid $10,000 for his weblog to be included in Radio's default RSS subscriptions. Now he thinks the Echo Project's work is undoing his canny marketing: I will again invest $10k in aggregator default placements this year, but I will spread it around, to all developers who adhere to RSS2.0. Include (N)echo and you're out of luck. I don't understand his concern. If an aggregator can read a format, so can its ... (read more)

Working with text in Radio and Frontier

Brent Simmons offers a handy tip for Radio and Frontier programmers: How to extract text from a word-processing text object. ... (read more)

Radio UserLand loop has my head spinning

I've run into some unexpected behavior in UserTalk while documenting loop loops for Radio UserLand Kick Start. The following code ends up with a final displayed value of 3.4 in the About Radio UserLand dialog box: loop (local (i = 0.1); i ... (read more)