Adrian Tarau wrote:
Jonathan,

I must confess you are above my expectations/past experiences. When I post your 
"nice words" on the mailing list(development list by the way) I didn't knew who 
you are. I thought you are just a regular user(or even a FreeMarker commiter) who is way 
to passionate about FreeMarker and tries to trash the Velocity name just because he had a 
bad experience with Velocity.
When Nathan Bubna wrote me and told me who you are,

You have me at a disadvantage on that. I have no idea what Nathan Bubna would have said. I tend to assume that it would be a very biased, distorted version of reality.

I realized I just started some old war between Velocity and FreeMarker(after I 
read some of your old posts).

That's interesting. Here's a question. In examining those various old posts of mine, do you ever see anybody taking issue with anything I say there on factual grounds?


So there was not my intention to trash the FreeMarker lead developer name 
because *I didn't knew who you are*.

World like "dipshit", "despicable", don't sit very well near "lead developer" or even 
"software engineer".

WTF do you think this is? Some kind of limp-wristed high society tea party? Yeah, I called you a little dipshit. You posted a private message on a public forum. And then you told a pathetically obvious lie about it afterwards, saying that you responded "automatically", when, of course, an automatic response would have just been sent to me, since that's what reply-to would have done... in general, if you behave like a complete jerk, posting private email messages on the public forum and stuff like that, see what happens. Try pulling that stunt in various open source communities. I think you'll find that my response was on the more civil end of the spectrum.

I would expect something like this in a bar, but not on a mailing list.

Reading your last post, I realized you don't get it and probably you don't 
understand the concept. !!!IT'S ALL ABOUT RESPECT!!!.


Adrian, you're a very confused individual. You keep saying things that show that you have some real conceptual issues.

Respect is not something owed as a matter of course. Respect is something you earn. In particular, that's how the open source world works, you earn respect. And, for better or worse, it's a world where fools are not suffered gladly.

Respect is earned and the people in question have done less than nothing to earn my respect. (And one certainly doesn't earn my respect by posting my private emails to a public forum.)

I don't care how many bad designs or weak points has Velocity, you should treat the Velocity community, the current developers, past and current owners with RESPECT.

Well, even if any of these people had ever done anything to earn my respect (which they definitely haven't) that would be no reason for me to be less than honest in a private note about Velocity. It is basically junk. I don't think that, before you posted my private email, I had ever said anything like that on a public forum. But since the cat is out of the bag, yeah, that is my honest technically based opinion. I mean, it's TERRIBLE, it's SHOCKINGLY BAD. The first time I really looked closely at the guts of Velocity was when I wrote this utility that converts VTL to FTL. It works by building up the syntax tree using Velocity code and then spitting it out in FTL. So I had to look at Velocity innards closely. I had never had such a high opinion of the thing, but that was a real eye-opener to see how shockingly bad it was, the way certain things were implemented.... You know, probably there is no way to make it significantly better without undertaking a complete rewrite.

That's just the truth. The emperor is not wearing any clothes.

Jonathan Revusky
--
lead developer, FreeMarker project, http://freemarker.org/

Velocity or FreeMarker: Looking at 5 Years of Practical Experience
http://freemarker.blogspot.com/2007/12/velocity-of-freemarker-looking-at-5.html



> If you really want to help somebody(who reached the end of the road with Velocity) just reply with a link to FreeMarker and let the user decide, before you will write long(or short) paragraphs about ... you know ... junk.


Jonathan , there are other ways to bring new users to FreeMarker...your way is 
completely wrong.

You, as a (past) Velocity user are entitled to wrote about your bad experiences with 
Velocity and thanks to the current search engines your words will be "visible" 
in the first 100 results in any search engine. If the Velocity developers won't take 
action to improve the engine and all those bad experiences will pile up, Velocity will 
die by itself, you don't need to help it. Or you could help, but do it in a different way.

Try to get this and you will sleep better.

-----Original Message-----
From: news [mailto:[EMAIL PROTECTED] On Behalf Of Jonathan Revusky
Sent: Sunday, March 09, 2008 1:21 PM
To: dev@velocity.apache.org
Subject: Re: Call a velocity macro

Adrian Tarau wrote:
Jonathan,

Basic common sense? Based on your long posts on Velocity forum, I think I can 
ask you if you have some common sense.

Adrian, you little dipshit, whatever long posts I wrote on this forum were responses to other public posts on the forum. I wrote you a note in private and you responded on the public forum. That is the violation of nettiquette I am referring to. If you don't understand that you are not supposed to do that, as I said before, you don't understand much.

Well, it's not just that, Adrian. You're such a despicable hypocrite. I mean, why did you respond in public to a private note? Obviously to try to goad me into starting some kind of flame war or whatever. You try to goad somebody into responding and then you say "tsk tsk, look what a bad guy you are".

Typical stuff, but it's pathetic. I mean, you're pathetic, Adrian.

If you really think Velocity is a dinosaur, you could let him die(with some 
respect if you say it meant something 7 years ago).

7 years ago (maybe closer to 8 years ago) Velocity was written by Jon "Monkey see, Monkey do" Stevens as a copycat clone of an existing open source project called WebMacro. It was such a mindless copycat job that he even copied some rather strange limitations of WebMacro. One such thing was that WebMacro had no support for decimal numbers, only integers, probably because the original author had not got round to implementing it. You know, really, it's just like a dim student who copies another student's exam answers word for word, including the spelling mistakes.

The really humorous thing about this is that, at a later stage, when people showed up who obviously needed decimal numbers, Velocity maintainers (rather than just implementing decimal number support) spent all kinds of energy arguing that the lack of decimal numbers in Velocity was the result of some kind of profound philosophical thinking on their part,.. yeah, like they'd really thought about it and decided that integers were good, but decimal numbers bad. Of course, everybody who knew the history of the project knew that Velocity lacked decimal number support because it was a mindless copy of Webmacro, which in turn lacked decimal number support.

In any case, do you think that's really a very nice thing to do? You write a mindless copy of somebody else's work and then you use the apache.org projection to eclipse the original pioneering work? It's the kind of thing Microsoft historically does, but at least that's to make money, so it makes sense. The origins of the Velocity project really are in behavior that is somewhat pathological.

I mean, how would you feel about this if you were the original author of WebMacro? It's really not very nice. These really aren't very nice people.

Now, to be fair, all the original authors of Velocity, anybody who designed or implemented any significant part of the codebase, are long gone. What you have now is a set of poeple who have taken on the role of being "owners" of the project, because it's some kind of feather in their cap or something. But really, if you really look at it, what they're doing is totally masturbatory, putting out infinitesimal incremental releases of a product that is 6 years behind the state of the art in its space.

And again, aside from being rather pathetic, is that really a very nice thing to be doing? I mean, the problem is that a lot of people in this field are pressed for time and cannot evaluate everything properly, so many people see something is on apache.org, and they reason, okay, I'm using the Apache Web Server, or I'm using tomcat, so it makes sense to use the templating engine that comes from apache. So this, and basically anything on apache.org, gets a level of attention and usage totally out of proportion to its technical merit. So, you can see why people would end up thinking that Velocity is a reasonable option and use it.

The problem is, of course, that, eventually many people end up realizing waht's up with this. Consider what Max Andersen is saying in this blog entry: http://in.relation.to/Bloggers/AStoryAboutFreeMarkerAndVelocity
Here is a quote:

"The choice originally fell on Velocity since it was the biggest player around, and I added it naively thinking that the error and log handling could not be that bad if so many people were using it and if there were an issue it would be fixed soon. As time went by I learned that it was definitely not the case."

He's openly saying that he didn't research the alternatives, because it was highly visible and he figured it couldn't be that bad (though he later learns it is... :-)) Basically he's saying in code: "Jeez they tricked me, I thought this was something fairly up to date that was being properly maintained, but it's not. Don't be tricked."

If you think FreeMarker is the brightest start above the horizon,

Look, it's quite normal that I and my collaborators would take pride in our work. That's par for the course. What my blog entry I pointed to clearly documents is just how frequent it is that people start using Velocity, find it insufficient, and later migrate to FreeMarker. I pointed out that some of the most visible projects in the java world did this: Netbeans, Hibernate, Webwork/Struts 2. They all had significant investments in using Velocity for templating, and later switched to FreeMarker. That's what I'm saying here:

http://freemarker.blogspot.com/2007/12/velocity-of-freemarker-looking-at-5.html

I'm not saying "In my opinion, FreeMarker is great". I am saying that the people behind these projects I mention, surely some of them among the most talented java programmers around, did this Velocity to FreeMarker migration. That's the point being made. If you're going to respond to something, answer what the person is actually saying.

Of course, you don't have to trust the developers of Hibernate, Netbeans, or Struts 2, you could do your own evaluation and come back and tell people what you found out. That would be a much better use of your time than pathetically trying to flame me resorting to this kind of straw-man argumentation.

you should let the users to discover FreeMarker by themselves.

Well, that's an absurd statement in this context, because really, it's pretty obvious that Velocity, like Struts 1.x and other obsolete things, still has a large user base because of the visibility advantage that these apache projects have. If somebody in my position is going to create a better alternative, and just passively wait for people to find out about it, that is rather ridiculous. I tend to think that we don't do enough publicity for the project, but that's the way it goes, In the time I have to spend on the project, I prefer to hack code rather than write public relations stuff. And my collaborators are the same, no doubt.

If there is somebody out there looking for a template engine and he's going to stop to Velocity without evaluation other projects, it's his fault

Yes, it is his responsibility ultimately. However, much of the problem is that people don't have the time to evaluate everything properly, and often just choose the thing that's most visible in its space. Clearly that's what Max Andersen (to his later regret) did. Obviously, the people in all those projects I mentioned that switched to FreeMarker after using Velocity extensively for some time, if they had the decision to make over again, would have just used FreeMarker from the very start, since that would have saved them all transition costs, and they'd have been using the more capable tool from the start.

Yes, ultimately the developer is responsible for his or her choice of tools. However, when you're pushing something that's obsolete, and leveraging this apache effect to do so, you're increasing the probability that people will opt for that.... I mean, it's not a very nice thing to do. These aren't very nice people.

if fails(if he finally realized Velocity doesn't have all the features he needs). It's his bad, not because Velocity is a *junk*, is just because he didn't took some time to evaluate at least 2 projects. Even if you fail to choose the right project(the reason doesn't matter), it is still useful for you, everybody learns from mistakes. Even with Velocity, most of the problems will be on your project side. Those missing feature will not block you form releasing your project, I can tell you that.

That you can do a lot of useful work with something that is obsolete is not at issue. One could dust off that 386 in the cellar and fire it up and run some old wordperfect and lotus 1-2-3 and do a lot of useful work. The central point is whether people should be pushing something that is technically obsolete, as if it was state of the art. I submit that that is unethical and really, quite simply not a very nice thing to do.

Now, I was going to ignore your silly attempt to goad me by responding to a private message on a public forum. What finally got my goat, I think, was when Nathan Bubna referred to the proposed blockmacro feature as an "an exciting new idea" or something like that. I mean, that kind of thing just gets to be too much. I think JSP 2.x has had that for years too.

If you search after "java template engine" in Google, you'll find Velocity and 
FreeMarker, so it would be really hard to miss FreeMarker and choose Velocity(if you're afraid of 
that). Some people could use Velocity even if it lacks some features just because of the syntax, or 
just some other "stupid" reasons.

This is not about coding style, features and not even performance(even if it is an important aspect). Even if you do a code review, some similar rules applies : review the code and not the person(project), ask for the reason why the code is as it is, ask before accuse, etc, etc.

What are you talking about?

I'm not going to continue arguing with you why you shouldn't behave like this, I think if you didn't got it until now it is too late to try now. I will not be one who will "turn you to the light" :), that's my personal feeling. My personal advice is let the community to grow around you and let others live with their projects. In the end, everybody will win.

No, Adrian, everybody wins when the things being offered are all approximately state of the art. When you have people pushing something obsolete, at least some people lose. They waste valuable developer time with things that they shouldn't have wasted time with. That was pretty clearly what happened in Max Andersen's "Story about FreeMarker and Velocity" (http://in.relation.to/Bloggers/AStoryAboutFreeMarkerAndVelocity ) Not only did Max lose a lot of time with Velocity, the users of his HIbernate Tools project clearly did.

The basic logical fallacy you're engaging in is the idea that all choices are valid. I walk into the local bakery and they've got all kinds of bread, right? They've got french bread, german style dark bread, sourdough, rye.... I have choice and they're all valid choices. Yeah, that's a lot better for the consumer than only having one kind of bread.

BUT THAT'S ONLY IF THE BREAD IS ALL FRESH!!!

If the only freshly baked bread there is the rye bread, say, and the other choices are all several days old and stale and hard, then my ability to choose among different kinds of bread offers no extra value. Obviously, because there is only one kind of bread that is fresh. In fact, in this scenario of choices, the consumer would clearly be better off if the bakery only offered that one kind of bread, because then the he could not ever purchase the stale bread by accident. And of course, that becomes increasingly likely when the stale bread is displayed prominently as if it was fresh.

And what's the difference between that and Nathan Bubna gushing about exciting new ideas that have existed in competing products for 5 years or more? I mean, encouraging people to be so misguided about what the state of the art in the space is, it just leads people to waste their time.

The guy who started the original discussion (this time round, it's come up at least a few times before, but nothing was ever done) I wrote that guy a note in private (to which he did NOT respond in public, of course) and a while later, I have some further correspondence with him and he is now using FreeMarker. Just an example. Rational, pragmatic people have no particular interest in wasting their time. He sees that another project already has the features in mature form that he was starting to implement in Velocity, and bango, he just switches to that.

Best wishes,
Adrian Tarau.

PS. It was not my intention to reveal your private message, it was more an "automatic" reaction to the words "project", "junk",

You're lying, Adrian. It's was not an "automatic" reaction. An automatic reaction would involve hitting reply-to and it would go back to me. You quite consciously changed to the destination address so that it would go to the public forum.

"mine is better" based on my personal experience. My apologies to you.

I don't think I can accept the apology. I don't think I can accept an apology that (a) contains an obvious lie and (b) is in a message that is such a self-righteous lecturing tone.

Feel free to write a proper apology when you've cooled off.

Jonathan Revusky


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to