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]