Blogroll: Seam Adoption, FreeMarker Experience, JRuby Progress

by Tim O'Brien

Seam adoption rate

Gavin King notices an uptick in Seam adoption rates:

Until recently, they had been tracking pretty much level - Seam downloads had been growing slightly slower than Hibernate downloads did, about one month behind. But recently, the downloads jumped up, and Seam after 18 months is now where Hibernate was after almost 2 years. So, for now, we are doing better than Hibernate did.

One programmer's Velocity vs. FreeMarker comparison

In (older news), also on the Hibernate team blog, read this interesting comparison of Velocity vs. FreeMarker, while this is from last February, it's a summary comparison of one programmer's experience with Velocity and FreeMarker.

JRuby News: ActiveRecord Fully Supported, JRuby nearing 1.0

Charles Nutter updates us on the progress toward a JRuby 1.0 release expected "within the next several weeks".

Also over at Charles Nutter's blog is a status update on JRuby ActiveRecord support, and performance. Summary, ActiveRecord is 100% implemented and there are zero test failures against MySQL. The JRuby folks have seen a doubling of performance benchmarks in the last month.


Will Glass
2007-04-11 20:56:47
Just as a quick side note: almost all of the issues Max found frustrating in Velocity in the rather old post linked to above were addressed with the release of Velocity 1.5 this past March. In particular, there's been a number of enhancements related to application integration and error reporting. Logging has been reduced, exceptions are all unchecked and passed through, error reporting is more detailed and precise. This is in addition to new features such as decimal number support, literal maps, new security enhancements, and many many bug fixes. More details at:

Will (Velocity committer)

Tim O'Brien
2007-04-12 11:46:12
Every time anyone dares mention FreeMarker, the Velocity people pop out of the woodwork to leave snide comments, and every time someone mentions Velocity Jonathon pops out of the woodwork work to start a long flamewar. Some people prefer FreeMarker, some people prefer Velocity. Some people use both, Max doesn't just point to specific problems in Velocity, he talks about how he prefers it for what he is doing. Will, sorry if you didn't like the fact that it is old.

Tim (neither a FreeMarker or a Velocity committer)

2007-04-13 06:32:26
ouch, that's harsh! hardly meant to be snide. Just wanted to update with more recent news about Velocity. apologies if it came across that way. (actually, I've never commented on a blog post about Freemarker).

Jonathan Revusky
2007-04-17 15:52:57

You state that "almost all of the issues" that Max found frustrating have been addressed; I doubt very much that this is really accurate. In any case, feel free to ask Max Anderson whether he has the slightest interest in going back to using Velocity. In general, can you find a blog entry like Max's where somebody relates how they switched from FreeMarker to Velocity and were suddenly so happy? No, I don't think so. Go google stuff like "freemarker velocity switch" or "freemarker velocity migrate" and you will just find loads of people who switched from Velocity to FreeMarker and never looked back. You will find that all the migration was from Velocity to FreeMarker. Period. And of course, the vast majority of people who switched from Velocity to FreeMarker never wrote a blog entry about it.

I will re-iterate what I have said about this topic before. I believe that a fair-minded evaluation -- even bending over backwards to be generous to Velocity -- would conclude that the latest Velocity release is not competitive with versions of FreeMarker from 4 or even 5 years ago.

I also believe that a fair-minded evaluation of the work that this latest Velocity release embodies (several years after the last major Velocity release) would conclude that it incorporates an amount of work that a single motivated individual would do in a matter of a few weeks -- possibly far less, maybe even a few days. For Velocity to be competitive with versions of FreeMarker from even 4 years ago, a huge amount of forward movement would be necessary and this has obviously not taken place.

I really question whether it is in good taste to announce to great fanfare that you have made all this progress and have this new release, when it obviously does not bring it up to being competitive to the state of the art of 4 or 5 years ago. I simply cannot imagine myself behaving in an analogous manner.

What you're basically doing is leveraging the fact that, once upon a time, some guys wrote a half-decent web server in C called Apache, and now, for some reason, people think that anything with Apache in the name must be wonderful and all kinds of people in the "echo-sphere" think that anything you announce must inherently be newsworthy.

But the question is: what value is there in encouraging people to waste their time with something that is obsolete -- particularly when it is quite obvious that you do not have any gumption to put in the work to make it competitive in its space. Actually, not only do I question whether this is in good taste, I have doubts about it on ethical grounds.

Now, getting back to Max Anderson's blog entry, Max is clearly being quite diplomatic in his comments about Velocity, but there is a clear undercurrent of frustration at having wasted so much time with Velocity. Why waste people's precious time, Will? If you want to talk the talk, walk the walk, i.e. put in the work to make your product competitive in its space.

Jonathan Revusky
2007-04-17 16:27:27

I appreciate your providing our project with publicity by linking Max's blog entry. In general, I find you to be a pretty good guy. (You now sense that I am going to say some harsh things... and you're right. :-)

This comment of yours in which you say, for example: "Some people prefer FreeMarker, some people prefer Velocity" -- this just stinks of a certain kind of... relativisim. It projects this "look what a fair-minded guy I am" but it really reeks of... spinelessness.

People play at this relativistic kind of pseudo "I'm being such a fair-minded balanced reasonable guy" kind of stuff in various contexts. One that comes to mind, for example, is the religious whackos in the United States who want to teach something called "Creation Science" in the schools alongside things like the theory of evolution or the big bang theory, say.

They will argue that they are just being fair and balanced and want the students to have a choice between the 2 perspectives.

But look, c'mon.... on the one side, you have real scientific theories and on the other side, you have the biblical creation story. And, at the risk of offending you if you are a religious whacko yourself, the bible is basically primitive mythology ... folklore. It is not something that should be presented on a par with real science in a science class.

Or to bang further on the point a little, choice is valuable, but that must mean real choice. If you go into a bakery and you can buy all kinds of bread -- French baguette, rye, sourdough, multigrain, etcetera, all fresh baked, that is real choice; it adds value.

On the other hand, to be able to buy fresh baked bread of a certain type and stale bread of the same basic type is not really a choice in any but the most quibbling sense of the word; such a "choice" does not add value. Certainly, at this point, the FreeMarker-Velocity "choice" is basically like this one.

I'm sure you see my point in the above two cases: there is a kind of sophistry where you maintain (at least implicitly) that all choices have value. But they don't really. You can't seriously be offering people a choice in a science class between Evolution and the book of Genesis or in a bakery between fresh baked bread and stale bread.

But getting back to the point at hand, saying "Some people prefer Velocity, some people prefer FreeMarker" is really quite inaccurate. It is true that Velocity has many users. However, I think we both know that this is because many people went to, found that, and never seriously evaluated anything else. A project like FreeMarker is operating at a serious visibility disadvantage, particularly when there is an "echo-sphere" that glowingly reports on every shovel-full of manure that ASF heaves over the fence...

Now, you can google as you will, but you will not find a blog entry like Max's where the person, after serious evaluation of both tools, found Velocity to be better. All the movement has been in the other direction. All of it. Webwork (now Struts 2) switched from Velocity to FreeMarker a couple of years ago. Hibernate, JForum, just to mention high profile OSS projects. There is no comparable case of a migration in the other direction.

What I am outlining here, I think is just indisputable fact. The raw facts of the matter are devastating and this whole relativistic "Some people prefer Velocity, some people prefer FreeMarker" is, I'm sorry, not really fullly respectful of the truth.

Now, as for me starting a long flamewar, well... sigh.... at least you're not accusing me, as somebody once did, of "single-handedly perpetuating a flamewar". (Somehow the people on the other side of it who were the ones throwing all the mud were innocent victims of my "single-handedly perpetuated flamewar".)

But anyway, if the flamewar in question amounts to me making a series of factual statements and the people on the other side of it making no attempt to rebut these statements or arguments, but simply engaging in personal attacks and other nonsense, what can really be said about this?

Now, okay, maybe some of my comments above are a bit harsh, Tim. I understand there is some "game" of journalistic impartiality you're supposed to play, but I dunno... aren't you going a little too far? The facts of the matter here really are quite devastating. Certain people want to pretend that something that is technically obsolete, and bairly even maintained in any real sense, is something so exciting and newsworthy -- I guess, for their own self-promotion careerist purposes. To what extent should people in your role play the "impartiality" game (as I outline above) as opposed to simply calling a spade a spade?

Tim O'Brien
2007-04-17 16:57:23
I stand by what I said, I use FreeMarker for a few projects I've worked on, and I use Velocity for others. Various considerations go into the decision making process, and I wouldn't say that there is even a single objective scale on which Velocity and FreeMarker can be rated. For example, on one very large project I worked on, we decided to go with Velocity specifically because it did not have the syntactical sugar that FreeMarker offered. A few people on the team, saw Velocity as a better fit for the particulars of that problem at hand. On another project, I had requirements that fit nicely with the built-ins and XML integration that FreeMarker provided.

So, no, not FreeMarker better than Velocity - again, not a war that needs to be fought. Yes, FreeMarker is more appropriate for some problems than others, and likewise with Velocity. Call that relativism *shrug* It is my opinion, I use both, I prefer FreeMarker if the particular problem needs templating, but I also use Velocity every now and then where you would least expect it.

Jonathon, I take it back, you don't start flamewars, you engage in extremely motivated arguments that, sometimes veer into ad-hominem attacks. Contrary to the current civility meme, I've never said ad-hominem attacks are 100% bad. Sometimes people need to be called to account for what they do. But, I think that, all too often, people ignore the reason in your argument and latch on to the personal.

Lastly, call it arbitrary. I'm closing off the comment thread. I think you've made really valid points Jonathon, but I don't want the comment thread turning into a long back and forth. I'll give Will the opportunity to respond specifically, but, at least for me, the comments on this particular post, aren't the place for it right now.