Programming

Who validates the validator?

The RSS Validator designed by Mark Pilgrim and Sam Ruby appears to be rejecting some valid RSS 2.0 files that make use of namespaces. As discovered by RasterWeb, when an RSS 2.0 feed contains core elements and namespace elements that serve the same purpose, such as and , the validator claims it does not validate. To fix the problem, it recommends that the core element be removed. I can't find anything in the RSS 2.0 specification that would make duplicative elements invalid or recommend that a ... (read more)

New Site Syndication Format mailing list

Announcement: The Site Syndication Format development list is a focused, short-term mailing list for the discussion of ambiguities in the RSS 2.0 specification. The goal is to develop a new specification from scratch, code-named "Site Syndication Format," that clarifies or corrects these issues -- which can then be submitted to UserLand Software, a standards body, or published as a profile describing RSS 2.0 best practices. The list's members will vote on the final disposition of the new ... (read more)

Editing OPML link directories with JOE

At first glance, the Java Outline Editor (JOE) looks like a suitable choice for editing OPML link directories and other outlines. The program supports the addition or deletion of any attributes to each outline item, enabling link directories to be created by adding type and url attributes (screenshot). It isn't as easy as using Radio, where you can hit CTRL-K or CMD-K to add a link to any title, but there may be a way to extend the functionality that I haven't found yet. Note: JOE has the same ... (read more)

With great parser comes great responsibility

On the OPML-DEV mailing list, Andrew Houghton confirms that undeclared entity declarations can prevent an XML file from being well-formed. Les Hill has sent me some code that solves this problem for an OPML browser written with Java that uses JDOM. I'll be posting more on it soon when I have time to try it out. He says that to read OPML, it "basically replaces the SAX parser with an almost identical parser that will recognize the XHTML entity set." Ouch. ... (read more)

Undeclared entities in OPML outlines

OPML Link Publisher uses XOM, an XML processing library for Java that requires well-formed XML. Because of this, I've run into a problem: Radio and Frontier can author OPML files that contain undeclared entity references, which breaks the well-formedness rule. Based on my rudimentary understanding of this situation, any XML data that does not have a document type declaration (such as OPML) must declare entity references for any entity other than &amp, &apos, &gt, &lt, and ... (read more)

Using OPML bookmarks in Mozilla and Netscape Navigator

I've released version 0.1 of OPML Link Publisher, a Java application that publishes an OPML link directory outline as a bookmarks.html file, which can be automatically loaded by Mozilla or Netscape Navigator and manually imported into Internet Explorer. I wrote the application because a Mozilla crash wiped out my bookmarks and I was tired of having bookmarks in several different browsers and other files. Radio UserLand's outliner can be used to create link directories (other outliners may ... (read more)

MacBird wasn't built in a day

I'm trying to build MacBird, a process that's deterred considerably by my lack of Mac programming experience. Because UserLand's last release was built with CodeWarrior Pro 4, I've been using a Discover Programming edition of CodeWarrior 4 -- the closest I could find on eBay -- but it appears to lack the Power PC Linker specified as a build target. I'm guessing I need to upgrade to get more linkers, but until I know for sure, I don't want to spend more on this project than I already have. ... (read more)Now that I'm puttering around with XML-RPC and the Apache XML-RPC Java class library, the most common problem I encounter is XML that Apache's XML-RPC client can't parse (usually because of problems with the XML). On the radio-dev mailing list, Matt Croydon of PostNeo recommended a great Windows utility that can spy on XML-RPC, HTTP, and other networking operations: TCPTrace by Simon Fell. The program runs as a proxy server, passing requests to the right server and port, receiving the response, ... (read more)

Object-Oriented Programming Pioneer Kristen Nygaard Dies

Kristen Nygaard, the computer science pioneer who is credited with Ole Johan-Dahl for the invention of inheritance, has died at age 75. Nygaard's website contains an encyclopedia entry he wrote about their role in early object-oriented programming, along with a lot of other interesting material on programming, including a funny article about the object-oriented family tree. "Ole-Johan Dahl and I are said to be the 'fathers' of SIMULA I and SIMULA 67 and thus of object-oriented programming," ... (read more)