New Roller colors, banner, and badge

Powered by Roller To set the Roller 1.0 release apart I created a new color scheme, new banner, and a new badge. You can see the new color scheme and banner on the main page of this site.

It sure would be nice to get a real web designer to help out with the Roller theme. I'm able to create designs that almost pass as professional, but are far from inspiring. And wouldn't it be nice to have a real logo like the beautiful one Matt scored for AppFuse?

Roller 1.0 branched

[Valid Atom] I created a branch for Roller 1.0 and we are now working towards a Roller 1.0RC1 release this week. Before the RC1 release, I hope to update the Installation Guide and to write up a summary of the many changes that we've made since the last release - which was After the RC1 release, I will work on testing, updating the User Guide, and creating a HSQLDB-based standalone demo release. Once we're happy with a Roller 1.0 RC on (and, we'll release Roller 1.0.

Roller 1.0 is essentially same code base that is currently running on, plus security, spam control, and user admin features needed for Roller 1.0 has not yet been deployed either or, but I hope to upgrade both sites before the final 1.0 release.

I met my stretch goal last week, which was to implement metaWeblog.newMediaObject. NewMediaObject makes it easy to upload images from a blog client such as Ecto or MarsEdit (and I've tested it with both).

Another stretch goal was to upgrade Roller's experimental Atom feed support to support Atom 0.3, which is the version of Atom currently supported by the feedvalidator. As you can see by clicking on the Atom badge above, I now have a valid Atom 0.3 newsfeed.

Roller adventures in Websphere country

Jeff Chilton writes in Websphere Power about his adventures porting Roller to Websphere. He tried to take the standalone Roller demo release, which anybody can install in less than 30 seconds, over to Websphere and found - big surprise here - Websphere is a pain in the ass. Want to find out if Roller runs on Websphere? You'll have to wait for part II.

Java Creator Studio on Mac OS X

MacCentral: Sun Java Studio Creator supports Mac OS X: "Sun Microsystems Inc. on Wednesday announced the release of Sun Java Studio Creator for Mac OS X and Solaris (x86 Platform Edition) operating systems. It's also now available in Japanese and simplified Chinese languages. Java Studio Creator lets Java developers create business applications"

In other Netbeans related news: Netbeans 4.1 Early Access release is available. Netbeans 4.1 EA includes "over 15 new modules for developing J2EE 1.4 applications" including support for J2ME, EJB, Web services, and the Sun Java Application Server 8.1.

Get your own blog, HP

Via Cory Doctorow. Jonathan Schwartz critizes HP in his blog, HP lawyers demand that Schwartz removes the criticism, and Sun fires right back:

Once again, in certain of the places this is a statement of opinion by Jonathan Schwartz. His opinion is based on his good faith assessment of the current climate of HP. Alternatively, however, Sun will also stand behind this as a statement of fact that is true and accurate based on the above substantiation. As detailed by the above facts, we have seen signs that HP is abandoning HP/UX.

Jonathan Schwartz's opinions and even his vigorous debate on this subject as well as Sun's product comparisons and dialog on these commercial matters are inherent in Sun's competition with HP and are part of the free market system in which our companies operate. For our statements of fact, Sun has valid, objective and verifiable evidence. Accordingly, and based on the above, Sun affirmatively stands by its claims regarding HP/UX and will not agree to cease making such truthful and/or subjective claims.

Hmm.. good point(s). HP, here's what you should do: upgrade your internal Roller blog system to Roller 1.0, make it external, and get blogging!

Heads up: Roller 1.0 branch

This weekend I'll creating a branch for Roller 1.0 and next week I'll release Roller 1.0 RC1 from that branch.

Referer spam techniques

Referer spammers are using domain names like and to point to prOn sites now, making it even more difficult to filter out the trash.

Corporate Bloggers are proliferating

Dave Sifry, CEO of blog stats company Technorati, charts 5000 or so corporate bloggers, which he calls a "small but influential group." His pie chart shows that the companies with the largest numbers of corporate bloggers are Sun and Microsoft. I'm not sure how he determines that a blog is a corporate blog, but he says he is counting blogs that are "clearly affiliated" with some corporate entity.

Google Desktop is just like WinFS

Joe Gregorio:

This is just like WinFS.

Except that it is shipping today.

And it just works.

And it doesn't require an upgrade to your operating system.


Posting to from NetNewsWire

Mac OS X Hints tells you how to post to your account directly from NetNewsWire. This is especially useful for those who have become addicted to NetNewsWire's built-in browser component.

Longest trip to the bathroom ever

I took a trip up to Baltimore and back today to meet with a very important customer. It seems like a waste to fly to attend only a 2 hour meeting, but the trip was interesting and well worth the cost. As an added bonus, I remembered a trip of similar duration and a story I like to call the longest trip to the bathroom ever. I will now inflict that > 10 year old story upon you.

One day I boarded a direct flight from Raleigh to New York's Laguardia airport. I arrived at Laguardia, walked outside and met a man holding high a sign that read "David Johnson." I stepped into the man's black limo for a 45 minute drive up to White Plains, NY. In White Plains, the man droppped me off at a non-descript three story office building and I went inside to sit down in a waiting room. After 10 minutes, a nurse called my name, handed me a small cup, and directed me to a bathroom. I closed the door, urinated in the cup, opened the door, and carefully handed the cup back to her. I walked outside, I met the man in the limo, we drove back to Laguardia, and I boarded a direct flight back to Raleigh.

Pluggable comment authentication in Roller

A number of people have asked for some form of comment authentication in Roller. On, John Hoffman added a simple math test. If you want to leave a comment on, you have to be able to add. Other users have asked that only registered users be able to leave comments, some have asked for capchas, and some have asked for TypeKey support. To accomodate all of these forms of comment authentication, I introduced an interface called CommentAuthenticator. It looks like this:

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.velocity.context.Context;
import org.roller.pojos.CommentData;

public interface CommentAuthenticator
    public String getHtml(
                        Context context,
                        HttpServletRequest request, 
                        HttpServletResponse response);

    public boolean authenticate(
                        CommentData comment,
                        HttpServletRequest request);

I created a DefaultCommentAuthenticator, which does nothing: getHtml() returns and empty string and authenticate() always returns true. So, by default, Roller does no comment authentication. I also created a MathCommentAuthenticator which, like Hoffman's comment form on, asks a simple addition question.

If you want to change the way that Roller does authentication, you implement this interface. In the getHtml() method, you get a Velocity context, a request, and a response. This is your chance to add some HTML to the Roller comment form. For example, in the math authenticator, this is where I put the math question and the HTML <inpuyt> tag for the answer. In the authenticate() method, you get the comment that is to be authenticated and the request, so you can pull out any parameters you have have added the form. For example, I grab the answer to the math question from a request parameter named answer. To enable your new authenticator, put it in the Roller classpath and change the value of the org.roller.commentAuthenticator init parameter in Roller's web.xml.

Several people have asked for comment moderation (as seen on Russell's blog). I'm tracking that request as ROL-492, but it is probably not going to make it into Roller

The unbiased collective wisdom of wikis

RED HERRING | Wiki wars: "Fans argue that Wikipedia’s open system taps into the collective wisdom of large groups of people to root out error and minimize bias. While anyone can make a change to any entry, the discussions around those changes are open, said Clay Shirky, an adjunct professor at New York University’s Interactive Telecommunications Program in New York City. “It’s like the security of sidewalks,” said Mr. Shirky. “If everyone shares a little the sidewalk is safe.”"
Wikipedia is just amazing. Given enough eyeballs all bias is evident? I hope that turns out to be true in the long run, but it seems pretty unlikely to me. (Via Dave Winer.)

Wiki vs. blog

James Robertson has some good thoughts on wiki vs. blog

re: The Referer Spam battle rages on

Lance comments on the recent surge in referrer spam. I've been deleting referrers and adding ugly new ignore words to my Roller installation on a daily basis this week. It is really getting bad. Three options I would like to see in Roller:

  • Referrer white list: a blog only accepts referrers that include words that are listed in the blog's white list.
  • MT Blacklist: use the MT Blacklist data to filter referrers just as we now (in Roller 0.9.9) filter comments.
  • Technorati check: a blog only accepts comments that come form other blogs that are in the blog's Technorati cosmos.

4 million blogs and counting

Dave Sifry's numbers put the size of the blogosphere at 4 million blogs, up from 3 million just three months ago in July. He graphs the number over time and the rate of acceleration as well. He also notes that 45% of old blogs have not had a post in 3 months. (Via Tim Bray.)

Blogging with Star Office?

Colm Smyth wonders if blog editing capabilites should be built-into Star Office and how that should happen. What do I think? Yes! Absolutely. You could build a great WYSIWYG Atom API client with the Star Office HTML editor. badge

First, I created the Roller badges. I tried to withdraw them because of their legal incorrectness, but they escaped into the wild (and I deny all wrong doing).

Then, I created the java.blogs badge (but still I gets no respect):

Now, I'm back with the badge:

Sun Bloggers, now's your chance to toot your own horn, give yourself a pat on the back, and a big round of applause. Show your support of by displaying the badge it with a link to

Some Netbeans 4.0b2 issues

Eclipse doesn't work very well on Solaris x86, mostly due to the fact it is linked to Motif rather than GNOME. Everything appears to be double spaced and drag and drop don't work at all. I guess I could get the source and rebuild Eclipse against GNOME, but I would rather use my time to get up and running in Netbeans.

Netbeans 4.0b2 looks really good and works well on Solaris x86 (as you might expect). Unfortunately, I ran into a couple of problems while setting up for Roller development in Netbeans. I'm still surfing the mailing list archives and the bug tracker to determine if my problems are caused by known bugs, unknown bugs, or just user error on my part.

  • Problem fetching a CVS "sub-module": Roller lives in the Java.Net CVS in /cvr/roller/roller, but I would like to checkout Roller code into ~/src/roller not ~/src/roller/roller. I tried to do this with the Netbeans by turning on the advanced settings and using various combinations of the "Checkout into Folder" and "Do Not Shorten Module Paths" but to no avail. I ended up using command-line CVS to do the trick, some thing like this cvs -d <cvsroot> co -d ~src/roller roller/roller. From there on out I was able to use the Netbeans CVS client on my code to update, commit, diff, etc.

  • Problems importing the Roller build.xml file: Netbeans 4.0b2 has excellent Ant integration, but I had problems making it work with Roller. I tried setting up Roller as a "Web project with an existing Ant script" but when I pointed Netbeans at the Roller Ant file I got "Selected file is not a valid Ant script."


Turns out, I was able to fix the Roller build script by changing the way in which it brings in it's properties XML file. I changed the third line of the build script from this:

<!ENTITY properties SYSTEM "file:./properties.xmlf">

to this:

<!ENTITY properties SYSTEM "properties.xmlf">

Once I did that, I was able to bring Roller in as a "Java application with an exiting Ant script." I'm subscribed to the Netbeans users mailing list now and I'll direct my future gripes there. And, I'll write up a Roller Development with Netbeans document for the Roller Wiki once I get things sorted out.

« Previous page | Main | Next page »