Response to FW1 list to clean the air


Response to FW1 list to clean the air

Posted by Luis Majano
Dec 17, 2010 21:11:53 UTC
Since my response got moderated and not posted on the FW1 mailing list over at http://groups.google.com/group/framework-one/browse_thread/thread/ea0664334a06e565, I am posting my response here in my blog to clean the air about the comments on this post.

I, in over 5 years of doing ColdBox and open source projects have never responded to harsh criticism or name calling about ColdBox or my open source projects as I always let the product do the talking. However, I think this time, I need to clear the air about some of the comments in order to lay out facts. Comments will NOT be moderated in this entry, so speak your mind.

So here is my response:

Hi everybody I dont usually answer to things like this but i am making an exception today:

Here are some facts for you:

ColdBox was developed on the fact of performance when I worked for a Carribbean resorts chain. It sustained over 1.5 million requests per server per day. So saying that ColdBox's performance is lacking or not achieveing the 80%, then I beg to differ. It has been a solid core powering mission critical applications for over 5 years now. 5 years of investment in performance, tuning and what works when you need stability, extensibility and performance; at one point we worked closely with Adobe to fine tune not only ColdBox but ColdFusion MX. This is not a brand new concept or an itch I scratched. It was built for performance and to fill the gap in a brand new way, conventions. Unfortuantely, in your job you mention Sean, you where using a very early build of 3.0 where things where in flux and in development, with that comes issues like any other project, buggy builds and concepts that are still forming. So misleading your group by saying its buggy and not extensible, is saying that something that is not fully cooked tasted like crap.

* Multi-domain caching (ColdBox isn't designed for multi-domain sites according to Luis)

It is since M4 as it was a ticket since the beginning of 3.0 and you knew that as I specificaly mentioned it, so again, why misrepresent, Also, tell me what caching libraries exist in ColdFusion that can accomplish as much as CacheBox does within ColdBox? Event caching, partial caching, purging mechanisms, etc?

* Multi-domain SES URLs (see above)

Also since M4 as it was a ticket since the beginning of 3.0, I even gave you a solution for it. What other library offers the ability to do URL mappings in ColdFusion like ColdBox does, with REST enabled services, extension detection and more? Again, why misrepresent it.

* Dependency Injection is lazy and doesn't mix well with ColdSpring

(Luis said either use ColdSpring for everything or use ColdBox injection for everything - don't mix them) ***

I said don't mix them because of consistency like in any other project, this was more a lack of architecture in the project that a problem with the libraries. Large enterprise applications use ColdBox DI (wirebox) and have no issues as much as you guys did due to lack of knowledge in it. At ESRI, which is no small shop, we discarded ColdSpring due to its contension issues (Which Mark Mandel, awesome mate, has fixed on CS2), and have been using WireBox for over 2 years now with incredible success.

* We ran into countless bugs in various areas that clearly other people don't use (including LogBox, the MXUnit test harness, i18n...)

That's what happens when you are in early alphas of new 3.0 and those are features that are widely used since those inception days. So saying that early versions of LogBox of enhaned i18n are buggy seems to me to misrepresent things. Also, what other libraries offer as much testing facilities as ColdBox for itnegration testing, model testing, mocking, etc? Again, its ok to comment on finished products, but don't misrepresent unfinished products.

* Performance analysis shows early all the application's time is spent in Reactor and ColdBox.

I refer to point number 1 and the concept that performance is where ColdBox shines, plus the majority of the time is not the framework that adds performance issues, but developer code. And all the time spent in coldbox from that analysis was getting and putting values into the request. Plus Reactor is a hog. I can refer to you over 20 different clients with over 100 times the traffic your project had, with extreme success and even third party evaluations of the core. IBM web consultants even did a report on ColdBox and was amazed at its stability and extensibility and this was in version pre 1.0. If I could make the report public, I would.

>LogBox is a great example of this. It's very sophisticated but there are a lot of common use cases it doesn't support well

You where testing a very early version of LogBox and you also helped in the realization of much of its features thanks to your comments. There are no libraries in the cf space that can provide as much as LogBox and if improvements can be made, they can be made, but discarding it like you say, really seems to me that you dislike anything ColdBox as it does not fit your palatte, more than what the software provides or can provide in the future.

>That just added to me feelings about frameworks having gotten too big, bloated and complex

I am sorry to say this Sean, but then Django, Rails, Grails, etc are all bloated and complex pieces of software that nobody should use.

>ColdBox is an amazing achievement and for a large number of web apps it's "good enough" for the 80%. Once you start to need to customize the features, you start down a path where it's often more work to do the customization than to write your own from scratch (especially if you find yourself fighting against the framework due to design issues or bugs).

I think that if this where true, then I would not be in business Sean. Flexibility in the core is what makes it shine and flexibility is where most consulting is done at Ortus Solutions. Benefits of extensibility and customizations is what drives business, so I guess if this were not true, then I would not be doing well.

Sometimes I feel like you really dislike ColdBox, and its ok, I am not in a popularity contest but in the business of driving innovation and creativity for ColdFusion. I never speak badly or comment like you have about any other frameworks, projects or memebers . I respect their teams and all the personal time involved in them. To me all frameworks are achievements in the CF community that deserve respect and encouragement, like machII, fusebox, wheels, model glue, coldspring, etc. I think that innovation is driven by healthy respect between peers and solid but tasteful criticism. So I finally break my silence of responding on threads because I think its time to concentrate on being productive rather than speaking illfully about other projects. I respect you as a developer and a friend, but I think that your misrepresentations are not cool. I can totally understand not being able to work in the framework of your choice, I would feel the same if I did a project in FW1, I would not like it even thought its FW1 concepts come from ColdBox!, because I am the author of ColdBox. That doesn't mean that FW1 is not good or lacks, it is because of your personal attachment to it. I think your framework is great and I commend you for your time invested in it, your dedication to it and your wanting of popularize it.

Thank you for your time

Comments are now closed

 


Sami Hoda

Responded to your comment on the list, and pasting here.


Sean,

Like Luis, I have yet in all my years to get involved in a conversation like this.

In reading your post however, the only thought that ran through my head was: Is this really Sean?

You always stand up for frameworks in general, and always put people in their place who make strange or unqualified comments about frameworks. I'm not saying your comments are unqualified, but in the past, whenever you've had criticism, I've seen you be the first to offer up fixes and get involved in the projects themselves.

Your comments really caught me as uncharacteristic. Perhaps something has changed?

I've been following Luis' work since he made it public. I've seen him add amazing stuff, and my discussions with him have proven him to be very humble and insightful.

Could ColdBox still use some work? Sure. Does it have bugs? Yes. I follow his Assembla project, and see him fixing and improving stuff on a daily basis. Luis tends to dream big, and that is why so much changes from milestone to another.

But you know all this... and what comes from working with pre-release software...

Sorry - just felt like some line was crossed. I pushed you to look into ColdBox a while back via IM, and I remember telling Luis that Sean is going to take a look, and we both were really excited for the frameworks and the suggestions you'd offer, thats why I felt obliged to chime in here.

Sami

Chris Hayes

Luis, I'm not going to jump into this debate as the infighting lately in the CF community is out of hand. However I will say that I maintain 2 very large ColdBox applications for a Fortune 500 company that run on very modest hardware.

The first app sustains in excess of 200k uniques a day on a meager VM with only 512MB of memory allocated and it does so with aplomb.

The second absolutely mission critical app churns out almost 900k uniques a day on 3 VMs (for redundancy) with 1GB of ram on each instance. This app also churns out reports and scheduled tasks in addition to serving typical content to end users. The entire site is heavily AJAX driven and many requests per page are not uncommon. Not once in the last year has the app crashed nor shown any indication of memory leakage or undue processor time consumption.

I credit ColdBox for a large portion of that success.

den

Great response, Luis!

There has been a lot of drama lately. Must be that time of the year. It's exciting and all, but I'd rather the excitement came from other areas.

Anyways, I think coding can be frustrating sometimes. Existence can be frustrating sometimes. It's just the way "it" is.

Here's to not letting the frustrations bring us, or others, low-- and to celebrating the good stuff that we're surrounded with!

Cheers!

Curt Gratz

Here was my response to on the list. My comment was also moderated which is to bad.

I would have to disagree with Sean on some of his comments about ColdBox.

  • Performance analysis shows early all the application's time is spent in Reactor and ColdBox.

I have used ColdBox on several large scale project (1 million plus requests per day) and found that it does very well handling load and scaling without an issue.

  • Dependency Injection is lazy and doesn't mix well with ColdSpring

I have used both interchangeably on projects without an issue. I probably wouldn't recommend it as more frameworks introduced doesn't make sense if they do the same thing, but it can certainly be done. And yes, ColdBox/WireBox DI can be lazy, but it can also be cached reducing any performance hit after its first used.

  • We ran into countless bugs in various areas that clearly other

people don't use (including LogBox, the MXUnit test harness, i18n...)

Ah pre-releases. I have never had such problems using the released builds.

  • Multi-domain caching

This can now be done now with CacheBox, you can also setup distributed cache using ehCache as a provider. Pretty sweet stuff.

Just my two cents.

Thanks,

Curt Gratz

Glyn

I feel you should always pick a framework dependant on your needs. ColdBox is fantastic, I love working with it. On 80% of my projects ColdBox always fits. I really hope this sort of talk doe snot stick, its silly!

FW/1 has some good points and bad, but then so does FW/1. I feel CB is much better for full large scale projects, it makes larger projects for more scale and helps performance due to having more control, control I would not get without a framwork.

Shame on Sean Corfield for this... FW/1 or CB it should come down to the project.

Eapen

I just wanted to jump in and say that your responses are only moderated in the FW/1 group if you are a first-time poster (for obvious reasons) as mine was when I first joined the group. I haven't ever seen a post being moderated for any other reason.

I have not used Coldbox before but from Sean's reply, I never got the impression that he was criticizing Coldbox. He made it clear that he was working on an alpha version and anyone who has worked with alpha software will know to take it with a grain of salt.

Regardless of the performance, for a simple project, I would prefer using a single Application.cfc (with 1627 lines including comments and whitespaces) rather than a massive fileset (or even a trimmed down fileset if some dependencies can be excluded). I am sure Coldbox has its advantages and I hope to dig into it for some future project.

Jose Galdamez

I am a firm believer that any quarrel, no matter how big, can be resolved over a dinner with pupusas, horchata, fried yuca, tamarind drinks, and flan. Come on guys. What do ya say?

I can't really contribute to this discussion because I don't use either framework (although I own the ColdBox book so any day now...). At any rate, I was looking around at job postings earlier this morning and I found one just two miles from where I live. I was a bit shocked because a) it was for CF at the University of Maryland night school and b) it mentioned ColdBox! This is significant because with budgets being tightened everywhere, schools typically have less money for new hires, software licenses, and infrastructure in general. Also, this wasn't the only ColdBox-related posting I noticed this week.

It is nice to see support for both CF and ColdBox out there.

Here's the URL if you are interested.

http://www.washingtonpost.com/wl/jobs/JS_JobSearchDetail?jobid=30178302&jobSummaryIndex=0&agentID=&xfeed=1&wpsrc=AG0001607&GCID=C17812x014-IT&keyword=no_keyword

Sean Corfield

Like many Google mailing lists first posts by members are always moderated to keep spammers at bay. As soon as I saw there were comments pending, I set both you and Curt to "Always Allow".

A little patience might serve folks well instead of jumping to conclusions and acting the victim. I think we have too much of that already.

As for responses, I'm not going to dignify this saber-rattling with a response on your blog. I've responded to both you and Curt on the mailing list, where the discussion belongs. Frankly, I'm a bit disappointed in you for rushing to your "pulpit" to cry public outrage...

Curt Gratz

Sean,

Sorry for the mistake and thanks for the reply.

I agree with your comment about "saber-rattling" as it is not very productive.

I also was just sharing my experience with ColdBox which seem to have been more positive then yours.

Thats one of the things that first drew me to ColdFusion and the CF community. Everyone was also so encouraging of eachother and there projects and other projects that did similar things. They all wanted to see the language expand and push the boundaries and be creative. Not that the community isn't still that way to a point, but I don't want to see us get fragmented.

Curt

Site Updates

Entry Comments

Archives

Entries Search