David C. Epler's blogtag:http:,2010:/Mango 1.4.3Adobe Flex Training for ColdFusion Developersurn:uuid:1822E9D8-E081-59CA-188F42115FBEFD832009-11-23T10:11:00Z2009-11-23T11:11:00ZDavid Epler
<p>On Friday (November 20th), I spent my day at the free <a href="http://www.ce1.com/adobe/2009/flextrainingforcfdevelopers/">Adobe Flex Training for ColdFusion Developers</a>. If you are (like me) working day in, day out with ColdFusion and haven't played with or explored Flex, ColdFusion Builder, or Flash Builder you should go. While it is an "Intro", it is enough to get your feet wet to explore more once you leave.</p>
<p>Another date that has been added for Washington, DC on December 17th and hopefully Adobe will add more dates and locations for next year.</p>
<h3>Laptop Setup</h3>
<p>I can not stress enough, <em><strong>follow the instructions exactly</strong></em> on how to setup your laptop for the training class. There is a slight variation due to a bug installing ColdFusion Builder into Flash Builder as a plugin. The fix is to install both as standalone applications, which I did not find out about until I got to the training (and it is corrected in the printed training materials). The reason I say to follow the instructions exactly is to cut down on having the instructor and TAs running around dealing with problems due to configuration variations. It wasn't a huge problem since people helped each other out as well, but it did slow down the pace.</p>
<p>I had intended to just install <a href="http://labs.adobe.com/technologies/flashbuilder4/">Flash Builder 4</a> on to my MacBook Pro (since all the other software was already installed), but I ran into a problem since Flash Builder 4 apparently <a href="http://forums.adobe.com/thread/460031">does not like case sensitive file systems</a> (yes, I installed Leopard with case sensitivity, it is a hold over from using Solaris and Linux). <strong style="color: #a00; text-decoration:underline;">Adobe needs to fix this!</strong></p>
<p>Actually, not installing Flash Builder 4 directly turned out to be better. I used <a href="http://technet.microsoft.com/en-us/evalcenter/cc442495.aspx">Windows 7 Enterprise 90-day evaluation</a> in Parallels for the training class environment. Figure if I'm playing with new Adobe technology, why not Windows as well.</p>
<p>Other things not noted in the instructions. Install Flash Player with debugging which can be found in <strong>C:\Program Files\Adobe\Adobe Flash Builder Beta 2\player\win</strong> on Windows or <strong>/Applications/Adobe Flash Builder Beta 2/Player/mac</strong> on Mac. Also be sure to have Adobe Reader installed as well.</p>
<p>The only other weird thing I ran into (and several others did as well) is that the class example files when unzipped were read-only with encryption turned on. This prevented them from being run in ColdFusion. The files show up in <strong><span style="color: #00aa00;">green</span></strong> inside Windows Explorer. To fix the problem all you needed to do is go into the file properties in Windows Explorer and remove the encryption and read-only on the file.</p>
<h3>Training and what I learned</h3>
<p>The training was conducted by <a href="http://training.figleaf.com/">Figleaf</a> and Dave Watts was the instructor. The facilties were nice and the room was quite full. It was a bonus to have <a href="http://www.adrocknaphobia.com/">Adam Lehman</a> there from Adobe.</p>
<p>While I have played around with new features in ColdFusion 9 and
seen various demos of using ColdFusion as a Service (CFaaS) and the ORM functionality, I had not really used them. The training provided an opportunity to be hands-on with them and to be "forced" to use <a href="http://labs.adobe.com/technologies/coldfusionbuilder/">ColdFusion Builder</a>. I say "forced" since I made the switch to Eclipse/<a href="http://cfeclipse.org/">CFEclipse</a> a long time ago and have a really stable setup with my prefered plugins. The training provided a structured hands-on experience with ColdFusion Builder to hopefully get a better impression of the new IDE. Simply put, I am <em><strong>impressed</strong></em>! I like the integration they have done and it is significantly better than the Eclipse plugin that was released for ColdFusion 8. I probably will buy it when it is released, if the price is right (under $200).</p>
<p>Flash Builder is quite impressive with the design view and network monitor. I really wish ColdFusion Builder could have been installed as a plugin to Flash Builder they do make a very powerful combination in a single IDE.</p>
<p>The training was clear and provided a good way to introduce each new feature. I particularly liked Exercise 4 where it put Flex, AIR, and ColdFusion all together. I wish they would remove Exercise 0 from the training since it doesn't really provide anything other than a way to ensure your environment is setup. Exercise 1 is much better since it shows connecting to remoting and web services. Another reason to do so, is so that you can get the the end of Exercise 4 where you upload a file to ColdFusion and send email which we were not able to get to (but that left me with more to look at on my own over the weekend). </p>
<p>Overall, it really showed me the power of what can be done with Flex and ColdFusion, even if just small examples. If you have the opportunity to go, you should. It is free and really worth the day.</p>
Hiding password input in Anturn:uuid:E9726954-E081-59CA-189E615F2FB4156E2009-11-12T12:11:00Z2009-11-12T01:11:00ZDavid Epler
<p>
When writting Ant scripts I always have Ant prompt for passwords be it for SVN, SFTP, or anything else that needs to be logged into. Typically would have the following:
</p>
<pre class="xml" style="border: 1px solid #000; background-color: #eee; padding: 5px; overflow: auto;"><input message="Please enter SVN password:" addproperty="svn.password" />
</pre>
<p>
The only problem is that it echos the password back at you, there has to
be a better way. So of to Google I went and <a href="http://marc.info/?l=ant-user&m=119448947811275&w=2">found this</a> with an interesting Ant script fragment:
</p>
<pre class="xml" style="border: 1px solid #000; background-color: #eee; padding: 5px; overflow: auto;"><input message="secure-input:" addproperty="the.password">
<handler classname="org.apache.tools.ant.input.SecureInputHandler" />
</input>
</pre>
<p>
I did not know there could be nested elements in <input>. Apparently Ant 1.7 added <handler> nested element for <a href="http://ant.apache.org/manual/CoreTasks/input.html"><input></a>. But nowhere is there any documentation on "SecureInputHandler".</p>
<p>So I tried out the fragment and as the post noted there are a few requirements to get it to work:</p>
<ol>
<li>Ant 1.7.1</li>
<li>Java 6, if it is run on Java 5 it will fallback to a "normal" <input></li>
</ol>
<p>One downside, I have not been able to get it to work from within Eclipse 3.5 (since Ant 1.7.1 is bundled with it) and using Java 6 runtime. Eclipse will just hang when it gets to the "SecureInputHandler" and you have to stop the build script. It does work great from command line which is how I run all my Ant scripts anyway so it is not a real issue for me, but might be for others.</p>
CFML Admin API Projecturn:uuid:03CB2CFD-E081-59CA-18D8B956BDA0E4592009-09-28T11:09:00Z2009-09-29T12:09:00ZDavid Epler
<p>Well, this isn't exactly a new project. I actually started it back in 2005 when I wrote an Admin API for BlueDragon 6.2 and had a compatibility layer to map cfide.adminapi calls back to the BlueDragon Admin API.</p>
<p>For the past several years the code has been available on <a href="/page.cfm/code">various locations</a>. Ultimately, the Admin API for BlueDragon 6.2 that I wrote became the basis for the Open BlueDragon Admin API, but the compatiblity layer was not used. The direction of building a compatibility layer to match ColdFusion
MX 7 (or later) didn't seem to be a sustainable idea, since I'd always have to chase how the ColdFusion Admin API was implemented for calls and returns.</p>
<p>I don't know why it didn't occur to me earlier, but it became clear while sitting in the <a href="http://cfunited.com/2009/topics/323">The CFML Advisory Committee - Happy First Birthday! BOF</a>. Forget making all the other CFML engine Admin API interfaces match ColdFusion Admin API, but make a single common Admin API interface. That is exactly what <a href="http://cfmladminapi.riaforge.org/">CFML Admin API</a> is. Its goal is to provide a common Admin API methods for dealing with datasources and mappings that work on any CFML engine, particularly when creating/installing CFML applications.</p>
<p>The code is still very alpha and hopefully will get comments for improvements.</p>
Subversion Auto Propertiesurn:uuid:49D28716-E081-59CA-184417C7DC6D86FD2009-05-16T01:05:00Z2010-01-18T08:01:00ZDavid Epler
<p>At <a href="http://www.cfobjective.com/">cf.Objective()</a> I attended "Subversion for Smarties - Do More With Subversion" given by Cameron Childress and it was a good presentation. I picked up a few things that I didn't know before like changelists which were added in Subversion 1.5. The presentation did cover other things like svn properties on files like svn:keywords and how to add them with svn propset. While svn propset works, it is possible to set svn properties on files globally on the create of the file without having to manually setting them. This is done my modifying the subversion client configuration.</p>
<p>On Mac or Linux the subversion client configuration file is:</p>
<p style="padding-left: 30px;"><strong>~/.subversion/config</strong></p>
<p>On Windows the subversion configuration file is:</p>
<p style="padding-left: 30px;"><strong>C:\Documents and Settings\{username}\Application Data\Subversion\config</strong></p>
<p>Or using TortoiseSVN on Windows:</p>
<ol>
<li>Right click on any Windows folder</li>
<li>Select <strong>TortoiseSVN -> Setting</strong></li>
<li>Click on "<strong>Edit</strong>" for Subversion configuration file</li>
</ol>
<p>The config file is used by all subversion clients, so that once you make the change it will be used by Subclipse, TortiiseSVN, svnX, etc. The config file is nothing more than a text file with name value pairs. The file uses "<strong>#</strong>" to denote comments, remove the "<strong>#</strong>" to uncomment the line.</p>
<p>The first thing you need to do is find the <strong>[miscellany]</strong> section of the config file to uncomment and modify the line as shown below:</p>
<p style="padding-left: 30px;">
<strong>enable-auto-props = yes</strong></p>
<p>
Next in the <strong>[auto-props]</strong> section, remove everything below <strong>[auto-props]</strong> and replace it with below:</p>
<pre style="border: 1px solid #000; background-color: #eee; padding: 5px; overflow: auto;"># Code formats<br />*.as = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.bat = svn:eol-style=CRLF; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain; svn:executable<br />*.cmd = svn:eol-style=CRLF; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain; svn:executable<br />*.c = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.cfc = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.cfm = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.cgi = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn-mine-type=text/plain<br />*.cpp = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.groovy = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.gsp = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.h = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.java = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.js = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/javascript<br />*.jsp = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.m = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.php = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/x-php<br />*.pl = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/x-perl; svn:executable<br />*.pm = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/x-perl<br />*.py = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/x-python; svn:executable<br />*.sh = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/x-sh; svn:executable<br /># Image formats<br />*.bmp = svn:mime-type=image/bmp<br />*.gif = svn:mime-type=image/gif<br />*.ico = svn:mime-type=image/ico<br />*.jpeg = svn:mime-type=image/jpeg<br />*.jpg = svn:mime-type=image/jpeg<br />*.png = svn:mime-type=image/png<br />*.tif = svn:mime-type=image/tiff<br />*.tiff = svn:mime-type=image/tiff<br /># Data formats<br />*.avi = svn:mime-type=video/avi<br />*.doc = svn:mime-type=application/msword<br />*.eps = svn:mime-type=application/postscript<br />*.gz = svn:mime-type=application/gzip<br />*.jar = svn:mime-type=application/java-archive<br />*.mov = svn:mime-type=video/quicktime<br />*.mp3 = svn:mime-type=audio/mpeg<br />*.pdf = svn:mime-type=application/pdf<br />*.ppt = svn:mime-type=application/vnd.ms-powerpoint<br />*.ps = svn:mime-type=application/postscript<br />*.psd = svn:mime-type=application/photoshop<br />*.rtf = svn:mime-type=text/rtf<br />*.swf = svn:mime-type=application/x-shockwave-flash<br />*.tar = svn:mime-type=application/x-tar<br />*.tgz = svn:mime-type=application/gzip<br />*.wav = svn:mime-type=audio/wav<br />*.xls = svn:mime-type=application/vnd.ms-excel<br />*.zip = svn:mime-type=application/zip<br /># Text formats<br />.htaccess = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.cfg = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.css = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/css<br />*.csv = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.dtd = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/xml<br />*.htm = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/html<br />*.html = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/html<br />*.ini = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.properties = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.sql = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/x-sql<br />*.txt = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />*.xhtml = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/xhtml+xml<br />*.xml = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/xml<br />*.xsd = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/xml<br />*.xsl = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/xml<br />*.xslt = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/xml<br />*.xul = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/xul<br />*.yml = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />AUTHORS = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />BUGS = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />CHANGES = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />COPYING* = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />DEPENDENCIES = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />DEPRECATED = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />INSTALL* = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />LICENSE = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />Makefile* = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />MANIFEST* = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />PLATFORMS = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />README = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br />TODO = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain<br /></pre>
<p>Make sure none of the lines start with spaces, or you will get an error message. The list above is not complete, but pretty much covers all the file types I have run into. For more information on svn properties the best source is the online book, <em><a href="http://svnbook.red-bean.com/en/1.5/index.html">Version Control with Subversion</a></em>, in particular chapter 3.</p>
Upgraded to Leopardurn:uuid:832BEE56-E081-59CA-18BB4EAB908E08032008-04-13T09:04:00Z2008-06-19T04:06:00ZDavid Epler
<p>So today I finally took the plunge to upgrade my MBP to Leopard. I am not really looking to be a trailblazer and waited for Adobe to release <a href="http://www.adobe.com/products/coldfusion/pdfs/cf8_systemsupportmatrix.pdf" target="_blank">ColdFusion 8.0.1 with official Leopard support</a> and knowing that a new release of an OS <strong>always</strong> have issues. I didn't want to deal with them. But the main reasons to upgrade for me were Spaces, Time Machine, and full 64-bit OS on Intel.</p>
<p>So I backed up all my important data. Now, I know I could do the upgrade from Tiger to Leopard, but coming from Windows and dealing with other software upgrades, I just distrust them. Clean install for me. I shouldn't have been surprised at how smooth the process was. Rebooted then ran Software Update to get 10.5.2 and all the updates. </p>
<p>Overall, I am happy with with upgrading to Leopard but I have run into the graphics corruption on my MBP, hopefully that will get fixed soon.</p>
Switched to MacBook Prourn:uuid:B57ED79F-E081-59CA-18D898B745FD1CDB2006-11-24T09:11:00Z2008-05-30T01:05:00ZDavid Epler
<p>For a while now I have been considering switching from a PC to a Mac. I had used Macs previously in college for non-linear video editing at the <a href="http://www.stn49.tv/" target="_blank">student-run tv station (STN 49)</a>, but never really like Mac OS 8 or 9 and <a href="http://www.info.apple.com/support/applespec.legacy/powermacintosh.html" target="_blank">Power Macintoshes</a>. Mac OS X was interesting and started to think about possibly getting a Mac when Apple released the <a href="http://support.apple.com/specs/macmini/Mac_mini_orig.html" target="_blank">Mac mini</a>. When Apple announced the switch from PowerPC to Intel, I became more interested. When Apple released the MacBook Pro with Intel Core 2 Duo, that finally made me want to get one. </p>
<p>I have never been stuck on only using Windows, for the longest time I had played with different distros of linux (slackware, redhat, ubuntu) either dual-boot or as my primary OS. Hell, I even used <a href="http://en.wikipedia.org/wiki/OS/2_Warp#The_.22Warp.22_years" target="_blank">IBM OS/2 Warp</a> for a time as my primary OS. </p>
<p>Adding to the decision was the fact that my 5 year old <a href="http://www.pcworld.com/article/id,80045/article.html" target="_blank">Compaq Presario 2701 laptop</a> was showing it's age. So it was time to upgrade. I set a target price range of about $1,800 that I was willing to
spend on a new laptop (not including extended
warranty) based upon my older laptop. I also expect to get a minimum of 4 years of use out of it. </p>
<p>I priced out equivilent Dell and HP/Compaq (business class) units to
match the specs of a <a href="http://support.apple.com/specs/macbookpro/MacBook_Pro_Core_2_Duo.html" target="_blank">15" MacBook Pro</a>. Neither Dell or HP/Compaq could
exactly match the specs of the MBP but the pricing was more inline with
what I wanted. Price for me isn't the sole factor to decide though.
Having never owned a Dell, I didn't know what to expect for warranty
support or how easy getting it would be. Atleast with HP/Compaq, I knew
since I had to send my old laptop back twice for different reasons (CPU
heatsink and hard disk). Apple has the added benefit of the retail
stores and dealt with them when my 4th generation iPod crapped out.</p>
<p>But the price of the MBP at $2,000 really didn't thrill me. To me, computers are a commodity item and don't believe that a brand is better than another when more or less the parts inside are the same. But the idea of owning a MBP, using OS X, and the "coolness" factor was really appealing to me, so I started to look for ways
to cut the price. Explored possibly purchasing from MacMall, but I got
some feedback from a friend regarding purchasing from them. Then I
found out that I qualified for the Federal Employee Discount (working
for a gov't contractor) and that brought the price of the MBP right
inline with what I wanted to pay.</p>
<p>Just to maximize the savings, I waited until Black Friday to buy the MBP because it is the only time Apple actually has a sale and there might have been a chance Apple marks it down. No luck, they cut the price on the MacBook. The other benefit is that for Thanksgiving I am at my parent's house in Delaware, the home of tax-free shopping. A new thing that the Christiana Mall did this year was to open at 3am on Black Friday. I wasn't crazy enough to go at 3am, but my brother and I were at the mall at 4am. The mall was packed and there was a line to get into the Apple store. Only spent about 20 minutes there to buy the MBP, AppleCare, and Parallels.</p>
<p>So once I get it to my parent's and out of the box, the first thing I do is pull my <a href="http://www.qa.nokiausa.com/phones/6822/0,9197,feat:1,00.html" target="_blank">Nokia 6822 phone</a> and use bluetooth to sync my contacts to Address Book. It was just so easy and see what they mean by "It Just Works". So far very happy with the purchase.</p>
LAMBDA Boxes on CFDJurn:uuid:504D60E2-E081-59CA-18D6C7B31FD588EE2005-04-14T08:04:00Z2009-05-16T01:05:00ZDavid Epler
<p>
Surprise, surprise. I open up my email box and see that the latest <a title="ColdFusion Developers Journal" href="http://sys-con.com/coldfusion/">CFDJ</a> is available. Go scrolling through the articles to find that <a title="Jeff Peters: GrokFusebox" href="http://www.grokfusebox.com">Jeff Peters</a> has written a really good article on <a title="CFDJ: LAMBDA Boxes" href="http://www.sys-con.com/story/?storyid=49181&DE=1">LAMBDA Boxes</a>, and further down mentions me and my site. And because I have been busy with a new job and apartment, I haven't updated the site much.
</p>
<p>
LAMBDA stands for <strong>L</strong>inux, <strong>A</strong>pache, <strong>M</strong>ySQL, and <strong>B</strong>lue<strong>D</strong>rgon, <strong>A</strong>pplication. I have been using <a title="New Atlanta: BlueDragon" href="http://www.newatlanta.com/products/bluedragon/index.cfm">BlueDragon</a> since New Atlanta released their betas of 6.1. Most signifcant was the release of Beta 3, where it was possible to run Fusebox 4 on their free server. BlueDragon Server was the perfect fit for me since I wanted to run my site with CFML but had no money to spend on ColdFusion and I could now use the methodology I am most comfortable with.
</p>
<p>
In March, I gave an updated version of my <a title="PDF: LAMBDA Boxes" href="/assets/content/presentations/lambda.pdf">LAMBDA
presentation</a> at the <a title="Maryland ColdFusion Users Group" href="http://www.mdcfug.org">MDCFUG</a> which
covered BlueDragon 6.1 and has an improved method for running BD as non-root
user than what was presented at Fusebox 2004 Conference.
</p>
<p>
For <a title="The Premier ColdFusion Technical Conference" href="http://www.cfunited.com">CFUNITED</a> I
have revamped the presentation with quite a bit of new material and it now covers BlueDragon 6.2. I am scheduled to present it Wednesday, June 29th (1st Day) at 4:50-5:40pm (Session 5).
</p>