Blogging Roller

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


IDEA, JBuilder, and BEA Workshop are toast?

According to Patrick Chanezon, BEA Workshop is ready for butter and jam and there only three IDE players left:

IBM builds momentum around Eclipse. New members sign on to program, but not Sun or BEA [InfoWorld: Web Services]

There are 3 players left in the java IDE game: Sun, IBM and BEA.

With IBM having bought Rational, I think BEA Workshop is toast. Too bad it looked real nice. How long before they port it to the Eclipse platform :-)

What about IDEA IntelliJ?

What about Borland, who now owns both JBuilder and the Together Control Center?

I don't think you can write them off just yet.

Speaking of that "real nice" BEA Workshop GUI: last night at the TriJUG meeting, Chris Garrett of TogetherSoft demonstrated the Together Control Center BEA Workshop Accelerator.  The Accerator allows you to build web services for the Weblogic server in a graphical manner using a UML-like notation. These web services use the Weblogic Workshop's server-side framework, but the Weblogic Workshop GUI is not involved in the process in any way.

TogetherSoft may have no need for the BEA Workshop GUI, but BEA has not given up on the Workshop at all.  According to this InfoWorld article, BEA is "expanding [the Workshop] into a full-blown development environment for not only Web services but also for pages, for server-side components, for visual controls, visual interfaces, the whole nine yards"

Tags: Java

epesh is fired up.

This might be interesting:
Next on my plate: I'm digging *back* into Struts, so I can compare how Struts and WebWork compare directly. [epesh]
Tags: Java

Reminder: Triangle JUG meeting tonight

It should be a good one too. Chris Garrett of TogetherSoft Borland will be discussing how WebLogic Workshop (formerly known by the codename Cajun) and Together Control Center may be used together to consume 100% of your CPU cycles create web services. I'm just joking, of course. I love playing with those cool GUI dev-tools. Too bad I can never afford to use them past the end of the evaluation period. Thank goodness for my whiteboard, Ant, and Axis.

Tags: Java

Caravan of RTP bloggers.

It is not often that there is a cool conference that I can actually afford to attend. Sounds like this (or these?) could be one(s):

Symbiotic conference planning ideas. Imagine a caravan full of <a href= "http://radio.weblogs.com/0104308/2002/11/14.html#a2823">RTP bloggers descending on Washington DC in June... [Sam Ruby]

Humano-Tech Weblogging Conference - East? Ed Cone has some <a href= "http://radio.weblogs.com/0107946/2002/12/15.html#a270">suggestions for RTP conference locations. Perhaps <a href= "http://postneo.com/2002/12/14.html#a1469">Matt Croydon would consider driving down. [Sam Ruby]

Tags: Blogging

The Wafer Project.

Anthony Eden and Thomas Wheeler are working to compare the many web application frameworks out there and the are off to a nice start with this <a href= "http://waferproject.org/feature-matrix2.html">feature matrix. Currently, they are focusing only on Java frameworks. I had no idea that there were so many. Published books are an important form of documentation, so the documentation column should indicate the number of books on each framework. In terms of books on bookstore shelves, Cocoon and Struts are probably the best documented frameworks on the list.

Tags: General

Think and sleep.

I'm pretty sure that I first heard the term "brute force debugging" from my mom, who is also a programmer. I was writing about debugging this weekend, so I tried to find the origin of the term via Google. I didn't find the origin, but I did find some interesting <a href= "http://www.cs.colorado.edu/%7Ehendrixs/classes/lectures/lecture_10.pdf">lecture notes on debugging by Susan Hendrix of the <a href= "http://www.cs.colorado.edu/">Univ. of Colorado, Boulder. I really like Hendrix's guidelines for debugging. The first two are think and sleep on it. Great advice, wouldn't you agree? I really need to do more of both, whether I am involved in debugging or not.

Hendrix really doesn't like brute force debugging. She says that there are three brute force debugging techniques: 1) use of dumps, 2) scattering print statements randomly, and 3) over-reliance on debuggers. That doesn't sound quite right. My mom taught me that brute force debugging was the practice of placing well positioned print statements in code to locate where a bug is occuring. I like that definition better, but it is my mom's definition so what do you expect? If my mom was still programming today, I bet she'd be using Log4J, or something similar, instead of brute force debugging, no matter how you define it.
Tags: Java

Ouch!

Blogging Roller is an example of what's wrong with the world...[Bob McWhirter]
OK, Ok, ok... listen to Phish. Just be aware that Phish can be a gateway to more serious jams.
Tags: General

Live from New York: Al Gore and Phish

Don't forget, Al Gore kicking off his presidential campaign by hosting Saturday Night Live tonight and Phish is the musical guest. Either he will completely dork-out and blow all of his remaining political capital, or he will roll up a big fat spliff, smoke it on stage with Phish, and win back the hearts and minds of all of us tree-hugging, jam-band lovin', bleeding-heart liberals. We'll take him all the way to the White House baby, all he has to do is inhale.

As things stand right now I'm voting for Senator McCain in 2004, based entirely on his October SNL performance.

Please do not interpret the above statements as an indication that I condone Phish.

Tags: General

Congrats to Matt.

Congratulations to Matt on his <a href= "http://www.raibledesigns.com/page/rd/20021214#new_job_struts_testing_frameworks">new job.

Tags: Roller

Roller category ideas.

Hierarchical categories. <a href= "http://sourceforge.net/mailarchive/forum.php?thread_id=1420154&forum_id=9297">Matt mentioned the idea of hierarchical categories on the roller-dev list the other day. Scott Switzer mentioned this <a href= "http://sourceforge.net/mailarchive/forum.php?thread_id=1256114&forum_id=9297">back in October and <a href= "http://opensource.atlassian.com/projects/roller/ViewIssue.jspa?key=ROL-57">put it into JIRA. A hierachical categories feature seems a little complicated and maybe a little confusing. Maybe with the right UI, hierarchical catagories would work. Is it overkill?

Multiple categories. Right now, each weblog entry has one and only one category. Most blogging software allows you to assign multiple categies per entry, I think Roller needs this too.

Selective display of categories. It would be nice if the Roller page macros allowed you to specify which categories are to be displayed on each page and in each newsfeed. That way, you can have a developer oriented page that includes your Java, C#, and AOP categories; and you cab have a family oriented page that includes your Personal, Cat, and Look-At-My-Cute-Little-Baby categories. As Matt suggested, we could also use hierarchical categoes to achieve the same goal.

Tags: Roller

blogs.application-servers.com

The French Application-Servers.com website is experimenting with using Roller-based <a href= "http://blogs.application-servers.com">weblogs to complement and possibly to replace message-board based forums, which often erupt into flame wars. Tres cool!

Tags: Roller

OJB did not steal any code!

Thomas Mahler posted comment on my recent <a href= "http://www.rollerweblogger.org/page/roller/20021212#carlos_on_hibernate_vs_ojb">Carlos on Hibernate vs. OJB story and I'm promoting it to a post. I do not want to be unfair to OJB and I'm glad to hear that the issue of stolen code was a simple little mistake. Here is what Thomas had to say:

As one of the core OJB developers I'd like to correct some points.

- OJB is not focussing on JDO. OJB is focussing on transactional object persistence. We provide several "personalities" to give users their API of choice.
We currently support ODMG3.0, JDO1.0 and our own abstracted Object level transaction API (called OTM).

OJB has a layered architecture with a persistence kernel reponsible for all the O/R stuff. This kernel is shared by all three toplevel personalities.

We have *not* been working on JDO for months. We are concentrating on a stable 1.0 release. JDO is in the 2.0 scope! So statements like "OJB is losing its way by focussing on JDO" do not make any sense.

- OJB did not steal any code! We have a little JDO prototype that has not been maintained for months. By accident one of our developers checked in some interface definitions from the JDORI codebase. These interfaces were not even referenced by our actual code! We settled this issue within hours by simply deleting the stuff from our CVS.

I don't see why such a minor incident should prevent us from building a OSS JDO implementation?
While on this topic, I should also thank Carlos for explaining why he does not like JDO and for pointing out that there is another open source JDO implementation called TJDO. I should have remembered that because I mentioned TJDO in my <a href= "http://www.rollerweblogger.org/page/roller/20021013">comparison of persistence frameworks back in October.

Tags: Java

Lesson 2: Piracy is progressive taxation

Excellent essay by Tim O'Reilly!

For all of these creative artists, most laboring in obscurity, being well-enough known to be pirated would be a crowning achievement. Piracy is a kind of progressive taxation, which may shave a few percentage points off the sales of well-known artists (and I say "may" because even that point is not proven), in exchange for massive benefits to the far greater number for whom exposure may lead to increased revenues. [Tim O'Reilly, Piracy is Progressive Taxation]

Tags: General

Show respect for Andy's readership.

Andy Oliver have hundreds of visitors every day to his blog, probably because he writes about interesting things. He would possibly have even more readers if he didn't crap on his readership by not spending the extra few minutes to present his ideas better.
Mr. Incoherence says that Andy Oliver's writing is <a href= "http://www.freeroller.net/page/matsh/20021212#show_respect_for_your_readership">not coherent (scroll down to the bottom of the post), what a crock. Read <a href= "http://freeroller.net/page/acoliver/20021212#my_first_blog_flamewar_or">Andy's response. Here are my two cents. Andy writes in a no-holds-barred blast of the fire-hose style that is great fun to read even if you don't agree with him. If he went back to edit and soften his words, he would lose readers not gain them. There is a place for more formal, pedantic, and boring writing but not at Andy's blog. Perhaps Mr. Incoherence can establish a home for such writing at his place ;-)
Tags: Blogging

Unexpected Christmas gift.

For Christmas I've been given two weeks without pay. I guess I'll use that time to work on my resume. Hey, that rhymes!
Tags: General

Carlos on Hibernate vs. OJB.

Carlos says that, right now, the Hibernate persistence framework is a better choice than Jakarta OJB. He also criticizes Jakarta OJB for it's emphasis on JDO.  I have to agree with his assessment of Hibernate vs. Jakarta OJB, but I don't agree 100% with Carlos on JDO.

Carlos does not like JDO, but like it or not JDO is the standard Java persistence API.  Currently, there are only a few small vendors supporting JDO (SolarMetric, SignSoft, and PrismTech to name a couple), but someday JDO could become the defacto standard.  If that happens, then support for the JDO API will a very important feature.  For that very reason, I wanted to use Jakarta OJB in my WROX JSP chapter on database access.  However, I found that the Jakarta OJB implementation of JDO was just not ready for prime-time. I wanted to use an open source framework, so I decided to use Hibernate instead. Plus, the Hibernate docs are very nice.

Now, it has come out that (apparently) the Jakarta OJB implementation of JDO contains some stolen code.  I guess that means than an open source version of JDO is not going to happen, at least not in the near future.

I can't speak about the technical merits of JDO.  I don't know enough about JDO to compare JDO vs. any other persistence API.  Perhaps somebody who does (Carlos?) can break it down for us.

Tags: Java

Welcome to Matthew Porter.

Cool! A new Roller-based weblog, by Matthew Porter. Matthew: you might want to turn off the new-users-allowed setting in web.xml unless you really want to host a Roller community on your site.

Tags: Roller

Defending Struts

<a href= "http://www.raibledesigns.com/page/rd/20021211#design_patterns_marc_fleury_and">Matt <a href= "http://www.mail-archive.com/struts-dev@jakarta.apache.org/msg11563.html">posted the #java chat-channel FAQ's recent critisms of Struts to the Struts mailing list, provoking Ted Husted to come to the defense of Struts. Ted took apart the criticisms one-by-one and left the attacker with nothing but a lame argument "not really quantifiable through bullet points" that "Struts just feels wrong."

Even without those bullets the #java FAQ author continued to fight on with a rebuttal that explains "#java tends to sneer at morons who feel that Struts is THE WAY." Ah, now I understand. The FAQ question should rephrased. It should not be "why are people so down on Struts?" The real FAQ is "why are the snotty geeks in this chat room so annoyed by Struts?" The answer is simple: sour grapes.

I'm sure that there are plenty of valid criticisms of Struts, and that nobody wants to hear those criticisms more than the Struts contributors themselves. Tell them.
Tags: Java

On the topic of System.out.println

Erik pointed to the Log4J write-up titled Don't Use System.out.println the other day and yesterday it was the hot story on Javablogs (I kid you not). This does not really have anything to do with Log4J, but here is what the Webpshere best practices paper that I mentioned earlier says about using System.out.println in a web application:

Minimize use of System.out.println.  Because it seems harmless, this commonly used application development legacy is overlooked for the performance problem it really is. Because System.out.println statements and similar constructs synchronize processing for the duration of disk I/O, they can significantly slow throughput.
I did not know that.

Tags: Java

Servlet/JSP application performance tips.

Say what you want about big bloated Websphere, but the developer resources, redbooks, white papers, etc. on the Websphere and DeveloperWorks sites are great.  After I wrote most of my WROX JSP chapter on performance, I found a very helpful white paper on Websphere Development Best Practices for Performance and Scalability (340kb PDF).  As far as I can tell, the best practices apply to any J2EE application server, not just Websphere.  Many of the recommendations apply to EJB applications only, but there are also a good number that apply to plain-old Servlet/JSP apps, for example:

  • Don't store too much in each session
  • Don't create sessions at all if you can avoid it
  • Use database connection pooling
  • Avoid string concatenation
  • Minimize thread synchronization
  • Don't use SingleThreadedModel
I had already covered most of the areas mentioned in the white paper, except the thread synchronization and string concatenation tips. I'll add those too. I'm not sure why they don't mention page caching.

Tags: Java

« Previous page of month (Dec 2002) | Main | Next page of month (Dec 2002) »