Goodies

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 blogs.sun.com. 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 SyncUpdate098Xto1000.java 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 WebspherePower.com. 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, Feedster.com 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 weblogs.com 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.


ApacheCon?

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

Firefox on Solaris x86 and Mac OS X

Like the good little open source lemming that I am, I upgraded to Firefox 1.0 today on both my Mac and Sun boxes. Some kind folks from Sun built both GTK and Motif linked versions of the new browser for Solaris x86 and you can get them at the FTP server at GetFirefox.com site.

Firefox for Solaris x86 looks great and, unlike the version I had previously downloaded from Blastwave.org, it is able to pick up the JDS theme so it looks twice as cool as before. Be sure to grab the GTK2 version, unless you are stuck with Motif.

I was not so impressed with Firefox on the Mac. As much as I'd like to be using the same browser on all platforms, Firefox doesn't look quite right on the Mac, plus I'm addicted to clicking links with the middle mouse button to open them up in new tabs. Old habits like that are very hard to break. Is there an easy work-around for this problem or a plugin that fixes it?


Daily rock bias

My brother Dan promises to blog an disc a day until the end of he year. Today's disc: Hands Up by Chapel Hill's own Two Dollar Pistols.

Advantages of Atom over RSS

From the Atom Syntax mailing list, Tim Bray summarizes the advantages of Atom over RSS.

1. There's zero ambiguity about single and double escaping, you can 
   use whichever suits your publication process better and not worry 
   about silent data loss.
2. You can include binary chunks right there in-feed, base64 encoded.
3. You get help for aggregate feeds using atom:origin
4. You have a date, atom:updated, with cleanly-specified semantics 
   ("publisher says something changed") that's *guaranteed to be there* 
   per-entry
5. It's in an XML namespace
6. It's got a good accessibility story: you have to have an atom:summary 
   if there's no src= or it's binary.
7. You have clean semantics for linking to the entry this describes or 
   the entry it's talking about.

Personally, I think these are highly significant. But even if you 
disagreed, there are two other reasons why it would be good to get the 
Atom format spec finished:

1. Atom has an official specification change-controlled by a 
   highly-independent standards org, there is no suspicion that any 
   vendor or individual is pulling the strings. This might not strike you 
   as important, but I assure you that there are lots of people to 
   whom it is.
2. The atom format is one foundation of the Atom publishing protocol, 
   and I guarantee that the world can *really* find a use for the protocol.

Roller on the Sun Java Server

Sun blogger Akihito Fujii's Weblog has Roller up and running on the Sun Java app server.


Proposal: replacing Atom4J with a Rome based Atom implementation

I made this proposal -- a new Atom server implementation for Roller and Rome -- on the Roller mailing list and nobody objected, but I didn't get a lot of feedback.

Roller in Japanese, go Noniko!

Noniko, who blogs on JRoller and Netbeans.jp, has created a a Japanese translation of the Roller user interface and now she is working on Japanese translations of the Roller user guide, quick start guide. and installation guides. She has posted some notes on her work.

Marketers and RSS

James Robertson comments on recent CMO Magazine articles on RSS and blogs.

« Previous page | Main | Next page »