Talking Roller in Florida next week

I'm going to take a short trip to the sunny southern state of Florida next week to speak at a joint meeting of the Gainesville and Orlando Java User Groups. I'll be presenting an updated version of the presentation I gave to the Triangle JUG earlier this year. I added some slides on, I updated the Roller architecture section, and I moved the whole presentation from Evil Empire format to Open Office format. For more information, check the GatorJUG web site.

Udell: offer an alternative to CAPCHAS

John Udell: The CAPTCHA game: "Any scheme that relies on perceptual or cognitive talents, in order to distinguish humans from robots, will necessarily discriminate against some population of humans. If you're using such an approach, accessibility dictates that you offer several alternatives."
Udell comes to the same conclusion that we did with Roller. You have to offer several alternatives. Roller 1.0 has a pluggable comment authentication mechanism so that the Roller administrator can decide how to authenticate comments. I don't think this is quite good enough. The administrator should not be the one making the choice. The person who is leaving the comment should be the one who chooses the authentication mechanism.

unix-girl for hire must really be in dire straits if they are laying off their best people. Good luck Kasia, but I don't think a smart developer with a popular blog is going to be out of work for very long.

Sneaky rewrites

I really don't like the way that chapter re-writes sneak up on you. You think that you're gonna make a little change here and a little change there, but you end up rewriting the whole ^$#%^%!* thing.

Cool photos: NYC then and now

Anil points out a very cool set of then and now photos of New York City called New York Changing. moves from Tomcat to Resin

Matt and Rick have moved JRoller over to a bigger and better hardware and to Servlet speed king Resin. Once they get the JIRA back up, let them know if you notice any odd glitches.

This site originally ran on Resin, so I was familiar with it at one point. Is Resin still the speed king or have advances in Tomcat turned the tables? The Web Performance, Inc. Servlet Performance Report shows them running just about neck-and-neck (and of course leaving WebSphere in the dust).

Employee blogs: the most difficult use case

Tim Bray points out that employee blogs is one of the most difficult enterprise blogging use cases to implement. As one of the driving forces behind, he should know. Once you get past your c-level executives and your legal department, getting the blog server up and running is easy. There are some instructions here.


It's a week late, sure, but I wouldn't want to let this list of the excellent ApacheCon 2004 conference bag goodies go to waste:

Magnetic LED Flasher
Watermelon Pop Rocks
Strawberry Pop Rocks
Wonka Nerds
Alien Goo
Nerd Specs Super Eye Glasses
USB rechargeable flashlight.

Happy Turkey Day

We had nice quiet Thanksgiving and that's the way I like it. We travelled only about 30 miles, for dinner with my parents and my brother over in Chapel Hill. We had turkey, gravy, stuffing, rice, cranberry sauce, veggies, and of course, pumpkin pie and homemade ice cream. After lunch we took the traditional nice long walk around the neighborhood and this year the walk included the muddy path along Morgan Creek.

Now, we're back in Raleigh and I'm trying to get back into writing mode. I'm going to put the XML-RPC and Atom Protocol chapters on hold for a couple of days and work on revisions to the first 1/3 of the book. Reviews came back overwhelmingly positive, but that is just not good enough.

I've got a lot to be thankful for, but right now I'm most thankful for my wife's seemingly infinite patience -- that, and the fact that she is taking the boys away for a couple of days so that I can work in peace.

Roller 1.0 status

Since the Roller 1.0RC1 release, I've been working on upgrading The upgrade is a little more challenging than upgrades I've done before because of the security concerns and because my manager (quite reasonably) insists that there be no down time. I'm not worried at all, of course -- as we all know Roller upgrades never cause any downtime.

To achieve a no-downtime upgrade, we are taking the side-by-side upgrade approach. We install the new Roller on a new server, side-by-side with the old server. We periodically sync the data from the old server to the new server. We test the new server until it performs to our satisfaction and then we turn off the old and switch traffic the new.

So, current status is this: we have a side-by-side install up and running, but we haven't announced it's location yet. The new program is running from cron, keeping the databases in sync. We run rsync from cron to keep the uploaded files in sync. Now we need to do some testing, fix some bugs, do some more testing, and flip the switch. After that, we'll release Roller 1.0.

HP is blogging with Pebble

Congratulations to Simon and friends. HP is using his Java and JSP based Pebble blogging software to drive their developer blogs at HP Dev Resource Central. The HP blog site resembles the IBM Dev Works blogs in spirit and includes only a few select bloggers.

Everyday I write the book

I told just about everybody I met at ApacheCon about the book, so I might as well go ahead and blog about it. I'm writing a blogging book for Manning Publications. We haven't decided on the final title, but the subject is blog application development: using the technologies of blogging and syndication as a platform for application development.

The first half of the book is a series of chapters on parsing, producing, and efficiently serving newsfeeds as well as using web services protocols such as the Blogger API, MetaWeblog API, and Atom to program blogs, wikis, and related systems. The book is a bit of a hybrid, a mix of a traditional tech book and Google Hacks style example applications -- that makes it a lot of fun for me. The second half of the book will be a collection of a dozen or more blog apps, small but immediately useful blog applications such as a blog-to-email gateway, a blog aggregator, build system blogging plugins, and others. The blog apps and other examples will also be available in both Java and C# flavors.

Now that the cat is out of the bag, I'm free to blog all about it. One of the things I'm really excited about is developing a blog client library. So, you'll hear more about that -- and I hope that will help me get a little feedback on my half-baked ideas. I'm developing a set of interfaces that define the API for a blog client library. I have implemented this API with the MetaWeblog API and now I'm working on an Atom Protocol implementation. I hope this will help me to contribute to the Atom effort and I also hope that my code can seed a blog client library subproject within Rome.

I'm about half-way done with the book, but we are not yet sure of the release date. We need to figure out what to do about Atom because there is a chance that Atom will not be complete by the time we would like to publish the book. I don't think it is necessary to wait until Atom is final, but I also don't want to have to issue a lot of corrections and errata.

Smile, you're blogging with Roller

Gary Potter: But, what is clear is that a corporate blogging initiative at Sabre is going to be a bit harder than I thought. What I do know is that it won’t be because our tool of choice is hard to use. We installed Roller in a day and our first users are from my work group. It will stay that way until we are able to tweak things to our liking. New user registration to a first blog post in less than 10 minutes; that is what it took someone whose only knowledge about blogging was how it was spelled. That made me smile.

I'm smiling too. Let us know how we can help.

Roller adventures in Websphere country (again)

Parts II and III of Jeff Chilton's Adventures with Roller Weblogger series in now online at The long story of porting Roller to Websphere has a happy ending. Have a look: Part I: Adventures with Roller Weblogger, Part II: Further Adventures with Roller Weblogger, and Part III: Even more adventures with Roller Weblogger.

ApacheCon Monday and Tuesday

I'm still enjoying ApacheCon 2004 and meeting lots and lots of interesting people. I ran into Bruce Synder on Monday morning and we had breakfast together just before the Will Wheaton keynote. The first talk I attended was Bruce's 2nd annual state of Geronimo talk. Geronimo is Apache's J2EE server implementation which will eventually provide a J2EE certified app server alternative for those not happy with JBoss or uncomfortable with JBoss's LGPL licensing.

After Bruce's talk I attended Matt Raible's talk on comparing Java web frameworks including JSF, Webwork, Tapestry, and Struts. Since I read Matt's blog religiously, I was familiar with many of his pros and cons, but it was really nice to have them all bundled up into a nice tidy package. I'm sure framework zealots would take issue with many of his cons, but overall I think he was pretty fair and balanced (except for the JSF cons of course ;-)

In the afternoon, I listened to talks on Configuration and Logging and on Clustered JDBC -- but my attention span started to get shorter and shorted as the afternoon wore on. I had not heard of Commons Configuration before. It looks interesting, but I don't understand why Configuration APIs (including the Java Preferences API) don't provide a metadata mechanism so you can get labels, pick-lists, and value ranges for each configuration parameter. If you want to build a configuration UI, you've got to have metadata.

Monday night, I went to dinner with Matt Raible and Jonathan Lehr and later, stayed out way too late with some of the Codehaus and Geronimo guys. I spent a good amount of time talking to Codehaus uber-despot Bob McWhirter who, I was happy to learn, lives a couple of hours away from me in Ashville, NC. I also had the pleasure of meeting and talking at length with John Purdy (Tangosol Cameron's bro).

Tuesday, I made it to two talks. I went to a interesting talk on "dumb mistakes we made" during Feedster's first 18 months by Scott Johnson. In case you don't already know, is a search engine that indexes newsfeeds. Scott covered operational issues like systems admin, ISP issues, hiring, and all sorts of topics -- but never touched on the topic of the software that drives Feedster. So, after the talk I introduced myself and asked Scott some questions like which blog technologies he uses (newsfeed parsing and pings), what percentage of feeds in the wild are invalid (well over 10%), and what he thinks about Atom.

I also attended the Solaris keynote. Andy Tucker described all of the cool new features of Solaris 10 including zones and of course dtrace. Andy also spent some time explaining how Solaris will be released as open source software under an OSI certified license and run as a true open source project -- in the wide open with Sun and non-Sun contributors.

Tuesday night, I got together for dinner with my Sun co-workers Danese Cooper, Phillip Russell, and Andy Tucker, as well as Bruno Souza, Ted Leung, Rich Teer, Jenny Teer, and Sean Ross. After that I stopped by the Haus party and ended up staying out too late again with some of the same characters from the previous night plus Matt Raible.

Jim Grisanzio tracks press coverage of the OpenSolaris launch

Jim Grisanzio is doing a great job of tracking the Solaris 10 and OpenSolaris press coverage. IMHO, we need to hook Jim up with a more attractive Roller theme.

ApacheCon Sunday

So far, I've had a great time at ApacheCon. In fact, I'm already ready to say BEST CONFERENCE EVER! -- just based on the pre-conference activities. I've never been to a conference that focuses so much on coding. I spent Sunday in the "Hackathon" which a big ballroom full of tables, power strips, a big whiteboard, and wireless internet access for all. Every couple of hours, somebody brings in mass quantities of pizza and sodas. A perfect environment for hacking, collaboration, and geekly fun.

An introvert at heart, I sat down at an empty table and started working on testing Roller's new Atom API implementation with Ecto, but the table soon turned into a mini-Haus party when Brian Topping, Bob McWhirter, and Dan Diephouse showed up. Later the room started to fill up and I met more people than I'll try to list here but the first batch of people I remember is Ben Hyde, Sam Ruby, Ted Leung. Topics of discussion included RDF, Atom, XDoclet2, LGPL, Maven, and pros and cons of being an Apache project. Eventually, a bunch of us headed out check out the Freemont Street light show.

Roller gained at least one new fan today. Brian Topping just happened to be looking for blog engine for one of his current project, so when I told him about Roller he immediately hit the Roller CVS and started reverse engineering the Roller data model using MagicDraw. He wants to pull Roller into his existing project's data model, which is expressed in UML which is used as the basis for code generation. He generates everything from the model. I'm very interested in seeing where he goes with this. As we start to add features like publishing workflow and auditing, the Roller data model will grow more complex and Brian's model-driven approach might become very attractive for Roller. My biggest problem with this is the fact that UML tools like MagicDraw cost money and are not open source -- we can't require Roller developers to buy tools to participate in development. Maybe ArgoUML is an alternative?

Brian also started working on a Maven build for Roller. Maven looks very cool, but I've never had the time or inclination to Mavenize Roller. Personally, I think that anybody doing serious development with multiple projects, modules, and inter-dependencies needs something like Maven and I've seen Maven like systems before. For smaller projects, Maven may be overkill. Perhaps Roller is one of those smaller projects, but when Brian finishes his Maven script, we should consider adding it to Roller (in the post-1.0 main branch).

Enterprise blogware from Traction

Phil Windley: Traction positions teampage as a "time-ordered journal" as opposed to a "personal podium." This is really just marketing to position themselves "above" the blogging world as a "serious piece of enterprise IT software." The thing walks like a blog, talks like a blog and looks like a blog.
But Phil goes on to explain that Traction TeamPage is not just run-of-the-mill blog software putting on airs. Traction is "system for using multiple blogs in concert" that gives users the ability to create custom newsfeeds, filtered by metadata such as category and keyword, and to combine newsfeeds, also based on metadata, to create aggregated team blogs and dashboard blogs (see also my Development dashblog post).

ApacheCon 2004 here I come!

I'm all approved and ticketed and everything. I'm looking forward to the awesome talks, especially Matt's talk on comparing web app frameworks, and to attending my first ever ApacheCon. See you there.


Breaking news: I may be attending ApacheCon 2004 in Las Vegas next week.

« Previous page | Main | Next page »