P@ Sunglasses

20040625 e premte qershor 25, 2004

RSS Readers as the universal client for event notifications

Monitor Windows Event Logs with RSS describes an interesting application of RSS to carry Windows event logs: I knew this kind of applications would emerge (I have proposed to do it at Sun a few months ago). The RSS aggregators are replacing the browser for anything that is event based. Event logs, SNMP, JMS messages, JMX Notifications, I can see all these types of notifications soon available in a RSS client near you.

Greg Reinacker created code to generate a RSS feed from the Windows Event Logs.

Another innovative use of RSS. Not quite MOM, but handy nonetheless

You can download ithere

[Microsoft WebBlogs]

( Qer 25 2004, 04:43:24 PD PDT ) Permalink Chat about it Technorati cosmos Tagsurf It

20040617 e enjte qershor 17, 2004

Nick Lothian joins the Rome project as a developer

We're proud to announce that Nick Lothian, alias BadMagicNumber of Classifier4J fame (a text classification library, including a an implementation of a Bayesian classifier) joined Project Rome as a developer today.

Following this email:

I've been using Rome a bit since you released it, and generally I'm pretty impressed.

One suggestion I have is for support of conditional gets (see http://fishbowl.pastiche.org/2002/10/21/http_conditional_get_for_rss_hackers ) and gzip encoding handling to be built into the library itself.

we've had a discussion in the Rome dev mailing list and he came up with some code to implement it. This will be structured as an external library, since many people developing their own fetcher system may want to use Rome just for the parsing and generation and we want to keep the library small and focused. This fetcher library will be part of the Rome codebase, in the modules directory, and be released on its own schedule.

We're really glad that Nick chose to contribute this to Rome: this is an aspect that was handled by Mark Pilgrim's Universal Parser Python library that we had no time to implement, and I'm sure many developers will use this to create their fetcher.

( Qer 17 2004, 04:52:31 MD PDT ) Permalink Chat about it Technorati cosmos Tagsurf It

A practical application of the Master Foo and the Ten Thousand Lines koan Zoe comments on my post about Rome 0.2 removing as many dependencies we could:
"we don't do our XML manually"... right... on the other hand, jdom-b10.tar.gz is a 3.4M (!?!?!) download and the jdom jar itself is 144KB... which is larger than the entire rome-0.2.jar (128KB)... what's wrong with this picture? I'm sure that you can do better than that and remove the *last* external dependency :)

# ls -la /usr/bin/ls
-r-xr-xr-x   1 root     bin        19084 Apr  6  2002 /usr/bin/ls
# ls -la /usr/bin/grep
-r-xr-xr-x   1 root     bin        10232 Apr  6  2002 /usr/bin/grep

ls and grep (on my system:-) "weight" 29314 bytes.

The following utility program (shell script) weights 16 bytes.

ls -la | grep $1

Should I reimplement a custom version of ls and grep to create my utility or is it better to just reuse these "bloated" 30K of code for my 16 bytes utility?

See Eric Raymond's excellent koan about this, Master Foo and the Ten Thousand Lines.

There's nothing wrong with this picture.
Master Bar would even argue that there is no picture at all, but that's another exercise:-)

I looked at Zoe: looks really cool. I will try it out.

( Qer 17 2004, 04:37:59 MD PDT ) Permalink Comments [2] Chat about it Technorati cosmos Tagsurf It

A few interesting posts about the future of RSS aggregators

RSS aggregation, wether on the client or on the server is a hot topic these days.
I'm myself really excited about this area: this is why my team released the Rome RSS/Atom java library on java.net 2 weeks ago.

In the past few days I've seen a few posts in various weblogs or sites that point in the right direction.

My favorite is Phil Ringnalda's post That old hopeful feeling.

The main theme of the post is how badly supported republishing os done in the current crop of aggregators. I couldn't agree more. My own information consumption and generation practices have evolved with the tools I've used: I initially used Radio Userland. I used the included aggregator, that displayed the feeds in an IE browser window, and ctrl-clicked the POST button in front of all interesting entries. Then I would go through all the new browser windows, remove some of the text of the item, italicize the part I wanted to quote, add a comment in the IE only editor, then post the stuff to my Radio weblog. Then I moved to Movable Type and NetNewsWire to read feeds. Here double clicked on interesting items to read them in Mozilla or Firefox, and either use the blog poster from NetNewsWire, or the MT admin UI to post them. But as time went by I blogged less and less and ended up pushing many single links to my de.licio.us linkblog. I haven't found the perfect workflow yet, but NetNewsWire begins to show its limits, and I haven't found the perfect blog server for my personal blog yet.

One quote in his post that rings a bell for me is:

Not one of them says anything about having any real interest in the format used to deliver the feeds they consume. Why would they? That's a library function, parsing feeds and normalizing them into native data structures. It's the data that's interesting, not the format that you never see.

This is exactly why we started the Rome project!

Then Russel Beattie who's one of my favorite java bloggers, has this very good post Weblog Systems vs. Aggregators finally realizes that aggregators, especially server side ones, are the important part of the blogging toolset today, and talks about writing his own: just use Rome to parse your feeds Russ:-)

Last, at O'Reilly, in RSS: The Next Generation Giles Turnbull reviews 3 Mac OS X client side aggregators: NetNewsWire, Shrook and PulpFiction. NetNewsWire defined the genre, PulpFiction steals Apple Mail UI and adds archving, and Shrook steals Apple's iTunes UI and adds an interesting server side feed list and distributed checkin. I've tried them all, and still use NetNewsWire, but think the most satisfying solution will come from a server side solution. PulpFiction is not very interesting: a server side RSS to mail gateway will let you use your regular mail client to view feeds and apply filters. Shrook has the most interesting ideas, with keeping the feed list on the server side, but today the protocol for that is not open so you have to use their server.

This is an area where I think we're lacking a standard: I think the future is in server side aggregators, but people may want to still use their client side aggregator in certain situations. In order for this to work we need a standard protocol to reconcile feed lists from both sides. I was thinking about using SyncML for the protocol, to reconcile differences between the OPML files on both sides. I'll propose the idea to Brent Simmons, who made NetNewsWire.

( Qer 17 2004, 03:34:34 MD PDT ) Permalink Comments [2] Chat about it Technorati cosmos Tagsurf It

20040616 e mërkurë qershor 16, 2004

Rome Atom/RSS utility library version 0.2 released today One week between releases: we told you it was an alpha:-)
We've been working quite a bit this week to incorporate the feedback we received so far.
Tonight I'm too tired but tomorrow I'll post an entry with links to the various feedback we've had, and comments about these.

The main one was to reduce dependencies to the maximum: we've done that, now Rome depends only on JDK 1.4 and Jdom (sorry folks we don't do our XML manually here).

We also included the samples in the source tree.
Then we've renamed a few classes and methods and fixed a few missing things.
See the changelog for the details.

Current Rome users, you can download the latest bits from the Rome Wiki's main page.

SPQR

( Qer 16 2004, 02:08:35 MD PDT ) Permalink Comments [2] Chat about it Technorati cosmos Tagsurf It

20040610 e enjte qershor 10, 2004

Non uno die Roma aedificata est

Which in Latin means "Rome was not built in one day".

Thanks to Tim Bray for publicizing Rome, it is indeed the "java equivalent of Mark Pilgrim’s pythonoid Universal Feed Parser. We learnt a lot about RSS in the wild from Mark's numerous articles and weblog posts (I'm subscribed to his feed since more than 2 years), and about various flavors of RSS from Ben Hammersley's most excellent Content Syndication with RSS.

It's true that Rome is still alpha, because we want the API to get a large review by the community, and we want to write serious unit tests for it. However we tested it with various flavors of feeds already and it is already used by some projects at Sun of which I'll speak later in this blog.

Also Rome is already 3 months old (we started it in march as a skunkwork), even if we waited to have something solid to release it to the community. So yes, it's younger than Mark's 2 years old Python Universal Feed Parser, the 2 years old Java based Informa RSS library, and even the 6 years old Netscape feed system (a mix of Perl and Python) that my team maintained when I was at Netcenter, but expect it to grow in stability, completeness and ease of use.

And Tim, thanks for your kind words and optimism about our abilities:-)

( Qer 10 2004, 02:49:30 PD PDT ) Permalink Comments [4] Chat about it Technorati cosmos Tagsurf It

20040608 e martë qershor 08, 2004

All feeds lead to Rome!

After a few months of incubation internally at Sun, and a frenzied activity in the past few days, Tucu, Elaine and myself are proud to present you Rome, a Java library to handle Syndication feeds.

We support all flavors of RSS (0.90, 0.91, 0.92, 0.93, 0.94, 1.0 and 2.0) and Atom 0.3 feeds.

Syndication format's history in the past few years has been rich, and... how would I put this?... colorful.
The result today is a mishmash of specs of various qualities all standardizing pretty much the same things, with subtle differences in syntax and appproach. This is a fascinating study for XML (or RDF) geek, but us javaheads have more important things to do: build apps that take advantage of the increasing number of feeds that are available.

In designing this API we strived for simplicity for the developer: we handle the dirty details of different feed formats, and present you with a java abstraction of all these. You can build your applications using this abstraction. But if you want to get under the hood, convert feeds from one format to another or work only with one type of feed, we let you do that as well. We believe in Larry Wall's Perl motto: "making easy things easy to do, and hard things possible".

We released Rome on java.net, for the infrastructure they provide, under the Apache license, so feel free to use it in your projects.

What triggered the creation of Rome (apart from Romulus killing Remus, or Aenea fleeing Troy in flames) is the realization that there were many projects dealing with RSS at Sun, that the other open source Java libraries we looked at did fulfill our requirements, and that such a general purpose library would be better developped as an open source project than a Sun internal project.

Rome is at version 0.1, it's clearly alpha, and we are eager to get developer's feedback about it (the Rome Wiki is a good place to do that:-)

Non uno die roma aedificata est

Happy feed parsing!

See the Rome Wiki for more details about Rome

( Qer 08 2004, 03:16:35 MD PDT ) Permalink Comments [1] Chat about it Technorati cosmos Tagsurf It


Valid HTML! Valid CSS!

This is a personal weblog, I do not speak for my employer.