The other day I blogged about a tribe of indians in south american called the Piraha. Amazingly I hadn't gotten responses whatsoever. I sure hope I didn't lose the faithful 5 people that read my blog. =)
So I heard somewhere that it is better/faster to do the following...
override protected OnLoad(System.EventArgs e)
This simply astounds me.
There are by some estimates more than a million weblogs. But most of them get no visibility in search engines. Only a few "A-List" blogs get into the top search engine results for a given topic, while the majority of blogs just don't get noticed. The reason is that the smaller blogs don't have enough links pointing to them. But this posting could solve that. Let's help the smaller blogs get more visibility!
Has anyone ever used this control? If so have you ever handled the selection of a Node and maintained expansion state across a postback? I have been unable to make this work and I have not located any help via Google.
So the past 3 days I have been bickering online with Frans and Thomas. Last night I was in a car accident. Today continuing the argument with them seems like a total waste of time.
Thomas from Thona Consulting asserted that I was racist in this comment. While I disagree with this wholeheartedly, it got me thinking. The whole "discussion" was prompted by my observation that Thomas didn't write well formed english in some of his posts. Is it racist to assume that if someone is communicating in an english speaking forum on an english speaking site, that they be able to form intelligible sentences? Is it racist if I don't even know what race Thomas is? I could understand preferentialism maybe, but not racism.
I was introduced to this post on the ASP.NET Forums...http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=651804. Eric has since posted about it on his blog as well...http://weblogs.asp.net/ericjsmith/archive/2004/08/10/211944.aspx
I don't understand why 2 people in this community feel the need to smother everyone with their opinions about Runtime O/R Mapping tools. I think O/R Mappers have their place. I have always admitted that. What I will not concede to is a blanket statement that CodeSmith is somehow inferior to these tools.
CodeSmith isn't an O/R Mapper. It is a template based code generation tool. CodeSmith is a tool than can be gradually implemented into any architecture or framework. We initially used it only for generating strongly typed collections. Once we saw the power of it, we begain implementing it in other areas. O/R Mappers tend to be an all or nothing solution. Some of them can also be somewhat intrusive requiring you to inherit from base classes or decorate classes with attributes. With CodeSmith you do have to write your own code at least once. You can write 1 perfect class and use the common code as your template.
CodeSmith can be used by anyone from beginner to advanced. Beginners can start small and gradually build up. Advanced users will want to implement their own frameworks and architectures using CodeSmith. O/R Mappers are great if you dont want to invest the time to build an architecture or don't have the skill to do so. As Paul Wilson put it, its a classic “build or buy” scenario. CodeSmith is a build solution. You will have to invest time and effort in building an architecture.
Another great thing about CodeSmith is that with templates we have been able to build production ready prototypes of applications in a matter of minutes. We can create a data model based on our standards and have a completely working CRUD app within minutes. The greatest thing about the prototype is that the code is production ready. Our templates allow us a certain confidence about our prototype applications. This is very valuable to management.
CodeSmith is more than just a code generator. CodeSmith can be used to generate anything that is ASCII based and repetitive in nature . Take for example batch execution of DDL scripts via isqlw.exe. For 200 tables that would be alot of cutting and pasting. Shannon (still blogless) wrote a template to loop all of the tables in a database and generate the command line statement for executing a sql script.
I am defintely a CodeSmith bigot, but I understand that there are other solutions. An O/R Mapper may be the best way for you to go in a particular situation. I prefer more control over my environment.
Overall I think the presentation went really well. Shannon and I felt it wasn't our best performance, but we think we were able to appropriately demonstrate just how powerful CodeSmith can be. Eric has already linked to the presentation from his blog, but here is the link for you faithful 5 that look at my blog. =)
Shannon Davidson (remains blogless) and I will be presenting on the wonders of CodeSmith tomorrow night at the Plano .Net Users Group. We have been looking forward to this one for quite awhile. We have been doing the rounds in Dallas/Fort Worth, but I think we are finding out “presenting center.” If you can stomach the sight of Shannon and the sound of my voice stop by and check it out.
Thanks to Eric J. Smith for reminding me again that we have a presentaton to do!
Eric is handing out free copies of CodeSmith for anyone that shows up and trust me when I tell you its worth far more than the $80 bucks he normally charges.