Programming

I'm getting naked in Linux Magazine

I just finished a 3,500-word column on Naked Objects for an upcoming issue of Linux Magazine. Naked Objects, unveiled at OOPSLA in November 2002, is a groovy open source framework for developing Java software that exposes objects and their methods directly to users. Using reflection, the objects and their methods are discovered and made available in a generic user interface (screenshot). The goal is to create software that consists of "behaviorally complete" objects which genuinely embody the ... (read more)

RSS Validator advice changed

Sam Ruby has fixed the RSS Validator, which was responding to duplicate elements in a way he didn't expect. It no longer suggests an element to remove in response to invalid RSS 2.0 (and perhaps other versions). He also says this about the validator, which is an open-source project: The RSS validator has always been neutral in the RSS wars. In particular, it provides valuable feedback on the quality of RSS 1.0 feeds as well as RSS 2.0. In fact, most of the code is common between the two. If ... (read more)

Is the RSS Validator acting funky?

As a followup to yesterday's entry, a look at the source code of the RSS Validator reveals the elements it considers to be duplicates: Item elements: author and dc:creator category and dc:subject pubDate and dc:date Channel elements: copyright and dc:copyright creativeCommons:license and cc:license generator and admin:generatorAgent language and dc:language lastBuildDate and dc:termsModified managingEditor and dc:creator pubDate and dc:date webmaster and dc:publisher I haven't tested each one, ... (read more)

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)