Blogging Roller

Dave Johnson on open web technologies, social software and software development


Textdrive: an anti-Java ISP?

Pat Chanezon: The details are in my post to the ROME dev mailing list: it seems like mod_security, as configured at the TextDrive ISP refuses HTTP get with a user-agent containing the string 'java'! How how should java people interpret that? I guess as a compliment: if mod_security forbids Java in the user-agent, it means that even spammers and rogue spiders ended up dumping Perl for their nasty HTTP business to use Java instead: Java everywhere ;-)"

I burned several hours trying to figure out why Roller Planet (and specifically the Triangle Blogs Aggregator) wouldn't work against Textdrive hosted blogs, only to learn that the reason is an anti-Java filter. So my interpretation is %@#(*&!!! Textdrive is not our friend. They don't support Java and they appear to be actively filtering out Java clients. Perhaps I'm wrong and mod_security is the culpret?

PS. By changing my user-agent string to "Roller Planet 1.1-dev" (I considered the user-agent string "Textdrive s****" but that's just rude), I was able to get beyond the filter.

Tags: Java

Struts Flow: continuations for Struts

Cool! Don Brown picked up my late night <a href= "http://rollerweblogger.org/comments/roller/blog/jsp_control_flow_engine"> experiments with continuations and JSP last year, ported from plain-old-JSP to Struts and now Struts Flow is an official Struts subproject. (via Dion).

Tags: Java

Clearing the JSFud

Rick High: For such an indispensable technology, Java Server Faces (JSF) has generated an undue amount of FUD.
Amen, brother.
Tags: Java

JavaOne proposals

A first for me: I submitted a couple of proposals for JavaOne 2005. The first one is a joint session with four speakers (that may pose a problem) titled Beyond Blogging: Feed Syndication and Publishing with Java. If the proposal is accepted Kevin Burton, Patrick Chanezon, Alejanro Abdelnur, and I will discuss the Java tools available for feed syndication, FeedParser, Rome, Roller, and BlogClient. We'll also discuss plans for moving towards a standard Java API for feed parsing, generation, and publishing.  The second paper is titled Enterprise Blogging With Java and it is basically an updated and improved version of the talk I gave at the Triangle and Orlando/Gainesville JUGs last year.

Tags: Java

Eclipse for Solaris x86 no longer available

I was using Eclipse (both 3.0.1 and 3.1M3) on Solaris x86 and it used to be on the download list, but now it is gone. WTF! I was hoping that, maybe, they'd switch the Solaris x86 build of Eclipse from Motif to GTK. I mean, how hard can that be? Instead they've taken it right off the list. I guess Eclipse.org is not as independent of an organization as I had previously thought. They must take orders directly from Palmisano. I want my Eclipse!

Tags: Java

Joint syndication-publishing session at JavaOne?

Pat Chanezon suggests that the developers of the newsfeed parsers, newsfeed generators, and blog API client libraries should come together, learn from each other, and -- at JavaOne -- educate the rest of the Java community about syndication and publication technologies. I'm included in his list of developers because of Roller and because of my recent work on Blogs, Wikis, and Feeds In Action which includes a blog client library which works with either Atom or XML-RPC based blog servers.

I think this is a great idea. As you might expect, each of us has our own point of view and different needs for our APIs. For example, some developer prefer a SAX like approach like Kevin Burton's FeedParser while others prefer a DOM like approach like Rome. And, some developers want a liberal parser while others prefer "draconian" XML error handling.

If we put together a joint session, we'll each get insight into each other's motivations and needs, we'll educate others, and we may just find our way towards a common set of interfaces -- perhaps even a JSR - for publishing and syndication. We've got to move quickly though; the JavaOne deadline is January 31.

Tags: Java

Why your JavaOne talk was rejected

Casey Cameron explains the common pitfalls of JavaOne proposals. You have until January 31 to submit your proposal.

Tags: Java

Addicted to Eclipse

As much as I hate to admit it, I'm addicted to Eclipse. I'm hooked on the auto-import and auto-fix stuff that automatically imports the classes I need, adds missing methods needed to implement interfaces, and declares missing variables, fields, and even classes. And I'm hooked on the CVS client that gives me a clear view of every single file I have modified in my workspace, every incoming change, and makes it easy to override-and-commit or override-and-update. Netbeans 4.0 has come a long, long way from the old 3.X series and Creator is just awesome for JSF, but 4.0 is still not good enough to pull me away from Eclipse. There, I said it.

Unfortunately, Eclipse for Solaris/X86 is linked to Motif which makes it nearly unusable so I end up using Netbeans for most of they day, only switching to Eclipse when I need to synchronize with CVS. I actually blew a Saturday afternoon trying to get Eclipse 3.1 to build on Solaris/X86 linked to GTK. I failed, but only because I ran out of time.

Tags: Java

mod_jk and I do not get along

You know you're not having a good day in Java web application development land when you spend hours staring at Tomcat source code and end up deciding your best bet for solving the problem at hand is to download and compile a new HTTPD and mod_jk from source.

Tags: Java

Key language differentiator: facial hair

Tamir Khason explains with mug-shots why C# will never beat Java.

(Via James Robertson)

Tags: Java

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.

Tags: Java

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).

Tags: Java

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.

Tags: Java

Java Struts Faces

Struts Live author and JRoller blogger Johathan Lehr: "Struts 2.0, code-named Shale will be based on the JSF spec." The proof is on the Wiki, the developer mailing list, and in a <a href= "http://svn.apache.org/viewcvs.cgi/*checkout*/struts/trunk/contrib/struts-shale/README.html">detailed proposal checked into CVS. Update: Further discussion at Raible's place.

Tags: Java

Spring Live 1.0

Congrats to Matt who has just released verison 1.0 of his SourceBeat book Spring Live.

Tags: Java

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.

Tags: Java

Netbeans beta 2 is out

Time to take another look at Netbeans (downloads and key features).

Tags: Java

Sun Java System app server on OS X

Jon Mountjoy explains the couple of steps necessary to get the Sun Java System Application server running on OS X, and wonders why there is no officially supported version for Mac OS X.

Tags: Java

Revisiting Netbeans

Eclipse was the first IDE that was powerful enough to pull me away from good old trusty and ubiquitous vi. I had worked on a couple IDE projects, including Object Factory at Rogue Wave and HAHTsite at HAHT, and I had tried almost every Java IDE in existance, but I couldn't find an IDE that could tempt me away from vi. But, when I tried Eclipse in 2002 I was sold. What did I like about Eclipse at that time? Take a look at a My Eclipse Review to read my review of Eclipse from September 2002.

After seeing lots of cool demos of Java Studio Creator at JavaOne, hearing about Netbeans 4.0 release, and remembering to eat the dogfood, I decided that I had to take another look at Netbeans. I downloaded the Netbeans 4.0 demo over the weekend and I've been working with it all week. If you've used Netbeans before, you will notice some drastic changes. The Netbeans UI is much more clean, simple, and easy to use. Gone is the clunky filesystem mounting stuff and the complex options dialog is much more streamlined and easy to grok.

Here is a screenshot of Netbeans 4.0b1 showing the Versioning view: Netbeans 4.0.b1

There are still some shortcomings that will keep me going back to Eclipse, but there are also some areas where Netbeans seems to outshine Eclipse. Here are some of the things that impressed me:

  • Speed of startup and general responsiveness: 'nuff said. IDEA IntelliJ (and others) have proven that Swing Apps don't have to be slow (and ugly), now Netbeans proves that point as well.
  • Ant integration: Netbeans will read your existing Ant file and use it to drive your project. If you are starting a new project, Netbeans provides new Ant build file for you, loaded with userful targets.
  • J2EE server integration: J2EE server startup, shutdown, and debugging for Tomcat (and the Sun app server) is incuded. I had to buy MyEclipse to get this in Eclipse. The integrated UI also allows you to start and stop individual web applications within the server.
  • CVS improvements: CVS setup has been much improved and is now easy and trouble free. The new Version Control view of the filesystem is nice. Each file can be expanded to show previous versions and commit comments (see screenshot above).
  • Built-in JSP editor: Netbeans also includes built in JSP editor with syntax coloring and code completion (another MyEclipse extra I paid for).

And here are the things that will keep me going back to Eclipse:

  • CVS icon labels and decorations: the CVS icon labels and decorations in Eclipse make it really easy to see which folders contain files and folders (recursively) that have been modified.
  • CVS synchronization: The CVS synchronization view in Eclipse is great. It makes it amazingly easy to review incoming and outgoing changes, to select files for merge, to override and update, or to override and commit on files or groups of files.
  • More refactoring options: Netbeans just added support for refactoring, but it has been built into Eclipse for quite a while an Eclipse has more refactoring options by far.
  • Organize imports: Eclipse organizes your imports with one easy click. I think the "Fix Imports" feature is broken in Netbeans 4.0b3, but I'm not sure.

It is cool to see such great improvements in Netbeans and it is great to have so many excellent Java IDE options. I've also spent some time recently with Visual Studio C#.Net and I'm here to tell you, Microsoft has some major catch-up work to do. The current crop of Java IDEs blow Visual Studio away.

Tags: java netbeans

JSF vs. run of the mill bile

Unlike the majority of the Java Server Faces (JSF) detractors, Rick Hightower has actually done some project work with JSF. He says "JSF good!"

Tags: Java

« Previous page | Main | Next page »