Blogging Roller

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


Roller project page updates.

The main Roller page now runs on Roller. The weblog portion of the page is in the right column under news.
Tags: Roller

Struts book fair.

Lots of Struts articles and books swirling around the blogs and sites and bookstores and etc. OnJava has two articles: 1) <a href= "http://www.onjava.com/pub/a/onjava/2002/10/30/jakarta.html">Lessons from the Trenches by Chuck Cavaness author of O'Reilly's <a href= "http://www.powells.com/cgi-bin/biblio?inkey=62-0596003285-0">Programming Jakarta Struts and 2) <a href= "http://www.onjava.com/pub/a/onjava/pub/a/2002/11/06/struts1.html">Learning the New Struts 1.1, Part One by Sue Speilman author of <a href= "http://www.switchbacksoftware.com/struts.htm">The Struts Framework. The Server Side recently posted <a href= "http://www2.theserverside.com/resources/articles/StrutsFastTrack/StrutsFastTrack.pdf">The Fast Track to Struts (PDF).  And finally, looking at Powells I see that <a href= "http://www.powells.com/cgi-bin/biblio?inkey=62-0471213020-0">Goodwill, <a href= "http://www.powells.com/cgi-bin/biblio?inkey=62-1930110502-0">Husted, and <a href= "http://www.powells.com/cgi-bin/biblio?inkey=62-0672324725-0">Turner all have Struts books coming out as well. I haven't read any of them yet so please read them for me and tell me which ones are best.

Tags: Java

The Eclipse dominates scenario.

I've been helping a co-worker and 4 year veteran of <a href= "http://www.borland.com/jbuilder/">JBuilder get started with <a href= "http://www.eclipse.org/">Eclipse. He decided to make the switch after the Eclipse presentation at the RTP-WUG . His first impressions were that Eclipse does everything that JBuilder does and that Eclipse will kill all other IDEs. I was not at all surprised by his reaction.

After seeing that presentation, it is pretty easy for me to imagine a scenario in which there are two dominant IDEs in the world: Microsoft Visual Studio and Eclipse. In this scenario all IDEs other than Visual Studio will either wither and die or rehost their best parts as plugins inside Eclipse. Eclipse is extensible and pluggable to the core. It is not an IDE and it is not just an <a href= "http://radio.weblogs.com/0107789/2002/11/06.html#a1002">experience either, it is a universal and multi-progamming language tools platform. On top of that it is open source (you can't get more pluggable than having the source ;-).

This scenario explains why both Borland and TogetherSoft are on the Eclipse <a href= "http://www.eclipse.org/org/index.html">board of stewards. They see the wave coming. Board member Rational has already released an Eclipse based product (which supports both Java and .Net) and even old school programmer's editor maker and board member SlickEdit, Inc. is considering hosting inside Eclipse.

If you look at the volume on the Eclipse newsgroups and the rapidly growing number of plugins, you can see the momentum.  For the moment, the IDEA guys may have a better IDE, I really don't know, but they've got to be worried about and planning for the Eclipse dominates scenario.
Tags: Java

Congratulations Matt and Julie!

I knew there was something up when I saw no posts yesterday. Matt and Julie are now the proud parents of a <a href= "http://www.raibledesigns.com/page/rd/20021106#out_little_girl_has_arrived">truly beautiful little baby girl. Big welcome to Abigail Grace Raible! I'm wishing y'all a baby who cries little and sleeps a lot. My wife's advice to you is to enjoy these first weeks and months because they seem to go so quickly. She also advises you to do whatever your wife tells you to do quickly and without complaint.

Tags: General

Between.

It is funny how the (hopefully) final release of Roller 0.9.6 today coincided with the release I've been working on at my day job. I really did not want these things to happen at the same time, but as they say when it rains it pours. Either nothing happens, or everything happens all at once.

Both releases took longer than expected and stretched out over a busy and stressful two month period. During that time I lost some wonderful co-workers to a "reduction in force," moved into a cramped new office, moved again into a larger new office, was threatened with a law-suit, got a promotion, and lost my favorite boss to Microsoft.

I really can't complain. I still have a job, I still enjoy it, and I would much rather be busy than bored. On top of that, I have an awesome family and a wife that understands my geekly obsessions - as long as I have a baby in my lap. I'm not going to complain. I'm going to take some time to regroup, think about what I have learned, and hope for some more busy months.

Tags: General

Roller 0.9.6.3.

A new bug-fix release of Roller is now available on <a href= "http://sourceforge.net/project/showfiles.php?group_id=47722">Roller's SourceForge download site. No new features have been introduced since the original <a href= "http://www.rollerweblogger.org/page/roller/20021022#roller_0_9_6">Roller 0.9.6 release, but a <a href= "http://opensource.atlassian.com/projects/roller/BrowseProject.jspa?id=10000&report=changelog">bunch of bugs have been fixed.
Tags: Roller

Roller update.

FreeRoller seems to have stabilized, we've fixed a bunch of <a href= "http://opensource.atlassian.com/projects/roller/IssueNavigator.jspa?reset=true&decorator=printable&pid=10000&fixfor=10013&mode=hide&start=0&tempMax=1000">bugs, and I've branched Roller 0.9.6 so we can start with Roller 0.9.7 dev in the main line. I'm planning on releasing Roller 0.9.6.3 tomorrow.

Tags: Roller

Rotor 1.0.

Sam Gentile announced the release of Rotor 1.0 today. Rotor is a Microsoft implementation of the Dot-Net Common Language Infrastructure (CLI) and C# that is released in source code form for Windows XP, Mac OSX, and FreeBSD. Note that the Rotor <a href= "http://msdn.microsoft.com/MSDN-FILES/027/002/097/ShSourceCLILicense.htm">license is NOT open source. If you want an open source implementation of the Dot-Net technologies, look at Mono which is licensed under GPL and LGPL.
Tags: Microsoft

The dot-Net perspective.

Cedric Beust pointed out that the Win Tech Off-Topic mailing list has been discussing recent J2EE vs. .Net benchmarks. I wanted to get the .Net perspective too, so I joined the Win Tech Off-Topic Yahoo Group to take a look. As you would expect, the Microsoft fans have a different view of the benchmarks than us Java bloggers.  I found no great revelations, but reading the thread was somewhat entertaining.  It went something like this:
  • Wow, what an ass whoopin
  • Yep and one of those $40,000 app servers crashed!
  • Rickard says the benchmarks were a scam
  • Who the hell is Rickard, why would you trust a dreambean?
  • Rickard is an expert, I would trust him more than The Server Side
  • Rickard and The Register and anti-microsoft conspiracy nuts
  • Lots of talk about the "appeal to authority" argument
  • Lots of talk about whether the nickname "M$" is hate speech or not
  • The benchmark was flawed, .Net and J2EE performance are similar
  • Price/performance favors .Net because the app server is free with the OS
  • Look at that anti-Microsoft stuff on Russell Beattie's site, that guy is sick!
Just as rambling and crazy as any thread you'd find on The Server Side. I guess that is why they call it "off-topic." Why do I waste my time like this?  I should have bypassed that and turned my attention first to Ted Neward's nicely balanced article on the topic: The Petstore...Again.
Tags: Microsoft

Bloated Development Kit.

SharpDevelop, an open source (GPL) IDE for C# and VB.Net projects, seems like an inexpensive and fun way to get started with some .Net education. All you need is the .Net SDK and you are off and running, right?

Yep, all you have to do is to download the .Net SDK and start hacking away. But wait, the <a href= "http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml">.NetFramework SDK is a 137,363,456 byte download. And that is not all, if you want to redistribute your .Net apps you'll also need to download the <a href= "http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/MSDN-FILES/027/001/829/msdncompositedoc.xml">.Net Framework Redistributable, another 21,827,584 bytes. And you thought the JDK was bloated!

Tags: Microsoft

The Andy Oliver report.

Andy published a <a href= "http://www.superlinksoftware.com/cgi-bin/jugwiki.pl?AndyReviewsEclipse">review of the Eclipse IDE on the <a href= "http://www.superlinksoftware.com/cgi-bin/jugwiki.pl?HomePage">Triangle JUG's Wiki. I agree with just about everything he says. Like Andy, "I'm not really a 'real' IDE user. I drop into vi and start clacking away like it was second nature at the first sign of the IDE getting in my way. And I use ant to build EVERYTHING." With Netbeans, I was always dropping back into vi. With Eclipse, I never feel that need.

In other Andy news, Andy <a href= "http://www.trilug.org/%7Eacoliver/hackinglog.html">mentioned today on his Hacking Log the possibility of a joint venture with the Triangle Dot-Net Users Group and the Triangle Java Users Group: a Dot-Net vs. J2EE shootout. Now, that sounds like a fun meeting.

Tags: Java

FreeRoller upage continues!

Don't let it stop.
Tags: Roller

Theme experiments.

<a href= "http://www.raibledesigns.com/page/rd/20021103#the_blogging_roller_has_a">Matt and <a href= "http://greg.klebus.com/blog/index.do?date=20021103#225825">Greg noticed that I've been futzing around with my templates. Yes, it is fun and yes I fixed my background - thanks Matt. I'm trying to understand CSS a little better. I'm still experimenting so expect more changes.
Tags: Blogging

Incompetence and betrayal.

It has been a week now since the TSS published The Petstore Revisited, but I am just now getting around to reviewing the story.  

On Monday Oct. 28, 2002, The Server Side published (TSS) The Petstore Revisited.  This benchmark report compared Sun's example J2EE Petstore application with some performance revisions added by TSS to a Microsoft written dot-Net clone of the Petstore.  Respected open source Java guru Rickard Oberg quickly reviewed the report, found many flaws, and published a rebuttal the very next day. Rickard updated his rebuttal with more information and links to other's views throughout the week (but he missed Rafe's comments). On Wednesday he was Slashdotted.  

As the week progressed, the outcry continued, and the full story was revealed:

  • the benchmark report was seriously flawed in many ways,
  • the J2EE Petstore performance revisions done by TSS were inept at best,
  • Microsoft paid TSS to do the benchmark,
  • TSS is essentially a Microsoft business partner,
  • and TSS worked with Microsoft to coordinate the dot-Net victory media spin.
If you take the time to read Rickard's review and the comments that he links to, it is clear that dot-Net did not defeat J2EE, but Microsoft certainly did lay waste to The Server Side's reputation.  The TSS benchmarks taught us nothing about the relative merits of dot-Net and J2EE, instead we learned about incompetence and betrayal.

If you are concerned about the relative performance of dot-Net and J2EE, read the Pet Shop Boys write-up at Larry O'Brien's Thinking In Dot Net weblog:

Every indication that I have seen is that, currently, the two platforms are quite comparable in run-time performance of strictly comparable code. In my experience, one of the two platforms displays a small performance advantage in the majority of programs, a performance advantage which I absolutely, positively believe to be irrelevant to the issue of business performance in an enterprise-level application.

Tags: Java

FreeRoller still up.

Looks like FreeRoller is still up. How about that!
Tags: Roller

Resolution?

Anthony has found and fixed what looks to be the source of the FreeRoller crashes. I'm keeping my fingers crossed and I will keep you posted.
Tags: Roller

A break.

I've been pretty busy lately, with a software release at work coinciding with a software release at home and the ongoing FreeRoller difficulties. I need to burn some vacation time so I'm going to take a couple of days off and relax around the house. I'm not sure if this means more or less blogging. Probably more.
Tags: General

Tracking down the FreeRoller problem.

We've been having a helluva time tracking down the problem that is causing <a href= "http://www.freeroller.net">FreeRoller to crash two or three times each day.  By "crash" I mean that FreeRoller gets slow, stops responding to hits on Roller's Velocity-driven pages, and eventually seems to lock up Tomcat. Once Tomcat is locked up, you will started getting "Document contains no data" errors in your browser.

Here are some of the things I've been working on to resolve this problem:

Ensure that resources are released

Roller uses Castor JDO and the Velocity DataSourceResourceLoader for all database access, so Roller has to trust those components to use and release database connections properly.  Every time Roller gets a database connection (a JDO Database object), it uses that connection within a try block and releases the connection within a finally block.

FreeRoller uses Roller on Tomcat with DBCP connection pooling <a href= "http://jakarta.apache.org/tomcat/tomcat-4.0-doc/jndi-resources-howto.html">via JNDI and the MySQL JDBC drivers. We have not be able to figure out how to configure DBCP to get debug informaiton on the number of database connections in use. If you know how to do this please drop me a line.

Ensure that exceptions are being handled properly

There were a number of places where exceptions were being blown out to Tomcat instead of being handled properly by using a response error code.  There was also one place where an exception was being thrown from within a catch block.  None of these should cause a crash, but I was guessing that perhaps one of them was tickling a Tomcat or Java VM bug.

Look for infinte loops and infinite recursion

I found and fixed an infinite loop in the error.jsp file which used itself as its own error handler.  That bug was very easy to find due to the big stack trace and stack overflow exception in the Tomcat logs.  

There could be other problems with infinite loops and recursion, but I have not found any evidence of these problems in the FreeRoller logs.  Weblog templates and weblog entries are treated as Velocity templates, so it possible that a weblog author could introduce an infinite loop or infinite recursion.  Roller tries to protect against this in the Roller macros.includePage() and macros.showWeblogEntries() directives, but we can't offer protection against a truly malicious user.

Test under heavy load

FreeRoller runs on Tomcat 4.0.6 and MySQL on Linux.  So, I setup Tomcat 4.0.6 and MySQL on my Redhat 7.1 box and tried some stress tests.  I tried using JMeter, but it kept on running out of memory.  I eventually found Openload and set it up to hit http://snoopdave/roller/page/test1 (a pretty heavy page) and http://snoopdave/roller/rss/test1 with 5 clients on each.  I configured Roller with a session and page-cache timeout of 2 minutes so that the database code gets a workout.  I ran for several hours at heavy load with no ill effects and the number of JDO Database objects never exceeded 20.

Even with a new 0.9.6.3-pre1 build of Roller that addresses the issues above, FreeRoller still had a crash today.  I'm baffled.  If you have any suggestions for testing or debugging tools or approaches, please let me know.  Free feel to browse the code ;-)

Tags: Roller

Roller docs.

I updated the <a href= "http://rollerweblogger.org/userguide/roller-ug.html">Roller user guide for 0.9.6. It is not perfect, but it is better than nothing. I also posted the <a href= "http://www.rollerweblogger.org/javadoc/index.html">Javadocs for Roller.
Tags: Roller

MSBlog.

With the arrival of spam in the world of weblogs, can the arrival of Microsoft be far behind? Spam arrived on the internet in 1994 and the very next year in December 1995 Microsoft announced its massive assault on the internet with ActiveX, Java, a web browser, etc. It won't be long before we see <a href= "http://www.dashes.com/magazine/backissues/microsofts_weblog_software.php"> Microsoft Weblogger 1.0 down at Best Buy.
Tags: Blogging

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