Thursday, March 29, 2007

Very Funny Link That I Found

I don't have time to dive in the endless examples of mental abilities of rentacoder team. But there is very funny link that I found. It's interesting to see how rentacoder owner blames Microsoft. Obviously mental abilities of rentacoder team do not allow them to read and understand the documentation of IIS 5.0 that came with every IIS 5 many years ago.

The url of the fun: http://rentacoder.com/CS/blogs/real_life_it/archive/2006/03/19/448.aspx

They can't stop me to laugh at them, if rentacoder hides this article there are copies at:
http://pages.citebite.com/p1s4t5s6s5ctb
http://web.archive.org/web/20060429110120/http://rentacoder.com/CS/blogs/real_life_it/archive/2006/03/19/448.aspx
http://www.webcitation.org/5OA68UZxe

This is the text with my explanations:

Real Life Microsoft IT
this title is lie, right title is "real life rentacoder mental abilities", "real life rentacoder stupidity" or "rentacoder - shame of the international global marketplace"

Classic ASP: Not ready for prime-time?
This title is silly, it is well described many years ago in IIS 5 documentation:"ASP should not be used for business logic. If you find that most of your business logic is embedded into the ASP, your application will probably not scale properly. It is true that ActiveX® scripting languages, hosted by ASP, are capable of accomplishing a great deal of business logic processing. However, if the business logic required for your Web application is more than trivial, then that business logic should be folded into a new COM component, rather than embedded in ASP scripts. "

The right title is "the code of rentacoder site: the biggest mistake of rentacoder team", "the biggest patch on the site for patches"

There is a VERY bad problem with Active Server Pages (ASP...or what is sometimes known as "classic ASP") which prevents it from being a viable system on which to build a "big IT" project. For 2 years we've been fighting a problem in which the IIS (Internet Information Server) 6.0 web servers will run fine for a while. But then after 18-20 hours, every pages will stop running properly and instead display random errors (that change from refresh of the page to refresh). The errors always say things like "Cannot find property or method" regarding classes that do exist, or "Cannot create object". The exact property or object changes from "refresh" to "resfresh"...even on the same page. Restarting will fix the problem for an hour or so...but then it reoccurs. Only a hard reboot will fix it for another 18-20 hours. And then the cycle repeats itself.
Obviously rentacoder team has overloaded the server. They have been fighting for years with their stupidity and blame Microsoft. There is vey bad problem with rentacoder: they are proficient to make patches and blame someone else for their mistakes.

We started a ticket over 2 years on this. Today Microsoft acknowledged the problem publicly with a KB article: http://support.microsoft.com/?scid=kb;en-us;914156

Obviously the stupidity of rentacoder is endless and Microsoft is their excuse.

Basically the problem is that ASP fragments the heap under certain conditions:1) When an app uses INCLUDE files 2) When an app uses significant memoryAnd it doesn't defragment the memory and as a result, will ALWAYS crash IIS in this way. The new restart services of IIS 6.0 don't help, becuase only a hard reboot can truly get rid of the defragmentation.
Probably the owner of rac is proud that he understood several technical terms. He uses every opportunity to show it. Probably he thinks that this way will prove that he is professional. :-)

Of course, two things that any site that has any sophistication has lots of INCLUDE files and any site that has any traffic uses lots of memory. If both of these apply to you, your ASP site is in trouble. This is what's called a "bug" in my book. I'm sure if ASP were MSFT's current technology they would have to fix this. But Microsoft has moved on to ASP.NET...so I suspect the incentive is pretty much nil.

Of course rentacoder team think that many people are so stupid like them. Probably because of the "buyers" asking for clone of google for $100.
If you look at the KB article, Microsoft gives a "workaround" (which is the same workaround that they suggested to us). The workaround is to rewrite your INCLUDE files as COM objects. The article sites a # of benefits like speed, etc..
If rentacoder team was able to understand IIS 5 documentation they will know the best practices and will not call it "workaround"

The KB was probably written by a systems engineer who knows alot about running systems, but has no idea how computer software is developed, and how impractical this workaround is in the real world. In a previous position we went down the COM object route. We did it for other reasons...because it was the Microsoft "best practice" at the time. It's obvious why it no longer is. The problems we ran into were:

Again someone else is responsible for the stupidity of rentacoder team. The real problem is that rentacoder do not have idea of the real world. They are lost in their illusions

1) Memory: COM objects have a known memory leak problem. If two COM objects reference each other and you set them to Nothing, they don't clear themselves in memory as they should. The problem is due to the internal way that COM objects work and was fixed in .NET with a rearchitecture. But that isn't an option for you if you use COM objects. This COM memory leak bug will cause your machine to eventually crash, EVERY TIME.
Also for Java application servers when there is no more memory it is recommended restart, so restart is common way to solve such problems. But not for rentacoder team, they have to blame someone else
2) Slowness to initialize objects: COM objects are not designed to be created and destroyed thousands of times like .NET objects. Our object rich COM model running on the internet was VERY slow...some pages took 5-10 seconds to render. One way to work around this is to not use objects in COM, but instead use functions. But of course, this "solution" causes almost as many problems. A non-object oriented framework is exponentially more difficult to debug and maintain which makes delivering the code on time and on budget frustratingly (and unnecessarily) difficult.
there are 2 problems here:
- they have overloaded the server with bad structured asp code
- it is recommended the com objects to live in application scope: "Cache Application-scoped objects and data, either by creating the object in Global.asa, or creating it on-demand in an individual ASP script, and placing it in Application scope."...

3) Slowness to develop: This was a real show stopper. Every time a change is made in the COM object code (the COM object has to be completely recompiled from scratch, which took 2-3 minutes on a state of the art machines (This # could vary depending on the size of your COM objects). Also, many times IIS would lock the COM object .dll, so in addition, IIS had to be stopped and restarted too, which took another minute or two. (The latter might be alleviated with object pooling, but all the other negatives forced us to abandon COM before even looking at this possibility).
Probably rentacoder team is using IBM XT or they need to read about Script components: "Script components are an excellent technology for developing prototypes of COM components." Or may be the real problem again is mental abilities of rentacoder team, they may need 1000 times to compile for every letter
How does this affect things? When code is created, it is never right the first time. Even creating a single function is an iterative process where it's coded, run, bugs are removed, and the process repeated. A typically complex function created by a top notch developer might require 3-4 iterations...and an average developer might require 10,15 or more. Being able to iterate quickly is what allows you to deliver it on time and on budget. If creating just a single function requires 9 more minutes for your "star" developer and 30 more minutes for your average developers, you are going to have problems. It is FRUSTRATINGLY difficult to develop under these circumstances and try to meet time and budget commitments.
Obviously rentacoder owner is lost in his stupidity and gets frustrated. I can understand him. It is not easy to live with closed eyes. With closed eyes there are many dangers
I tried to explain to the Microsoft systems engineer why this was impractical, but simply got the standard "spiel" repeated to me that COM objects were wonderful and the way to go. Obviously he believed something he read from a KB article, more than me, who he did not realize had personal experience with this supposed "solution".
Obviously rentacoder team again tried to blame someone else for their stupidity. With so many "coders" flattering for 1-2 dollars rentacoder team is lost in their illusions.

Conclusion: If you develop a web app with any sophisticiation or any size, ASP (classic ASP) is NOT a suitable or scalable environment for you. Instead go to a non Microsoft platform. If you choose to say with Microsoft, choose the newer ASP.NET.
Conclusion: we see well known pattern. The mental abilities of rentacoder team do not allow them to understand more than several words. They try to blame someone else for their stupidity. With so many "coders" flattering for 1-2 dollars they are lost in their illusions. They think that barking against Microsoft will prove that they are right. Rentacoder is site for patches and endless stupidity.

7 comments:

Swap said...

Why do you diss RAC so much?

kamen said...

please see the questions and answers that I copied from another conversation

Anonymous said...

Thanks for leaving a comment at http://blog.writerwrangler.com/ I really want that blog to be an honest and open area for reviews of anywhere a writer can get work.

Anonymous said...

thanks for the info on RentaCoder , you have given the complete story of it . Cheers

Anonymous said...

You should learn English troll.

kamen said...

Anonymous especially for you I spent some time improving the text.
Probably you are member of rentacoder staff or you have same mental abilities.
This is why you can not understand EXPLICIT recommendations and best practises PERFECTLY described in the documentation of IIS/ASP. Please do not post more. The stupidity can not be beaten and rentacoder staff is excellent example of this sentence. I recommend you to go to post on rentacoder site because you will have excellent company of people like you in rac staff.
:-)

Anonymous said...

Hi Kamen,

You are right. I had very unpleasant experience with RAC, too.