Dave Johnson on open web technologies, social software and Java
After reading Matt's post, I was a little concerned about Powerbook performance. I'm not concerned anymore. On my Powerbook (1.5GHz, 1.25GB RAM) a full Roller build takes 53 seconds. On my Windows XP desktop box (2.4GHz, 1GB RAM), a full Roller build takes 45 seconds. I don't even notice the difference.
I have to retract the bad things that I said about Eclipse and Fire. I've been using Eclipse 3.0 M8 on MacOS for a couple of weeks now and, while it is not pretty or as snappy as the Windows version, it is definitely usable. Kudos to the Eclipse and SWT developers. I stuck with Fire and it has really grown on me. I use it for IRC, AIM, and YahooIM and I enjoy it as much as I do Trillian on Windows. I'd like to see more IRC features, but that's my only complaint.
Nerd news site Slashdot caught wind of the JBoss Group's slimey business tactics, linked to three weblogs on JRoller, and proved that Roller can survive the Slashdot effect. This says a lot about Roller and the technology stack that supports Roller including Tomcat, Struts, Velocity, Hibernate, and especially OSCache. Via Rick Ross.
PJ Doland: You would have to be insane to enable Trackback on a corporate blog. Look at the links at the bottom of Mena Trottts post about the new licensing terms for Movable Type 3.0. The mob has spoken, and its publicly viewable on the company site.Via Simon Phipps.
I've been doing a little informal research into Wiki software options and Wiki APIs. I'm trying to understand the state of the Wiki software market, if you can call it that, and especially the state of Wiki APIs. This post is a summary of what I have learned so far.
Where we are
Where we could be
Unfortunately, the list of Wikis that don't support the WikiRpcInterface is a lot longer than the list of those that do. For example, the popular open-source Java-based SnipSnap Wikiblog doesn't support it and neither does the Atlassian's new closed-source Java-based Wiki Confluence. SnipSnap provides no Wiki API at all. Confluence, on the other hand, supports an extensive API in both XML-RPC and SOAP-RPC flavors. With the Confluence API you can:
That's a pretty impressive list of capabilties and it has already inspired a slick GUI client called TimTam. Take a look at the cool screenshots. It's really a pity that TimTam only works with one Wiki - and a payware one at that.
A side note: I wanted to find out more about Wiki API support in the closed-source Socialtext Wiki/Weblog product line, but the Socialtext website is not very sociable. I could not find any detailed product information, documentation, or developer information on the site. They don't even have site search. I'm not ready to register for a free demo or marketing spam yet, so I'll look into Socialtext at a later time.
The way forward?
Recently, Joe Gregorio published an article called An Atom Powered Wiki. Joe showed how to add Atom API support to a simple Wiki. Joe's example API is very simple, only allowing getting, putting, and deleting Wiki pages but, because Atom is exensible, and in a SOAP compatible way, the Atom API could easily serve as the basis for a new standard Wiki API.
I was seriously considering using DocBook for a big writing project. I backed out because my collaborators use the reviewer comment features of MS Word, but even if my collaborators could have accepted DocBook I'm not sure that I could have done so. DocBook is complex and climbing a big learning curve when I should be writing and working on example code does not appeal to me at all. Take a look at the XML files and the build scripts for Mark Pilgrim's DocBook-based Dive into Python if you don't believe me. I get the feeling that a DocBook project is a lot like a software project with a build-script and build-time error messages that require debugging. I don't want to miss a deadline because my manuscript won't compile.
The best way to work with DocBook would probably be a WYSIWYG editor that uses DocBook as it's native format or that can export in DocBook format. Otherwise, you'll be swimming in angle-brackets and cursing validation errors. DocBook provides a powerful set of tools, but DocBook XML is something that should be generated rather than written by hand.
Along those lines: what if you wanted to print your entire Weblog, including all of the entries in your archive, as a nicely formatted book, ready for printing. DocBook would be a great way to do that. You could write a utility to dump your Weblog to DocBook XML format and, if you've been writing your Weblog entries in valid XHTML, you could even transform the formatting information in your entries to DocBook XML. Then, you could easily transform your entire Weblog to PDF, RTF, or any of the dozens of formats supported by the DocBook transforms. Weblog to DocBook - has anybody tried that before?
There is a interesting discussion of what should be allowed on a Java.Net weblog in the comments of Richard Monson-Haefel's post 9 of Clubs Seeks a new Deck of Cards. Richard needs a job and is using his weblog to do a little self-promotion/marketing, but his weblog is hosted on Sun's Java.Net site which suppoosedly restricts marketing. Java.Net's managing editor Daniel Steinberg raised this issue, mainly as a discussion point, and thankfully the consensus seems to be in favor of allowing Richard's post and others like it.
Last year, I criticized what I saw as forced corporate blogging on Java.Net, but the open spirit on the Java.Net weblogs, Sun's progressive new Policy on Public Discourse, and the Sun employee blogs at blogs.sun.com, show that Sun trusts it's employees to communicate publicly and directly with each other, with Java developers, and with customers. As a long-time Java developer and small-time Sun shareholder, I see this as a very good thing.
I've got too many other things going on right now to resume my work on Control Flow, so I'm happy to report that Don Brown has picked up where I left off and has integrated Cocoon's Control Flow module into a Struts application.
Don implemented the same number guess example that I did, but with Struts, by replacing my Flow Servlet with a Flow Action. This is a different approach than I was considering. I was under the impression that the only way to enable Control Flow to take advantage of Struts Form Bean processing and Validation was to integrate Control Flow at the ActionServlet level. On second thought, I think the Flow Action approach will work fine, but it will require that Actions that are to participate in the flow extend the Flow Action
Flow Servlet. I'm looking forward to seeing Don's code.
JRoller has been on acting up recently as several people have noticed. We are looking into the problem(s). We started to notice some flaky behavior last week and system loads were somewhat higher than usual. Some of the additional load was due to a second Tomcat server running some other software. I noticed a lot of suspicious JK2 errors in the Tomcat log files, but that was probably a red herring. After spending some time trying to get the JK2 setup right and upgrading from Tomcat 5.0.18 to Tomcat 5.0.19, I talked to Rick and Matt about taking JK2 and HTTPD out of the picture entirely and that is what we did. We're not getting any more JK2 errors, but we are still experiencing technical difficulties. I'll keep you posted as I try to track down the source of the problem.
Long story short: I ran into too many build failures during and after completion of my Gentoo Linux installation. I'm not sure if I have hardware problems or if Gentoo's support for my Athlon XP CPU is flakey or what, but I'm out of patience. I'm switching over to Debian.
Tim Bray: Many of us at Sun are doing work that could change the world. We need to do a better job of telling the world. As of now, you are encouraged to tell the world about your work, without asking permission first (but please do read and follow the advice in this note). Blogging is a good way to do this...
Before I started using the Powerbook, I had assumed that I would be using the same browser and mail programs that I use on Windows, Mozilla Firefox and Mozilla Thunderbird. When I got the Powerbook, I installed Firefox and Mozilla and found that they work well and look almost exactly as the do on Windows. Generally speaking that is a good thing, but I'm in the mood to try something new and I prefer applications that get the native look-and-feel perfectly right, so I switched over to the built-in default browser and mail programs, Safari and Mail.App. I've been using them for about a week now and they both look great and work great. I'll stick with them for now.
I've been experimenting with iMovie. I imported a bunch of video clips from my digital camcorder and found it very easy to compose a video, edit out the bad spots, incude transitions between clip, and add titles and text. iMovie works very well and, at this point, I don't think I'll be needing any other video editing software. I've also been using the OmniOutliner and the OmniGraffle drawing programs. I was surprised to find these applications included with Mac OSX and very pleased with both of them. I downloaded Voodoo Pad Lite the other day and found it so useful that within hours I was paying the the $19.95 registration fee for the full version.
There are some bad points, of course. For example, I have't found any chat software nearly as good as Trillian. Fire may eventially rival Trillian, but right now it's GUI is clunky and nowhere near as full-featured. Eclipse is usable, but the fonts are so big and the new Eclipse 3.0 M8 look-and-feel is a real put-off.