Article 1: Thanks for all the code... Now what?

Feb 7, 2009 at 5:31 PM
Edited Feb 7, 2009 at 6:05 PM
Please feel free to contact me anytime:
William M. Rawls
Tallahassee, FL
Yahoo or Skype: willrawls

A quick thanks and giving credit where it's due:
XLG and the MetX suite of assemblies was written by William Rawls with the willing cooperation of several of my past and present employers. While XLG is completely open source, it should be noted that it includes code from other open source projects and some assembly references which are copyrighted, including:
  • A nearly completely rewritten first release of SubSonic
  • The program nxslt2.exe © 2005 Oleg Tkachenko,
  • The program Notepad2.exe (c) Florian Balmer 2004-2009
  • Version 1.1.327.0 of the Sybase.Data.AseClient ©  2009 Sybase, to provide Sybase support. Most users should expect to upgrade this driver to the latest (I'm stuck using this particular version at work for the time being)
  •  The MySQL .NET connector SDK (MySql.Data.MySqlClient),
    to provide MySql support
I would also like to thank Verizon, Seva Technologies, and FBMC for their willing support of bringing XLG in various forms and libraries into each company, using it in my assignments, and being able to walk out the door with the understanding of eventually making XLG open source. Without their on the clock support the XLG source code, the MetX and the XLG Pipeline would certainly not exist today.

On code longevity and the MetX Library:

While XLG has only just been officially open sourced in November 2008, Much of the code that makes up today's XLG dates back to the days of the first release candidate for Visual Studio 2003 and the .NET framework 1.0 so use XLG and its code with confidence as the lion's share is well tested and in use (in small and large degrees) by systems all over the world.

Also, there's a lot more than just code generation in there, specifically the MetX assembly. The MetX assembly contains a host of utility classes, helper classes, worker functions, token (string) parsing, simplified AES encryption, and even an ASP.NET xsl solution allowing one to replace "heavy" web pages based on System.Web with light, run-time compiled xsl building an xml document before transforming the xml using xsl on the server for startlingly fast, flexible, light memory, and highly scalable content delivery (not for the faint of heart).

In other words, MetX contains pretty much the creme de la creme code I've written since .NET was invented.

Luckily MetX has fair documentation. I mention all this because until a new set of XLG xsl templates are written, then you will be adding a reference to MetX.dll to your projects. This will change as we move forward as I envision someone writing xsl files that generate code based on their own libraries, third party libraries, or even different operating systems / programming languages (hint hint).

On my first XLG article and becoming an active participant:
Having a program like XLG isn't very useful without documentation. Unfortunately, documentation isn't one of my strong suites. So please bear with me as we move forward. This is the first of a series of articles on XLG which I hope will help you go from where you are now to becoming a pro with XLG and hopefully an active participant in what I hope will become a budding XLG Community.

After reading each article, I ask you join the discussion and share your thoughts, ideas, questions, problems, and concerns with me and other users. If you want to join me in maintaining, enhancing, and generally trying to find cool, interesting, easy to use new ways of generating and modifying source code, let me know.