<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0">
			<channel>
			<title>Dave Carabetta: My Thoughts - ColdFusion</title>
			<link>http://www.cbetta.com/blog/index.cfm</link>
			<description>Personal thoughts of Dave Carabetta</description>
			<language>en-us</language>
			<pubDate>Sun, 05 Sep 2010 03:15:12 -0400</pubDate>
			<lastBuildDate>Thu, 10 Jul 2008 16:21:00 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>dave@cbetta.com</managingEditor>
			<webMaster>dave@cbetta.com</webMaster>
			
			
			
			
			
			<item>
				<title>CynergyTV: Flex, Silverlight And Why I&apos;ve Disappeared</title>
				<link>http://www.cbetta.com/blog/index.cfm/2008/7/10/cynergytv-flex-silverlight-why-disappeared</link>
				<description>
				
				So why have I been so quiet for pretty much the last year outside of some token posts? Well, our re-launched &lt;a href=&quot;http://www.cynergytv.com/&quot; target=&quot;_blank&quot;&gt;CynergyTV&lt;/a&gt; experience holds the reason, and I&apos;m glad I can finally talk about it.

So Dave, you mean you&apos;ve spent the last year re-building CynergyTV? Nope, not quite. That was done by an extremely talented team here at &lt;a href=&quot;http://www.cynergysystems.com/&quot; target=&quot;_blank&quot;&gt;Cynergy&lt;/a&gt; that worked extremely hard to not only refresh the user experience but deliver the content in professional audio/video quality supported by lots of hardware and software upgrades in our data center. Incidentally, when I say team, I mean it in the truest sense of the word -- our president, Carson Hager, recognizing that we could and should present our accomplishments better and allowing guys to stop being billable in order to get this done; our Marketing group spending hours in the recording studio choreographing the audio/video; our User Experience group iterating through lots of potential look and feel options until it was nailed; our Rich Interface team implementing the user experience in &lt;a href=&quot;http://www.adobe.com/products/flex/&quot; target=&quot;_blank&quot;&gt;Adobe Flex&lt;/a&gt;; and finally, our Enterprise Services and Network Support teams building out the services tier to support the streaming video content (not a trivial task as I&apos;ve come to learn), notifying the appropriate people when the Let&apos;s Talk form is submitted, and then setting up the appropriate infrastructure to host it all in our data center. If that sounds like a lot of work, that&apos;s because it was -- and it was well worth the investment.

So back to my opening question as to why I&apos;ve been so quiet. Well, if you head over to CynergyTV (after reading this post, of course), you&apos;ll see that one of the showcases is for an application we built called &lt;a href=&quot;http://www.quickcomm.com/solutions/quickcomm-enterprise.shtml&quot; target=&quot;_blank&quot;&gt;Quickcomm Enterprise&lt;/a&gt;, a telecom expense management (TEM) tool for one of our clients, &lt;a href=&quot;http://www.quickcomm.com/&quot; target=&quot;_blank&quot;&gt;Quickcomm&lt;/a&gt;. It is this application that has basically been most of the last year of my life. As the Technical Lead on the project (which is a combination senior application architect and project manager here at Cynergy), I have spent over 1,600 hours working with my team here at Cynergy and the team at Quickcomm to deliver the most disruptive TEM solution on the market and I&apos;m extraordinarily proud and privileged to have worked with both teams.

Since the completion of that project a short while back, I have since made the transition for being a Technical Lead to Business Development -- yes, the dreaded &quot;sales&quot; guy. I was ready for a new challenge beyond coding and the growth opportunities here at Cynergy made this transition both seamless and a no-brainer. So now I get to put on my sales hat: If you&apos;re interested in speaking with us about an idea you have or have an existing application you want re-invented to provide a better user experience, &lt;a href=&quot;http://www.cynergysystems.com/common/contact.jsp&quot; target=&quot;_blank&quot;&gt;drop us a line&lt;/a&gt; and we&apos;re happy to speak with you further. And of course, if you have any feedback at all about the re-launched CynergyTV, feel free to leave a comment and I&apos;ll make sure it reaches the right people immediately.

Lastly, if you&apos;re a developer who wants to work with a phenomenally talented team that continually delivers cutting edge applications, we&apos;d love to speak with you about &lt;a href=&quot;http://www.cynergysystems.com/whoweare/careers.jsp&quot; target=&quot;_blank&quot;&gt;career opportunities&lt;/a&gt; at Cynergy. It&apos;s a great time to be building RIAs and we&apos;d love for you to be a part of it!
				
				</description>
				
				<category>Cynergy Systems</category>
				
				<category>Marketing</category>
				
				<category>Microsoft</category>
				
				<category>ColdFusion</category>
				
				<category>Flex</category>
				
				<category>Blogging</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Thu, 10 Jul 2008 16:21:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2008/7/10/cynergytv-flex-silverlight-why-disappeared</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Want To See Adobe Flex At Its Best?</title>
				<link>http://www.cbetta.com/blog/index.cfm/2007/1/31/see-adobe-flex-best</link>
				<description>
				
				This blog is becoming awfully barren as of late, and, despite my best efforts to stay active, it has been close to impossible to post entries due to the fact that there are only 24 hours in a day. However, I&apos;m incredibly proud to finally show off what keeps me and my co-workers at &lt;a href=&quot;http://www.cynergysystems.com&quot; target=&quot;_blank&quot;&gt;Cynergy&lt;/a&gt; so busy.

Today we launched &lt;a href=&quot;http://www.cynergytv.com/&quot; target=&quot;_blank&quot;&gt;Cynergy TV&lt;/a&gt;, an interactive Flex-based channel where we will be publishing all sorts of showcases, flex tips, tricks, etc., that we hope will benefit the Adobe Flex community. As an employee at Cynergy, I&apos;m incredibly excited to see where we take this, and I definitely plan on contributing as we move forward with the initiative.

So what&apos;s this about &quot;Adobe Flex at its best?&quot; Well, &quot;episode 1&quot; showcases some of our most engaging applications. I&apos;ve noticed several &lt;a href=&quot;http://tech.groups.yahoo.com/group/flexcoders/&quot; target=&quot;_blank&quot;&gt;flexcoders&lt;/a&gt; and blog posts from people who don&apos;t think Adobe Flex is verstaile-enough to be taken seriously or &lt;a href=&quot;http://tech.groups.yahoo.com/group/flexcoders/message/62828&quot; target=&quot;_blank&quot;&gt;is limiting in its design&lt;/a&gt;. I simply disagree, and I hope that these showcases will provide some inspiration for you to create some truly interactive solutions. Our showcases really exhibit Adobe Flex at its best. From ColdFusion to Java to .NET, we&apos;ve created high-impact solutions that integrate with all sorts of back-end systems.

Are you a developer who has worked with Flex or AJAX on some level and is interested in joining the industry leader in Rich Internet Applications? Shoot us &lt;a href=&quot;mailto:hr@cynergysystems.com&quot;&gt;an e-mail&lt;/a&gt; with your resume. We &lt;em&gt;really&lt;/em&gt; want to hear from you. As it says all over our &lt;a href=&quot;http://www.cynergysystems.com/&quot; target=&quot;_blank&quot;&gt;corporate web site&lt;/a&gt;, &quot;Let&apos;s Talk.&quot; ;)
				
				</description>
				
				<category>Cynergy Systems</category>
				
				<category>Marketing</category>
				
				<category>ColdFusion</category>
				
				<category>Flex</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Wed, 31 Jan 2007 23:05:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2007/1/31/see-adobe-flex-best</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>My Shiny New Job With Cynergy Systems...And The Value Of CFUNITED</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/10/2/new-job-cynergy-systems-cfunited</link>
				<description>
				
				It is with incredible pride and a renewed energy that I&apos;m happy to announce that I have officially accepted a position with &lt;a href=&quot;http://www.cynergysystems.com/&quot; target=&quot;_blank&quot;&gt;Cynergy Systems&lt;/a&gt; starting later this month! In my new role, I will be a consultant working on &lt;a href=&quot;http://www.adobe.com/products/flex/&quot; target=&quot;_blank&quot;&gt;Flex 2&lt;/a&gt; applications integrating with Java backends. I have been on &quot;Cloud Nine&quot; since late Friday when I received the offer, and my brain is about ten miles ahead of my fingers as I type this out, so if I&apos;m all over the map with this post, please hang with me!

Cynergy has quickly established itself as a leader in the Rich Internet Application (RIA) revolution, and I couldn&apos;t sit on the sidelines and watch while they had all the fun. Their collective talent and passion absolutely blew me away, and there was no second-guessing once I accepted the offer. You can see some examples of their expertise over on &lt;a href=&quot;http://www.cynergysystems.com/blogs/&quot; target=&quot;_blank&quot;&gt;their blogs&lt;/a&gt; and the &lt;a href=&quot;http://tech.groups.yahoo.com/group/flexcoders/&quot; target=&quot;_blank&quot;&gt;flexcoders mailing list&lt;/a&gt; (hint: search for &quot;Cynergy&quot; or &quot;Dave Wolf&quot; or &quot;Andrew Trice&quot; for some sample posts). In short: these guys know their stuff, and I&apos;m hoping to uphold that level of expertise.

You may have noticed in the opening paragraph that I noted that I will be working with Java. Those of you who know me (or have read my other posts) know that I am a longtime ColdFusion developer (I just hit my ten year mark recently). This change means that I will be stepping away from ColdFusion for a little bit while I diversify my skill set with Java and Flex 2. I&apos;m a bit sad, a bit nervous, but, most of all, I&apos;m incredibly excited to be broadening my base and getting into areas of work that are new and challenging. Diversifying my skill set is something that I&apos;ve been wanting to do for years, but just never found the time to do outside of reading books and playing around with personal projects. And while I firmly believe that ColdFusion will gain more and more traction down the road as more companies recognize its beautiful integration with Flex 2, the reality is that the lion&apos;s share of current Flex RIA work is using a Java backend. Further, it has been suggested they are open to eventually bring in more Flex/ColdFusion work down the road at Cynergy, so don&apos;t think I&apos;m leaving the CF world forever. I look at it as a hiatus while I go cut my teeth with Java. Also, this site along with some other personal projects will continue to use ColdFusion as its backend as well.

OK, so I mentioned something in the title about the value of &lt;a href=&quot;http://www.cfunited.com/&quot; target=&quot;_blank&quot;&gt;CFUNITED&lt;/a&gt;. Well, if not for the friends that I made down at the conference over the last two years, this opportunity likely would not have come to fruition. See, two years ago, I was fortunate to meet Adam Wayne Lehman (who is now &lt;a href=&quot;http://www.buntel.com/blog/index.cfm?mode=entry&amp;entry=0E32EA10-4E22-1671-5A32FF89F738E4AB&quot; target=&quot;_blank&quot;&gt;a ColdFusion specialist for the North American Sales Team at Adobe&lt;/a&gt;). We have kept in touch since then, and, at this past conference in June, he introduced me to a good friend and then-co-worker of his, &lt;a href=&quot;http://histos.net/blog/&quot; target=&quot;_blank&quot;&gt;Cliff Meyers&lt;/a&gt;. We had a great time at the conference, and then caught up a few weeks ago. Cliff went to work for Cynergy just after CFUNITED and raved about them. At the same time, I was hitting a ceiling at my current job and decided to throw my candidacy out there to see what would happen. Fast forward to last Friday when the official offer was extended, and here we are! While I agree with Sean that there are &lt;a href=&quot;http://corfield.org/blog/index.cfm/do/blog.entry/entry/Conferences_What_are_they_good_for&quot; target=&quot;_blank&quot;&gt;more to conferences than just the networking&lt;/a&gt;, I have to say that there&apos;s no way that this opportunity would have come to pass as quickly as it did without CFUNITED. So if you&apos;re ever on the fence as to the value of this conference (or other conferences in your field), I&apos;m happy to be a case study in their benefits! It has changed my life and I&apos;m incredibly excited at the opportunities that lie ahead.

I&apos;ll be starting there towards the end of this month while I properly transition out of my current job. It may or may not be quiet on here until then!
				
				</description>
				
				<category>Cynergy Systems</category>
				
				<category>Personal</category>
				
				<category>ColdFusion</category>
				
				<category>Flex</category>
				
				<category>Blogging</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Mon, 02 Oct 2006 16:30:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/10/2/new-job-cynergy-systems-cfunited</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Ten Years Using ColdFusion, And I&apos;m Still Learning!</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/9/20/ten-years-coldfusion-still-learning</link>
				<description>
				
				Sometime over the last couple of weeks, I officially passed the &quot;10 year&quot; mark using ColdFusion. It&apos;s not like it&apos;s my birthday, so the exact date escapes me, but I remember that it was about a month or so into my sophomore year at &lt;a href=&quot;http://www.gwu.edu/&quot; target=&quot;_blank&quot;&gt;George Washington University&lt;/a&gt; that I stumbled upon this relatively new scripting language that made building dynamic web sites easy. The rest, as they say, is history. OK, enough nostalgia.

Just over a week ago, &lt;a href=&quot;http://coldfused.blogspot.com/&quot; target=&quot;_blank&quot;&gt;Rupesh Kumar&lt;/a&gt;, an engineer on the ColdFusion development team in India, posted a &lt;em&gt;great&lt;/em&gt; tip for &lt;a href=&quot;http://coldfused.blogspot.com/2006/09/handling-j2ee-session-with-cookies_12.html&quot; target=&quot;_blank&quot;&gt;handling J2EE sessions with cookies disabled&lt;/a&gt;. Since my company&apos;s site requires cookies to be enabled to work (it&apos;s part of the service agreement since we&apos;re a subscription-based data provider), I haven&apos;t had to really worry about appending the session token to URLs. That being said, Rupesh&apos;s tip for seamlessly handling J2EE sessions in either situation is a nice little gem, and one I plan to start employing as I move forward. And the best part about it? &lt;em&gt;The solution is a function that is already built into the ColdFusion language!&lt;/em&gt;

The &lt;a href=&quot;http://livedocs.macromedia.com/coldfusion/7/htmldocs/00000660.htm&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;URLSessionFormat()&lt;/em&gt;&lt;/a&gt; function is smart enough to determine whether or not cookies are enabled in the client&apos;s browser, and then append the session token (in the proper format) to the URL that is passed as its argument. Here&apos;s an example:

&lt;code&gt;
&lt;form action=&quot;#urlSessionFormat(&apos;form_action.cfm&apos;)#&quot;&gt;
&lt;/code&gt;

Here&apos;s the output with cookies enabled:

&lt;code&gt;
&lt;form action=&quot;form_action.cfm&quot;&gt;
&lt;/code&gt;

And here&apos;s the same exact code snippet with cookies disabled (tested using the awesome &lt;a href=&quot;http://chrispederick.com/work/webdeveloper/&quot; target=&quot;_blank&quot;&gt;Web Developer Extension&lt;/a&gt; for Firefox):

&lt;code&gt;
&lt;form action=&quot;form_action.cfm;jsessionid=d4305073c05055263551?CFID=502&amp;CFTOKEN=519f9941914049aa-CC1F9E84-BC5D-EFFF-EAB28BC4162757E3&amp;jsessionid=d4305073c05055263551&quot;&gt;
&lt;/code&gt;

How cool is that? Most importantly, notice that the jsessionid value is properly appended to the URL using a semi-colon. A lot of developers simply append the jsessionid as if it were just another URL parameter (&quot;&amp;jessionid=xxxxx&quot;), but, as Rupesh points out in his post (and as it came up on a &lt;a href=&quot;http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:253478&quot; target=&quot;_blank&quot;&gt;cf-talk thread&lt;/a&gt; recently), you &lt;em&gt;must&lt;/em&gt; use the &quot;;jessionid=xxxxx&quot; format after the file name for the web server to properly process the request. Simply using the URLSessionFormat() function takes care of that for you.

It&apos;s amazing... Ten years in and I&apos;m still learning new tricks all the time!
				
				</description>
				
				<category>ColdFusion</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Wed, 20 Sep 2006 13:00:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/9/20/ten-years-coldfusion-still-learning</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Adobe Co-Publishing Agreement With O&apos;Reilly Excludes ColdFusion</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/9/14/adobe-copublishing-oreilly-coldfusion</link>
				<description>
				
				Via &lt;a href=&quot;http://casario.blogs.com/mmworld/&quot; target=&quot;_blank&quot;&gt;Marco Casario&apos;s blog&lt;/a&gt;, I noted that Adobe has &lt;a href=&quot;http://press.oreilly.com/pub/pr/1624&quot; target=&quot;_blank&quot;&gt;signed an agreement&lt;/a&gt; with O&apos;Reilly Media &quot;to co-publish and co-brand books and online learning resources for developers creating applications with technologies such as Adobe Flex, ActionScript, and Adobe Flash and Flash Video.&quot; -- but not ColdFusion. Sigh.

As a long-time ColdFusion developer, this announcement is one more point of frustration with the fact that ColdFusion seems to miss out on the larger audience exposure that its siblings seem to be enjoying. While this announcement seems to be in the context of promoting &quot;Web 2.0&quot; technologies (a Tim O&apos;Reilly-coined term that I absolutely loathe, by the way), this seems like the type of agreement where letting ColdFusion ride the coattails of the Adobe Flex 2 marketing strategy could be a win-win for both sides.

Why? Well, you can&apos;t do a whole lot with Adobe Flex 2 if you don&apos;t have a server-side technology to do things like database querying, authorization/authentication, etc. It&apos;s a presentation layer technology (the &quot;View&quot; in the Model-View-Controller pattern for those wishing to be buzzword-compliant), and Adobe has been preaching for months now that the single easiest way to integrate Adobe Flex 2 with your back-end (the &quot;Model&quot;) is via ColdFusion (in this case, the &quot;Controller&quot;). So why not add ColdFusion MX into this agreement and subsequently provide resources for showing just how smoothely integrated the two technologies are. You&apos;d have the expertise of the Adobe ColdFusion team providing high-quality examples while the O&apos;Reilly team provides the author/publishing/conference resources to expose this seamless integration to the masses. In return, O&apos;Reilly gets an extremely passionate ColdFusion development community to support their efforts.

You almost literally can&apos;t find a competent developer who hasn&apos;t heard of or used an &lt;a href=&quot;http://www.oreilly.com/&quot; target=&quot;_blank&quot;&gt;O&apos;Reilly-published book&lt;/a&gt; -- they&apos;re everywhere and are usually excellent resources. While I know that they decided a while back &lt;a href=&quot;http://www.brooks-bilson.com/blogs/rob/index.cfm?mode=entry&amp;entry=C205BF41-D608-AED8-75C377DDA7EE6174&quot; target=&quot;_blank&quot;&gt;not to publish a ColdFusion MX 7 book&lt;/a&gt; due to sluggish sales of the 6.1 version, there could have been alternative resources published with this agreement that might have focused even a small part of the spotlight on the power and ease of developing with ColdFusion (i.e., O&apos;Reilly-backed articles, samples, etc.).

Adobe currently seems to have their marketing engine squarely focused on Adobe Flex 2 and ActionScript 3, as well they should. I just hope that the same zeal with which they&apos;re pursuing the growing rich internet application development community is equalled or surpassed with next year&apos;s &lt;a href=&quot;http://www.adobe.com/devnet/coldfusion/articles/cf_interview.html&quot; target=&quot;_blank&quot;&gt;ColdFusion 8, aka Scorpio&lt;/a&gt;, release.
				
				</description>
				
				<category>Frameworks</category>
				
				<category>Marketing</category>
				
				<category>ColdFusion</category>
				
				<category>Flex</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Thu, 14 Sep 2006 17:15:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/9/14/adobe-copublishing-oreilly-coldfusion</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>What&apos;s Your Ideal Source Control Setup?</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/9/6/ideal-source-control-setup</link>
				<description>
				
				Recently, I&apos;ve been wrestling with the task of migrating our current source control solution from Microsoft&amp;reg; Visual SourceSafe&amp;reg; over to Subversion. Now, I know there are many of you who are cringing at the mere mention of using VSS. However, until recently, it has been an extremely stable solution for our source control needs. And hey, at least we &lt;em&gt;have&lt;/em&gt; a source control solution, right?!

Our needs are changing though, and our team is clearly outgrowing the feature set that SourceSafe provides. From directory-level branching to better binary file compression and storage to concurrent editing, &lt;a href=&quot;http://subversion.tigris.org/&quot; target=&quot;_blank&quot;&gt;Subversion&lt;/a&gt; clearly fulfills our needs...and it&apos;s free to boot. I keep my personal files in a Subversion repository at home, so I&apos;m familiar with it when working on one machine. However, now I need to set it up for a couple of our departments (we got some non-IT departments into version control!) and I&apos;m trying to figure out the best way to do it. The requirements are fairly straightforward:

&lt;ul&gt;
&lt;li&gt;All access will be internal. In fact, no public access will be granted to anybody. However, not all users will have an account on the repository&apos;s server.&lt;/li&gt;
&lt;li&gt;Must be able to fully migrate the existing VSS repository to Subversion.&lt;/li&gt;
&lt;li&gt;Must be able to support roughly 15-20 users concurrently accessing the repository. There may be more user than that overall, but that&apos;s the targeted number of actual concurrent use.&lt;/li&gt;
&lt;li&gt;Must be able to lock down certain projects such that users must authenticate themselves when trying to access the files.&lt;/li&gt;
&lt;/ul&gt;

OK, now that the requirements have been stated, I need your help figuring out the best approach.

First and foremost, where to physically put the repository. We have a shiny new development box (running Red Hat Linux 4.0) for our team with tons and tons of free space. I was thinking about creating a partition there dedicated to housing the repository. At the same time, I&apos;m hesitant to put the repository on the same box as where most of the development is going to be taking place (we all have our own JRun/ColdFusion instances on this box, so we&apos;re separate, but sharing the same overall resources). I just don&apos;t trust all the banging that the box will be taking to house our core file repository, even though we&apos;ll be taking proper backups on a nightly basis. Should I phsyically separate the repository from the dev box?

With regard to the network protocol, from my research, it seems like the best setup is to install Apache on the server and manage the file access and user autentication using the mod_dav_svn module. However, this feels like overkill to an extent. I have the excellent book &lt;a href=&quot;http://www.pragmaticprogrammer.com/titles/svn2/index.html&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;Pragmatic Version Control using Subversion 2nd Ed.&lt;/em&gt;&lt;/a&gt; by Mike Mason (and published by Dave Thomas and Andy Hunt of &lt;a href=&quot;http://www.pragmaticprogrammer.com/&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;Pragmatic Programmer&lt;/em&gt;&lt;/a&gt; fame), so I&apos;m aware of the pros and cons of each of the protocol options (svnsserve, svnserve+ssh, and Apache). However, I&apos;m looking for other real-world opinions on each, based on the stated requirements.

With regard to migrating the existing VSS repository, this is a biggie. The problem I have with a lot of the current presentations about using Subversion is that they all assume that you&apos;re starting with a clean slate. However, we have literally years worth of comments, tags, labels, etc., that are an absolute &quot;must keep.&quot; To that end, I have been monitoring the open source project &lt;a href=&quot;http://www.pumacode.org/projects/vss2svn/&quot; target=&quot;_blank&quot;&gt;Vss2Svn&lt;/a&gt; with the hopes of using their solution for migrating our repository. However, it doesn&apos;t look quite ready for prime time just yet. Has anybody succesfully used it by chance? I also found a solution from &lt;a href=&quot;http://www.polarion.com/&quot; target=&quot;_blank&quot;&gt;Polarion&lt;/a&gt; called &lt;a href=&quot;http://www.polarion.com/subv/index_pro.php&quot; target=&quot;_blank&quot;&gt;Subversion Pro&lt;/a&gt; that looks to be free for at least the migration aspects of the product. Has anybody used this one?

Lastly, are there any tips on the best way to set up authorization/authentication? Anything else I&apos;m overlooking? We&apos;re currently using the amazing &lt;a href=&quot;http://www.fogbugz.com/&quot; target=&quot;_blank&quot;&gt;FogBugz&lt;/a&gt; project management system from Fog Creek software (it integrates with virtually all source code management systems, which is great), so we don&apos;t need things like &lt;a href=&quot;http://trac.edgewall.org/&quot; target=&quot;_blank&quot;&gt;Trac&lt;/a&gt;.

Thanks for any insights.
				
				</description>
				
				<category>Model-Glue</category>
				
				<category>CSS</category>
				
				<category>Frameworks</category>
				
				<category>Oracle</category>
				
				<category>Databases</category>
				
				<category>Microsoft</category>
				
				<category>ColdFusion</category>
				
				<category>Flex</category>
				
				<category>Technology</category>
				
				<pubDate>Wed, 06 Sep 2006 13:00:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/9/6/ideal-source-control-setup</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>For Tech Job Seekers and Employers, Joel Spolsky&apos;s New Site Is A Great Idea</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/9/5/tech-job-seekers-employers-joel-spolsky</link>
				<description>
				
				I&apos;ve &lt;a href=&quot;http://www.cbetta.com/blog/index.cfm/2006/8/11/what-other-blogs-do-you-read&quot; target=&quot;_blank&quot;&gt;mentioned before&lt;/a&gt; that I&apos;m a big fan of &lt;a href=&quot;http://www.joelonsoftware.com/&quot; target=&quot;_blank&quot;&gt;Joel Spolsky&lt;/a&gt;. He just &quot;gets&quot; how to run a technology company and treat his &lt;a href=&quot;http://www.fogcreek.com/&quot; target=&quot;_blank&quot;&gt;Fog Creek&lt;/a&gt; employees. Well, he has just set up a new &lt;a href=&quot;http://jobs.joelonsoftware.com/&quot; target=&quot;_blank&quot;&gt;Jobs site&lt;/a&gt; that essentially aims to take the annoying marketing and recruiting out of job hunting, while providing high-quality tech listings. Are you tired of vague job listings that ask if you want to work for a &quot;well established, leading online company,&quot; but get no more information than that until you talk with a recruiter? Well, apparently, so is Joel (and me too, for that matter).

He&apos;s not aiming for it to supplant the gi-normous job boards like &lt;a href=&quot;http://www.monster.com/&quot; target=&quot;_blank&quot;&gt;Monster&lt;/a&gt; or &lt;a href=&quot;http://hotjobs.yahoo.com/&quot; target=&quot;_blank&quot;&gt;HotJobs&lt;/a&gt;. Rather, his goal is to keep it as a niche site where you can get the real job details for a given position without any hassle. Unique features include:

&lt;ul&gt;
&lt;li&gt;For candidates, the site is entirely free, including not having to register for anything.&lt;/li&gt;
&lt;li&gt;Listings expire after 3 weeks. As &lt;a href=&quot;http://www.joelonsoftware.com/items/2006/09/05b.html&quot; target=&quot;_blank&quot;&gt;he notes&lt;/a&gt;, most candidates don&apos;t apply for jobs that have been posted for longer than that.&lt;/li&gt;
&lt;li&gt;All job posts must disclose the company at which the position is located. No &quot;Company Confidential&quot; listings are allowed. Since there are no recruiters involved, you can do all the research you want for a position without being hassled.&lt;/li&gt;
&lt;li&gt;For a small $350 fee, an employer can post listings on the site. In comparison to the 15%-20% of base salary that recruiting fees that many recruiters charge employers for placing a candidate, this is chump change.&lt;/li&gt;
&lt;li&gt;He offers his standard 90-day money back guarantee. If you don&apos;t find anybody to fill the position, hire the wrong candidate, if they quit just after starting, etc., you get your $350 back unquestioned. (Charities and non-profits can get in touch with their customer support reps about reduced fees.)&lt;/li&gt;
&lt;li&gt;The job posting form contains checkboxes for answering each of the 12 questions of the &lt;a href=&quot;http://www.joelonsoftware.com/articles/fog0000000043.html&quot; target=&quot;_blank&quot;&gt;Joel Test&lt;/a&gt;, which is his measure of the quality of a software team. This is a non-marketing way to really gauge the type of team you might be joining.&lt;/li&gt;
&lt;/ul&gt;

Since this is an experiment on his part, you&apos;ll note that there is no search functionality or saved profiles or anything beyond the basic listings. (This might expand if the site proves to be successful.) However, from Google to Six Apart to BEA to MySQL, there are a number of big-name company jobs currently listed, along with a lot of other smaller companies who I have seen are doing some great work.

I&apos;m not sure how the site will hold up, if only because recruiters will always find a way to post seemingly legitimate job listings, and there doesn&apos;t seem to be a screening process for who is posting the job. That being said, I love the idea of side-stepping recruiters with no tech background who are seemingly the gatekeepers to a lot of great jobs.

&lt;a href=&quot;http://www.joelonsoftware.com/items/2006/09/05b.html&quot; target=&quot;_blank&quot;&gt;Here&apos;s Joel&apos;s official announcement&lt;/a&gt;.
				
				</description>
				
				<category>Ruby on Rails</category>
				
				<category>CSS</category>
				
				<category>Marketing</category>
				
				<category>Oracle</category>
				
				<category>Databases</category>
				
				<category>Microsoft</category>
				
				<category>ColdFusion</category>
				
				<category>Flex</category>
				
				<category>Blogging</category>
				
				<category>Technology</category>
				
				<pubDate>Tue, 05 Sep 2006 17:40:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/9/5/tech-job-seekers-employers-joel-spolsky</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>The End of JRun?</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/9/1/end-of-jrun</link>
				<description>
				
				Has Adobe JRun finally gone up to software heaven (if you believe in that sort of stuff) to party with Generator and Spectra? Well, there&apos;s no definitive statement from Adobe, but this very quietly posted &lt;a href=&quot;http://www.adobe.com/go/b8f2bf16&quot; target=&quot;_blank&quot;&gt;TechNote about the JRun 4.5 Beta status&lt;/a&gt; sure makes it sound that way. This sentence in particular is ominous:

&lt;blockquote&gt;
&lt;em&gt;Next steps for JRun and where it fits in the product calendar continue to be under discussion at the Product Manager level and such evaluation will be communicated to customers as soon as it becomes available.&lt;/em&gt;
&lt;/blockquote&gt;

I&apos;ve felt for a few years now that JRun should have been end-of-life&apos;d (is that even English?) as a standalone product. Frankly, it never has been terribly well supported (community-wise), and there was even one time where I called in a web connector bug and the engineer who literally wrote the code didn&apos;t understand what her code was doing!

I don&apos;t think it should be adandoned entirely though. Rather, I feel that any fixes and/or enhancements should be in the context of making complementary server products such as Adobe ColdFusion MX, Adobe LiveCycle, and Adobe Flex Data Services operate better.

If this is the end of the road for JRun, so long, and thanks. It&apos;s been a good (and sometimes frustrating) experience!
				
				</description>
				
				<category>ColdFusion</category>
				
				<category>Flex</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Fri, 01 Sep 2006 08:45:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/9/1/end-of-jrun</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Two Important Bugs in the Adobe ColdFusion MX 7.0.2 Release</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/8/31/two-important-bugs-adobe-coldfusion-702-release</link>
				<description>
				
				It&apos;s been a while since my last post, and one major reason for this is because I have been utterly tearing my hair out trying to figure out why a simple migration from a ColdFusion MX 6.1 instance to a ColdFusion MX 7.0.2 instance simply wasn&apos;t working correctly. Hours and hours of time have been spent trying to figure out why client variables weren&apos;t be stored correctly when updating their values. During the debugging process, I came across two pretty important bugs in the 7.0.2 release. One probably isn&apos;t so bad because it seems to only happen with the internal JRun web server (which nobody should use in production anyway), and ColdFusion is at least consistent with how it handles it. However, the second bug is an important one to consider.

&lt;strong&gt;Double JSESSIONID Values Being Set&lt;/strong&gt;

If you&apos;re using the Enterprise version of ColdFusion MX, you have the option of using the J2EE session variable mechanism rather than the built-in ColdFusion session variable mechanism. If you&apos;re not familiar with the difference, read &lt;a href=&quot;http://livedocs.macromedia.com/coldfusion/7/htmldocs/00001156.htm&quot; target=&quot;_blank&quot;&gt;this page in the LiveDocs&lt;/a&gt; to understand  each option. I&apos;ll still be here when you get back -- don&apos;t worry.

Now that we&apos;re all back, the JSESSIONID is critical to ColdFusion being able to &quot;look up&quot; your stored session structure on each page request. And since I need to be able to replicate sessions in a cluster, which only J2EE session variables support, this is a must-use feature for me. However, when using the internal JRun web server (which you should &lt;strong&gt;&lt;em&gt;only&lt;/em&gt;&lt;/strong&gt; use for development), when you request your site&apos;s root (i.e., http://www.mysite.com/, ColdFusion wrongly sets &lt;em&gt;two&lt;/em&gt; JSESSIONID values, which can cause it to &quot;lose&quot; your session scope on subsequent requests. Here is an example HTTP header that is set on an initial page request to a site root:

&lt;code&gt;
http://beast:8200/

GET / HTTP/1.1
Host: beast:8200
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 30
Connection: keep-alive

HTTP/1.x 200 OK
Set-Cookie: CFID=102;expires=Thu, 14-Aug-2036 13:20:27 GMT;path=/
Set-Cookie: CFTOKEN=66021081eab5f673-3609FCE3-CF52-FC2B-25E974A728406FC5;expires=Thu, 14-Aug-2036 13:20:27 GMT;path=/
Set-Cookie: JSESSIONID=583033e973025152237c;path=/
Set-Cookie: JSESSIONID=58306b4060d425456d5c;path=/
Date: Tue, 22 Aug 2006 13:20:27 GMT
Content-Language: en-US
Content-Type: text/html; charset=UTF-8
Connection: close
Server: JRun Web Server
&lt;/code&gt;

See the bug? There is a double Set-Cookie directive that sets not one, but &lt;em&gt;two&lt;/em&gt; JSESSIONID values, effectively creating two sessions on your server for every one. This has a nasty side-effect in that more server resources are taken up per user because they technically have two sessions for every one, even though only one is actually used after the initial request. Interestingly, if I were to manually add the index.cfm page to the URL request, i.e., http://www.mysite.com/index.cfm, only one JSESSIONID value is set. So the bug occurs when requesting your site&apos;s root document without explicitly typing the desired CFM template. (And yes, if you note the Date value, you&apos;ll see just how long I&apos;ve been trying to figure these bugs out!) Lastly, I should note that when I did a test in my MX 6.1 instance, the same bug exists there. So this isn&apos;t exclusive to CFMX 7.

&lt;strong&gt;Old DataDirect Drivers Ship with MX 7.0.2, Breaking Client Variable Updates&lt;/strong&gt;

In my opinion, this bug (and yes, it&apos;s a bug) is the much bigger one of the two because this is one that will find its way out to a production environment if you&apos;re not aware of it, and has nothing to do with the web server being used. A long story short, Adobe ships the DataDirect &lt;strong&gt;3.3&lt;/strong&gt; driver set in the 7.0.2 bits (released on 6/28 of this year), even though the &lt;strong&gt;3.5&lt;/strong&gt; driver set was released as &lt;a href=&quot;http://www.adobe.com/go/42dcb10a&quot; target=&quot;_blank&quot;&gt;a TechNote&lt;/a&gt; last October. So much for the point releases being cumulative updates!

You might be wondering why this is such a big deal to me. Well, there are two reasons. First, we use Oracle 10g Release 2, which only the DataDirect 3.5 driver set supports. Second, it turns out that client variable records (in the CDATA and CGLOBAL tables) were not being updated, which meant that once you logged in to our web site (where a few client variables are set) and then clicked to a subsequent page, it would appear as if you had never logged in. The initial insert of the record was working fine (which you can see in the HTTP header sample I pasted above -- it&apos;s the CFID/CFTOKEN value), but any updates to the record would silently fail (I say &quot;silently&quot; because ColdFusion handles this for you under the hood, and it doesn&apos;t log anything when problems occur). I was going absolutely nuts trying to figure out why it wouldn&apos;t update, and the Spy feature of the JDBC drivers (described at the bottom of the aforementioned TechNote) simply wasn&apos;t working. After thinking and thinking and thinking, it belatedly occurred to me that the Spy features were only baked in to the 3.5 driver set. So, on a hunch, I ran the CF script below between my MX 6.1 instance (which was working perfectly fine) and the MX 7.0.2 instance to check the driver versions. (&lt;em&gt;Note: The output is written to your log file, so your screen will be blank.&lt;/em&gt;)

&lt;code&gt;
&lt;cfset drivernames = &quot;macromedia.jdbc.oracle.OracleDriver, macromedia.jdbc.db2.DB2Driver, macromedia.jdbc.informix.InformixDriver, macromedia.jdbc.sequelink.SequeLinkDriver, macromedia.jdbc.sqlserver.SQLServerDriver, macromedia.jdbc.sybase.SybaseDriver&quot; /&gt;
&lt;!--- replace all spaces ---&gt;
&lt;cfset drivernames = replace(drivernames,&quot; &quot;,&quot;&quot;,&quot;all&quot;) /&gt;
&lt;cfloop index=&quot;drivername&quot; list=&quot;#drivernames#&quot;&gt;
	&lt;cfobject action=&quot;create&quot; class=&quot;#drivername#&quot; name=&quot;driver&quot; type=&quot;java&quot; /&gt;
	&lt;cfset args = arrayNew(1) /&gt;
	&lt;cfset driver.main(args) /&gt;
&lt;/cfloop&gt;
&lt;/code&gt;

The MX 6.1 results:

&lt;code&gt;
[Macromedia][Oracle JDBC Driver]Driver Version: 3.50.13 (016217.009407.012821)
[Macromedia][DB2 JDBC Driver]Driver Version: 3.50.12 (016217.009407.017715)
[Macromedia][Informix JDBC Driver]Driver Version: 3.50.12 (016217.009407.003505)
[DataDirect][SequeLink JDBC Driver]Driver Version: 5.4.0038
[Macromedia][SQLServer JDBC Driver]Driver Version: 3.50.13 (016217.009407.011311)
[Macromedia][Sybase JDBC Driver]Driver Version: 3.50.12 (016217.009407.007110)
&lt;/code&gt;

and the MX 7.0.2 results:

&lt;code&gt;
[Macromedia][Oracle JDBC Driver]Driver Version: 3.3.48 (008852.005015.004259)
[Macromedia][DB2 JDBC Driver]Driver Version: 3.3.48 (008852.005015.007851)
[Macromedia][Informix JDBC Driver]Driver Version: 3.3.48 (008852.005015.002208)
[DataDirect][SequeLink JDBC Driver]Driver Version: 5.4.0038
[Macromedia][SQLServer JDBC Driver]Driver Version: 3.3.48 (008852.005015.006337)
[Macromedia][Sybase JDBC Driver]Driver Version: 3.3.48 (008852.005015.003526)
&lt;/code&gt;

After seeing this, I swapped out the old 3.3.48 driver set with the 3.5.13 driver set and everything has been working without issue since.

If anybody on the Adobe ColdFusion team happens to read this, the installer bits need to be updated with the 3.5 driver set. If it passed your regression tests such that it was officially released as a TechNote, then all subsequent &quot;cumulative&quot; updaters and downloadable installers should contain the updated drivers. Further, the fact that the 3.3 drivers ship with MX 7.0.2 means that your &lt;a href=&quot;http://www.adobe.com/products/coldfusion/productinfo/systemreqs/fp_frameset.html&quot; target=&quot;_blank&quot;&gt;System Requirements&lt;/a&gt; page is wrong because the 3.3 drivers do not work with Oracle 10g Release 2. Also, please don&apos;t call something &quot;cumulative&quot; if it is, in fact, not cumulative. Since I was under the impression that the Updaters were cumulative, it obviously wasn&apos;t my first thought to check the JDBC driver version for a regression. Now I need to go back and look at the web connector versions and other items to make sure that those were properly baked in to the latest release. Lastly, If you&apos;re not going to update the drivers, then you have to clearly state this in the &lt;a href=&quot;http://www.adobe.com/support/documentation/en/coldfusion/mx702/cf702_releasenotes.html&quot; target=&quot;_blank&quot;&gt;Release Notes&lt;/a&gt;, as there was no mention of this whatsoever.

Anyway, I hope my two weeks of pure frustration helps somebody solve any related setup issues they might be having. Incidentally, my set is ColdFusion MX 7.0.2 on Red Hat Enterprise Linux 4.0 (SELinux turned off) using the internal JRun web server. The above bugs appear in my environment and I do not have a means of testing others. If you&apos;d like to try and confirm these issues in other environments, go ahead and comment back here what you find.

Once last shout out to Jochem van Dieten for sticking with me on &lt;a href=&quot;http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=1&amp;catid=143&amp;threadid=1185721&amp;enterthread=y&quot; target=&quot;_blank&quot;&gt;my forum thread on this subject&lt;/a&gt;. It was very much appreciated.
				
				</description>
				
				<category>ColdFusion</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Thu, 31 Aug 2006 15:40:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/8/31/two-important-bugs-adobe-coldfusion-702-release</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Adobe Product Notification RSS Feeds</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/8/11/adobe-product-notification-rss-feeds</link>
				<description>
				
				I thought I had blogged this before, but I guess not. Did you know that Adobe has &lt;a href=&quot;http://www.adobe.com/support/rss/&quot; target=&quot;_blank&quot;&gt;RSS Product Notification feeds&lt;/a&gt; for every product that they offer? Stay up-to-date on the latest news, including TechNote, hotfix and security patch notifications for your product(s) of choice.

&lt;a href=&quot;http://www.adobe.com/support/rss/&quot; target=&quot;_blank&quot;&gt;Check it out!&lt;/a&gt;
				
				</description>
				
				<category>ColdFusion</category>
				
				<category>Flex</category>
				
				<category>Blogging</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Fri, 11 Aug 2006 14:39:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/8/11/adobe-product-notification-rss-feeds</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>A New Week, A New ColdFusion 8 Wishlist</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/7/31/a-new-week-a-new-coldfusion-8-wishlist</link>
				<description>
				
				OK, so at &lt;a href=&quot;http://www.dcooper.org/blog/client/index.cfm?mode=entry&amp;entry=AC821FEF-4E22-1671-52B753E5549389FA&quot; target=&quot;_blank&quot;&gt;Damon&apos;s request&lt;/a&gt;, I&apos;m going to submit my ColdFusion 8, aka Scorpio, wishlist for feedback. Contrary to &lt;a href=&quot;http://www.web-relevant.com/blogs/cfobjective/index.cfm?mode=entry&amp;entry=A787998A-BDB9-5320-EACF85C984E61D7B&quot; target=&quot;_blank&quot;&gt;Jared&apos;s sentiments&lt;/a&gt;, I think this is the best time for the ColdFusion community to air its multitude of bug/enhancement/feature requests. Sure, some (lots, even) of the suggestions might be off-base and out of ColdFusion&apos;sy intended scope, but I believe it&apos;s more important that we have people passionate enough to think and contribute their thoughts rather than be chastised for their efforts. And you know what? You never know what seemingly crazy idea could evolve into something useful. Also, as ColdFusion matures, it not only competes with other technologies, but it competes with its own previous version (much like Windows XP  adoption has been slower than anticipated due to existing satisfaction with Windows 2000). Therefore, it&apos;s increasingly important to hit more &quot;home runs&quot; with each new major release. 

I&apos;ve broken my list down into three major areas: Enterprise (Platform-level), Developer-level, and Language-level. Further, not every wish below are ones that I&apos;d personally like to see, but I believe they&apos;re all worth discussing at some level. Lastly, they are in no particular order. I know it&apos;s a really long list, but a major release shouldn&apos;t just be about fixes; it needs to innovate and that&apos;s what I think certain items below allow the user to do. Hence the long, detailed list with lot of explanatory text for each point.

&lt;strong&gt;Enterprise (Platform-level)&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Serializable CFCs:&lt;/strong&gt; Come on, it&apos;s time to leap that last technical hurdle (I think it was either WebSphere or WebLogic that was the obstacle to getting this in CF 7) and make my cluster life easier. I&apos;m sick of my workaround for a basic enterprise feature.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Allow logging to be done to one location rather than forcing to cfusion/logs:&lt;/strong&gt; This one&apos;s important to me as a developer who works in a clustered environment. Being forced to write to the cfusion/logs directory is annoying because I then have to guess which server just served a request by looking at the timestamps. As you add more instances to the cluster, the more of a hassle this becomes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Better integration with Word and Excel file formats:&lt;/strong&gt; Regardless of how you feel about Microsoft, their format is the &lt;em&gt;de facto&lt;/em&gt; standard in virtually all enterprise organizations. Writing Word and Excel documents (including charts, etc.) would be immensely helpful. We use a product called &lt;a href=&quot;http://www.actuate.com/products/javareporting/spreadsheet.asp&quot; target=&quot;_blank&quot;&gt;e.Spreadsheet by Actuate&lt;/a&gt; for our XLS reporting needs, and it&apos;s a pure Java solution that supports all but 2 extremely obscure Excels features. It has matrices, charting, pivot tables, in addition to formulas. So this is definitely technically possible to accomplish and could be a very compelling feature for an enterprise.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Better management of whitespace:&lt;/strong&gt; I&apos;ve never understood why ColdFusion stinks with whitespace suppression. On the one hand I recognize the argument that it can be tricky to determine what is and is not intended whitespace, but other languages don&apos;t have this problem, so clearly this must be solvable. We use (sort of) &lt;a href=&quot;http://www.empirix.com/default.asp?action=article&amp;ID=95&quot; target=&quot;_blank&quot;&gt;Empirix&apos;s e-Test Suite&lt;/a&gt; for our functional and load testing needs. However, cleaning up whitespace technically causes regression test failures. Now, I&apos;m not saying this should be solved because one product has problems with it, but I just don&apos;t see any need to keep whitespace around in the generate HTML source.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Upgrade Web Services Engine to Axis2:&lt;/strong&gt; Of all the wishlists I&apos;ve seen, I have to say I&apos;m a bit surprised I didn&apos;t see more in the way of web services enhancements. Axis2 supports REST, which I personally prefer to SOAP, as it&apos;s unbelievably easier to work with. Also, it has better support for true web services security, which is a solution I desperately need. Appending a user name and password to the WSDL URL doesn&apos;t cut it. Introduce formal features for both of those and I&apos;m a much happier person.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LiveCycle Integration:&lt;/strong&gt; I&apos;m still getting a feel for what exactly &lt;a href=&quot;http://www.adobe.com/products/livecycle/&quot; target=&quot;_blank&quot;&gt;LiveCycle&lt;/a&gt; does and doesn&apos;t do, but I would wager that most organizations have some sort of document flow process that could stand to be better managed. LiveCycle, from what I can tell, does this. I&apos;d love to be able to integrate an enterprise-level document flow system into my company&apos;s practices, and the ease with which CF could potentially offer that is intriguing. I&apos;m still thinking through this one a bit though.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Better search capabilities for clustered environments:&lt;/strong&gt; OK, I know that Tom Jordahl and others worked their tails off on upgrading the Verity engine for the CF 7 release, and the new features look incredible. But I can&apos;t use them because I&apos;m in a clustered environment and there are no provisions for properly managing the collections across the servers (I think it&apos;s licensing or something). I like searching. I need searching. I can&apos;t use what&apos;s currently there, and I&apos;d prefer to stay away from a database-centric solution or pay $100,000+ for a modest solution.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Essentially, Fusion Reactor or SeeFusion:&lt;/strong&gt; This one I know is being worked on because Adobe&apos;s been pretty open about it, but it really needs to be a home run. Lack of metrics and insight into CF instances are the bane of many developers&apos; lives. I hope that Adobe follows Integral&apos;s lead by providing incredibly helpful visual indications and graphs so that I can get a feel for what&apos;s going on by literally glancing at my monitor.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plug-in based architecture to turn off Verity, Flash Forms, etc.&lt;/strong&gt; OK, let&apos;s face it -- lots of deployments don&apos;t use certain &quot;add-ons&quot; to ColdFusion, such as Verity, Flash Forms, and Reporting. Whether it be the inadequacy of the existing feature set or the reliance on a previously-existing infrastructure, the aforementioned features are loaded on each and every re-boot of the server instance, taking up valuable resources. I&apos;d like the ability to turn on and off (via the CF Administrator or Admin API) pieces of the CF runtime. The floodgates were opened when Event Gateways were allowed to be turned on and off, so it should be technically possible to achieve. I&apos;d like to see this extended to the other plug-gable features so that I can reduce the memory footprint. I think hosting providers in particular would use this feature.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Full admin API hooks to everything CF Administrator offers:&lt;/strong&gt; The CF Admin API that shipped with CF 7 was great, but I&apos;d like to see a one-for-one match in the offered features. This would be immensely convenient for vendors who want to package up an application but provide their own interface to the configuration settings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Role-based CF Administrator:&lt;/strong&gt; I think this one is long overdue. Your security is only as strong as its weakest link. If one were to get the password to a CF Administrator, there&apos;s way too much that can be done by default. A basic roles-based login enhancement so that certain areas (i.e., datasources) can be locked down while other less-hurtful settings (i.e., debugging settings) can be accessed by anybody would be incredibly useful.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhance the report engine:&lt;/strong&gt; It&apos;s too easy to point out the various bugs that people have reported with regard to the Reporting engine in CF 7. It was a first attempt, and it was to be expected that there would be problems. However, the &quot;intro period&quot; is over. I&apos;d like to see a robust reporting engine implemented that will allow me to include complex charts and graphs and page breaks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;64-bit and JDK 1.5 support:&lt;/strong&gt; Damon already posted in &lt;a href=&quot;http://www.cbetta.com/blog/index.cfm/2006/5/19/coldfusion-needs-a-roadmap#c4E60C200-DB80-08D4-FA75DC4F2BC0AC1A&quot; target=&quot;_blank&quot;&gt;one of my previous entries that Scorpio has JDK 1.5 support&lt;/a&gt;, but it&apos;s not out yet so I&apos;m listing it! ;) As for 64-bit support, I&apos;d like to see a pure 64-bit kit available so that I can take advantage of the larger per-instance memory spaces that 64-bit platforms allow.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;.NET Runtime:&lt;/strong&gt; This one is sure to draw the ire of many, and still others will make the point that &quot;New Atlanta does this with &lt;a href=&quot;http://www.newatlanta.com/products/bluedragon/index.cfm&quot; target=&quot;_blank&quot;&gt;BlueDragon&lt;/a&gt; already, so why waste our time.&quot; Here&apos;s the thing though. It &lt;a href=&quot;http://www.eweek.com/article2/0,1895,1995495,00.asp&quot; target=&quot;_blank&quot;&gt;has been reported recently that .NET has surpassed Java as the development platform of choice&lt;/a&gt;. I personally don&apos;t think that&apos;s accurate at all, but there&apos;s no denying that .NET has made significant inroads. Why not offer the ability to deploy on both of the major enterprise platforms? It can only increase ColdFusion&apos;s exposure while opening up new sales channels for the product.&lt;/li&gt;
&lt;/ul&gt;

&lt;strong&gt;Developer-level&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CFDoc:&lt;/strong&gt; This is my second biggest enhancement request for CFCs (serializing them being my biggest). Documentation is so critical to any project. But this documentation doesn&apos;t always have to be a Word document with use cases and &quot;business-speak.&quot; Just as important is the API documentation, and let&apos;s face it, the hint attribute just doesn&apos;t cut it. I&apos;d like to see a proper &lt;a href=&quot;http://java.sun.com/j2se/javadoc/&quot; target=&quot;_blank&quot;&gt;Javadoc&lt;/a&gt;/ASDoc implementation for ColdFusion so that I&apos;m not confined to just a phrase or two. If you provide a more robust solution for documentation, I&apos;d wager you&apos;ll see more robust developer documentation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IDE overhaul:&lt;/strong&gt; This one&apos;s a biggie and is likely a whole separate development cycle, but I had to throw this one in here. Mark Drew has done a phenomenal job of taking over the &lt;a href=&quot;http://www.cfeclipse.org/&quot; target=&quot;_blank&quot;&gt;CFEclipse&lt;/a&gt; effort. But the reality is that his efforts and the efforts of many others who have contributed to the project all come in their spare time. That is neither fair to them nor to the CF development community who are essentially at their mercy when it comes to bug fixes (and yes, there are bugs). It&apos;s been over a year since the last official, stable release. ColdFusion needs a professional IDE. I have been working with Flex 2 lately, and it&apos;s downright appalling to see the level of professional polish on the Flex Builder IDE versus the CFEclipse IDE. That&apos;s not to be taken as a shot at Mark et al. Rather, it&apos;s just a recognition that I am immensely more productive in the Flex Builder IDE than I am in the CFEclipse IDE. Flex is about 2 years old and ColdFusion is 11 years old, and Flex development productivity blows away ColdFusion development productivity. That&apos;s a shame and I hope that Adobe finds the resources to dedicate a team of developers who can polish up CFEclipse by providing me more than RDS support, for which I have zero need. Things like CFC introspection and recognition that I didn&apos;t properly &lt;em&gt;var&lt;/em&gt; scope a variable are much more useful.&lt;/li&gt;
&lt;/ul&gt;

&lt;strong&gt;Language-level&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Concept of null:&lt;/strong&gt; First and foremost, I&apos;m not necessarily talking about being able to type &lt;em&gt;null&lt;/em&gt; itself. I recognize that the underlying engine would need a serious overhaul to be able to support it. However, I need to be able to declare a cfargument as a type of numeric, yet still have the option of not passing a value in without having to default to 0. In a lot of the work that I do, zero has a very real meaning and it can&apos;t be used as a conditional check to see if a numeric value is valid. Further, I shouldn&apos;t have to switch the datatype and use a string instead because that&apos;s not the correct self-documentation of what that argument is.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Re-do Flash Forms:&lt;/strong&gt; One thing that I noticed at CFUNITED was how even the Adobe employees were making fun of Flex 1.5 because of how hard it was to do things relative to Flex 2. Flash Forms, in their current incarnation, just don&apos;t cut it. It&apos;s a &quot;cute&quot; feature without any real-world possibility of implementing. I vote that it be entirely overhauled and that the Flex 2 engine is embedded. Then you can wheel and deal with some incredible user interfaces while providing the ease of use that we have come to know with ColdFusion. For backwards compatibility, if it can&apos;t just be upgraded without touching anything, I would suggest that there be a toggle switch between 1.5 and 2 to maintain backwards compatibility (i.e., a &lt;em&gt;version&lt;/em&gt; attribute) so that existing implementations won&apos;t break.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spry integration:&lt;/strong&gt; &lt;a href=&quot;http://labs.adobe.com/technologies/spry/&quot; target=&quot;_blank&quot;&gt;Spry&lt;/a&gt; isn&apos;t quite ready for production just yet (nor is it presented that way), but it&apos;s a compelling alternative to Flash-based interfaces. The current ability to create an accordion interface is just a small part of its potential as not only an interactive data bus but a viable UI alternative to both &quot;conventional&quot; HTML and Flash.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interfaces:&lt;/strong&gt; Yep, I&apos;m saying it. I&apos;d like to see interfaces. Does ColdFusion need them? Nope. Did ColdFusion need CFCs? Nope. I both built and saw some pretty complex applications pre-MX, and I could have continued to develop in that paradigm if I wanted to. But CFCs became compelling because they allowed to me to do my work in a more efficient, cleaner way. In my opinion, interfaces offer me this potential as well, as they allow a system architect to &quot;stub&quot; a domain model and leave it to the developers to implement the details. Now, don&apos;t misunderstand, I&apos;m not meaning to suggest that introducing interfaces will be as significant as introducing CFCs. And I&apos;m sorry, I just don&apos;t buy the argument that somehow introducing interfaces makes ColdFusion harder to develop with. First off, it&apos;s optional and second, it&apos;s truly gives you the power to &quot;develop to an interface, not an implementation.&quot; Perhaps a new file type of &lt;em&gt;.cfi&lt;/em&gt; could be introduced to allow an application architect to specify the method signatures, while also introducing an attribute to cfcomponent called &lt;em&gt;implements&lt;/em&gt;, which allows users to specify multiple &lt;em&gt;.cfi&lt;/em&gt; classes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deprecate cfscript:&lt;/strong&gt; Don&apos;t remove it, just formally acknowledge that the engineers are not going to be doing anything more with it. I was a big cfscript fan for a long time, but I was sick of having to have a hybrid codebase of script-based logic wrapped by tag-based features such as cflock or some such because they can&apos;t (natively) be called within a cfscript block.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add stream-based file read/write functions to support large files:&lt;/strong&gt; The &quot;read the whole file into memory before being able to do anything with it&quot; is antiquated. I don&apos;t know what the old underlying C options were (the language that pre-CFMX was written in), but Java offers some robust options for reading and writing large files by streaming. This is a must-have, and I think the increased traffic recently on the mailing lists is indicative of this.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IMAP support:&lt;/strong&gt; Let me see... there&apos;s POP, FTP, HTTP, SMS, and XMPP support, but no IMAP support? Come on, let&apos;s get this done.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add a function to distinguish between createObject() and createCFC():&lt;/strong&gt; FUD or not, shared hosts are a pain with this. My host (&lt;a href=&quot;http://www.hostmysite.com/&quot; target=&quot;_blank&quot;&gt;HostMySite&lt;/a&gt;) is not, but there are many who lock down createObject and cfobject from being used (thereby preventing CFC usage) because it provides access to the underlying Java API, which could theoretically allow malicious activities and/or suck up system resources. I&apos;m not sure how much I buy that (it&apos;s possible to do it in other ways too that aren&apos;t locked down), but the ability to distinguish between calling Java objects vs. non-Java objects at the tag-level would be valuable and helpful.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;For the CF tags that generate markup, support the ability to validate generated markup using a specified doctype:&lt;/strong&gt; A long-time pet peeve of mine. If I&apos;m going to spend the time to make my markup compliant to a certain validation level, don&apos;t hamstring me by outputting non-compliant code. Add an attribute to each affected tag called &lt;em&gt;markup&lt;/em&gt; that takes values like &quot;xhmtl&quot; or &quot;html4&quot; (i.e., &lt;em&gt;cfchart markup=&quot;xhtml&quot;&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ability to throw objects rather than strings:&lt;/strong&gt; I&apos;ve come across this particular obstacle recently and I often find myself wishing that I could throw an object using cfthrow rather than just a string. This would allow communication between the calling and target code to be a bit smoother rather than having to write workarounds for getting the appropriate information back.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add a trace() function that allows you to dump an object during execution:&lt;/strong&gt; This one&apos;s straight out of the ModelGlue framework, but there&apos;s a super handy function in there called &lt;em&gt;trace()&lt;/em&gt; that allows you to dump out any object during page execution and have it displayed in the debugging info at the bottom of the page. This allows you to see the evolution of a variable throughout the whole page rather than having to do a &lt;em&gt;cfdump/cfabort&lt;/em&gt; in broken steps.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Take the most popular cflib UDFs and make them native:&lt;/strong&gt; This is just a convenience. I would think that Ray and Rob have stats on the &quot;most downloaded UDFs&quot; or &quot;most popular UDFs.&quot; Just make our lives easier and make the top 20 or so native.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Syndication:&lt;/strong&gt; I know that there are those who are calling for a RSS tag, and quite frankly, I don&apos;t think the end-user cares if the feed is RSS or Atom as long as they get the right content. However, an &lt;a href=&quot;http://www.unto.net/unto/work/on-rss-and-atom&quot; target=&quot;_blank&quot;&gt;interesting blog entry&lt;/a&gt; I read recently got me thinking that maybe Atom is the better selection. That being said, some sort of RSS/Atom feature needs to be added to account for the major browsers offering the consumption of these feeds natively.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Full i18n features to please Paul Hastings, and the non-English speaking world:&lt;/strong&gt; This is so crucial in today&apos;s world that I&apos;ll just point to &lt;a href=&quot;http://cfg11n.blogspot.com/2006/07/me-tooscorpio-i18n-wishlist.html&quot; target=&quot;_blank&quot;&gt;Paul&apos;s recent posting&lt;/a&gt; to outline what needs to be fixed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CFImage:&lt;/strong&gt; Eleven years in and ColdFusion doesn&apos;t have anything built-in to it to really work with images on any sort of useful level. I know that some will point out that Java can do this natively, but the point of ColdFusion is to &quot;Make Hard Stuff Easy,&quot; and I don&apos;t think developers should be forced to use the Java API just to get some basic functionality.&lt;/li&gt;
&lt;/ul&gt;

I&apos;m sure there are some features that I&apos;ve left out, but, quite frankly, they don&apos;t come to mind, so how important can they really be!

Go ahead, fire back!
				
				</description>
				
				<category>Marketing</category>
				
				<category>Microsoft</category>
				
				<category>ColdFusion</category>
				
				<category>Flex</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Mon, 31 Jul 2006 00:10:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/7/31/a-new-week-a-new-coldfusion-8-wishlist</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Array vs. ArrayCollection in Flex 2 (with a ColdFusion Slant)</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/7/26/array-vs-array-collection-in-flex-2-with-a-coldfusion-slant</link>
				<description>
				
				I&apos;ve been spending a bit of personal time digging into Flex 2 development. One thing I&apos;ve noticed up front is that there&apos;s an important distinction between using an Array and an ArrayCollection when coding your applications. This is an important point for ColdFusion developers because, in CF, we only have an Array datatype while most other languages (Java, C#, etc.) have an explicit ArrayCollection class. Further, since Flex is simply a front-end development language, you&apos;re likely to be doing lots of talking to a back-end technology to return data sets and the like.

So what&apos;s the difference? Well, the &lt;a href=&quot;http://livedocs.macromedia.com/flex/2/langref/mx/collections/ArrayCollection.html&quot; target=&quot;_blank&quot;&gt;LiveDocs entry for the ArrayCollection class&lt;/a&gt; sums it up pretty well, so here it is:

&lt;blockquote&gt;
The ArrayCollection class is a wrapper class that exposes an Array as a collection that can be accessed and manipulated using the methods and properties of the ICollectionView or IList interfaces. Operations on a ArrayCollection instance modify the data source; for example, if you use the removeItemAt() method on an ArrayCollection, you remove the item from the underlying Array.
&lt;/blockquote&gt;

The first sentence in that explanation is the key: The ArrayCollection class is simply a wrapper around the Array class. So if they&apos;re both Arrays at some level, why is this important? Well, with a standard Array, what you have available to you are the basic methods and properties that you&apos;d expect in any language: push() (for adding an element to the end), pop() (for removing the last element), length (the number of indices), etc. However, the ArrayCollection class provides a suite of immensely convenient &quot;extra&quot; methods that can act on the Array.

For example, say I have an array with the values in the color spectrum:

&lt;code&gt;
var spectrumColors:Array = [&quot;red&quot;,&quot;orange&quot;,&quot;yellow&quot;,&quot;green&quot;,&quot;blue&quot;,&quot;indigo&quot;,&quot;violet&quot;];
&lt;/code&gt;

(Quick side note to ColdFusion developers: Arrays in ActionScript are zero-based. So, to directly access the element &quot;red&quot;, you&apos;d use spectrumColors[0] rather than spectrumColors[1] like you would in ColdFusion.)

However, Stephen Hawking releases a new theory that there&apos;s no such thing as &quot;green,&quot; and mandates that it should be removed from the color spectrum. How would you do it using the Array class? Honestly, it&apos;s not worth getting into the code because it&apos;s a waste of keystrokes. However, there&apos;s a really easy way to do this: Use the ArrayCollection class. The ArrayCollection class extends the &lt;a href=&quot;http://livedocs.macromedia.com/flex/2/langref/mx/collections/ListCollectionView.html&quot; target=&quot;_blank&quot;&gt;ListCollectionView&lt;/a&gt; class. Without getting into the boring details, the ListCollectionView class has a bunch of extremely handy methods for manipulating its elements, namely the addItemAt(), removeItemAt(), and getItemAt() methods. Going back to our example, if the spectrumColors variable is datatyped as being an ArrayCollection, accomodating Mr. Hawking becomes immensely easier:

&lt;code&gt;
var spectrumColors:ArrayCollection = [&quot;red&quot;,&quot;orange&quot;,&quot;yellow&quot;,&quot;green&quot;,&quot;blue&quot;,&quot;indigo&quot;,&quot;violet&quot;];

spectrumColors.removeItemAt(spectrumColors.getItemIndex(&quot;green&quot;));
&lt;/code&gt;

All the code above does is create the spectrumColors variable of type ArrayCollection, and then removes the item from the array based on the returned index value that matches the value &quot;green.&quot; See? Easy. No need to manually loop over the array to find an index or verbose constructs like that.

OK, so I promised a ColdFusion slant in the post title. Now that you have an understanding of Array vs. ArrayCollection, let&apos;s see how this fits in to ColdFusion and Flex.

Flex is all about providing a rich user interface for our users. However, the key phrase in that sentence is &quot;user interface.&quot; Flex does not provide any native database connectivity, so you need a back-end technology to do the &quot;heavy lifting&quot; and return the results to Flex for display. The ColdFusion team did a phenomenal job of making Flex/ColdFusion integration as seamless as possible in the &lt;a href=&quot;http://www.adobe.com/support/coldfusion/downloads_updates.html#mx7&quot; target=&quot;_blank&quot;&gt;7.0.2 release&lt;/a&gt;. However, there are certain nuances that we need to keep in mind when working between these two technologies. One such nuance is the fact that it&apos;s one thing to query for data and return it as-is to the calling environment (ColdFusion), but it&apos;s another to be able to use advanced concepts such as run-time sorting and filtering for display (Flex). To that end, certain Flex 2 framework components use what are known as &lt;em&gt;data providers&lt;/em&gt; to not only display the result set, but to further allow the user to manipulate the results to their liking. To that end, the Flex engineers cleverly implemented these framework components such that you could either use the raw datatype returned &lt;em&gt;or&lt;/em&gt; you could use a collection instead, which allows for more advanced access to the data set. Hopefully my above explanation regarding the difference between an Array and and ArrayCollection sufficiently shows the difference between a datatype and its Collection wrapper class. You could use a basic Array (the raw datatype) to display a result set, if that&apos;s all you want to do. But to provide more advanced interaction, these raw datatype classes don&apos;t provide the necessary advanced access or event broadcasts necessary. So you&apos;re going to need to convert the datatype that comes back from your back-end (i.e., ColdFusion) into the appropriate collection type so that it can then be used for display, thereby offering some of the more advanced features that the Flex framework provides.

While there are &lt;a href=&quot;http://livedocs.macromedia.com/flex/2/docs/00000499.html&quot; target=&quot;_blank&quot;&gt;many controls that use data providers&lt;/a&gt;, I&apos;m going to use the DataGrid in my example because that seems to be the most common way of displaying tabular data in Flex. If I want to display a datagrid consisting of some basic company information: company name, address, etc., below is the ActionScript code needed to take the returned results into the appropriate collection datatype. Assume that a ColdFusion query is being returned.

&lt;code&gt;
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;vertical&quot; initialize=&quot;myService.send()&quot;&gt;

&lt;mx:Script&gt;
  &lt;![CDATA[
	import mx.collections.ArrayCollection;
	import mx.rpc.events.ResultEvent;
	
	[Bindable]
	private var companyInfo:ArrayCollection;
	
	private function resultHandler(event:ResultEvent):void {
	   companyInfo = event.result as ArrayCollection;
	}
  ]]&gt;
&lt;/mx:Script&gt;

&lt;mx:HTTPService id=&quot;myService&quot; url=&quot;url/to/cfc?WSDL&quot; result=&quot;resultHandler(event);&quot; /&gt;

&lt;mx:DataGrid dataProvider=&quot;{companyInfo}&quot; /&gt;

&lt;/mx:Application&gt;
&lt;/code&gt;

As you can see the above code simply takes the query returned from ColdFusion (&quot;event.result&quot;) and &quot;coerces&quot; it (or casts it) to an ArrayCollection using the &lt;em&gt;as&lt;/em&gt; keyword. The framework takes care of everything else for you. Then I simply assign the companyInfo variable as the data provider for the DataGrid. If I now wanted to add more advanced functionality, such as filtering or editing, to the result set, I already have the results in the appropriate format. I just need to write a function that acts as the filter or &quot;listens&quot; for the updated data. The Adobe LiveDocs resource provides &lt;a href=&quot;http://livedocs.macromedia.com/flex/2/docs/00000504.html&quot; target=&quot;_blank&quot;&gt;a great example&lt;/a&gt; of providing this sort of functionality.

Hopefully this provides a basic understanding of the difference between datatypes and their associated Collection classes, and when each one should be used.
				
				</description>
				
				<category>Frameworks</category>
				
				<category>ColdFusion</category>
				
				<category>Flex</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Wed, 26 Jul 2006 13:05:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/7/26/array-vs-array-collection-in-flex-2-with-a-coldfusion-slant</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Joe Rinehart on TheServerSide.com</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/7/5/joe-rinehart-on-theserverside</link>
				<description>
				
				I was just perusing through my aggregated blogs and saw that &lt;a href=&quot;http://clearsoftware.net/&quot; target=&quot;_blank&quot;&gt;Joe Rinehart&lt;/a&gt; has posted an entry on &lt;a href=&quot;http://www.theserverside.com/&quot; target=&quot;_blank&quot;&gt;TheServerSide.com&lt;/a&gt; entitled &lt;a href=&quot;http://www.theserverside.com/news/thread.tss?thread_id=41189&quot; target=&quot;_blank&quot;&gt;&lt;em&gt; IoC, AOP, and Rails-like productivity...in ColdFusion?&lt;/em&gt;&lt;/a&gt;. In the entry, he notes that &quot;hot&quot; areas of J2EE development such as Spring and Aspect-Oriented Programming (AOP) are available in ColdFusion and, coupled with established frameworks like &lt;a href=&quot;http://www.model-glue.com/&quot; target=&quot;_blank&quot;&gt;Model-Glue&lt;/a&gt;, can make the lives of J2EE developers much easier. Further, he notes that since ColdFusion is just a J2EE application itself, existing infrastructure can be leveraged, effectively minimizing or outright eliminating the need to switch to alternative technologies such as &lt;a href=&quot;http://www.rubyonrails.org/&quot; target=&quot;_blank&quot;&gt;Ruby on Rails&lt;/a&gt;.

I am specifically pointing out this entry because it&apos;s great to see ColdFusion being promoted on major J2EE-developer sites (as it should be). This sort of &quot;grassroots&quot; marketing is far more effective than glossy magazine ads that most people will likely skip over when reading their trade magazine. Plus, with Joe&apos;s &lt;a href=&quot;http://www.youtube.com/profile_videos?user=joerinehart&quot; target=&quot;_blank&quot;&gt;YouTube videos&lt;/a&gt;, current and prospective developers can see a real-world application of these concepts rather than just hearing and/or reading that concepts like Inversion of Control (IoC) and AOP are merely possible.
				
				</description>
				
				<category>Model-Glue</category>
				
				<category>Ruby on Rails</category>
				
				<category>Frameworks</category>
				
				<category>Marketing</category>
				
				<category>ColdFusion</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Wed, 05 Jul 2006 10:34:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/7/5/joe-rinehart-on-theserverside</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>A MacBook Pro Review From A Windows Perspective</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/6/23/a-macbook-pro-review-from-a-windows-perspective</link>
				<description>
				
				So I wrote &lt;a href=&quot;http://www.cbetta.com/blog/index.cfm/2006/6/7/macbook-pro-table-two&quot; target=&quot;blank&quot;&gt;a few posts&lt;/a&gt; about my dilemma regarding switching to a Mac for my personal laptop after spending (literally) my whole life on a Windows-based PC, and people were interested in hearing how it worked out, so here goes...

&lt;strong&gt;The Ordering Experience&lt;/strong&gt;

Simple. Standard. The ordering process was very familiar if you&apos;ve ever been to and/or ordered from Dell&apos;s web site. Choose your desired model, click a few radio buttons to configure your personal specs for the machine, and off you go.

I will say that if Apple really wants to gain market share, they &lt;em&gt;have&lt;/em&gt; to provide better financing options than they currently do. Essentially, you either pay by credit card or a P.O. if it&apos;s for work. That&apos;s lame. Where I believe &lt;a href=&quot;http://www.dell.com/&quot; target=&quot;_blank&quot;&gt;Dell&lt;/a&gt; really has a leg up is that they provide a leasing option whereby you pay off the balance of a secured loan over a multi-year period at a fixed percentage rate. When I was paying off my old Dell, it was great to know that $78.56 was being deducted from my account every month and that, over the agreed-upon time period, the balance of the loan was paid off. Now I have yet another credit card to juggle. Oh yeah, and if you choose to finance through Apple rather than using an existing personal credit card, you literally have to open a new &lt;em&gt;credit card&lt;/em&gt; account. The worst part about it is that you don&apos;t know what the interest rate is until &lt;em&gt;after&lt;/em&gt; you&apos;ve opened the account! So even if you decide that you don&apos;t want to use the account because the interest rate is too high, the account is already opened and reflected in your credit report.

The above being said, I was still elated with my purchase (made on a Tuesday), and received an early &lt;a href=&quot;http://www.cbetta.com/blog/index.cfm/2006/6/10/happy-birthday-to-me&quot; target=&quot;_blank&quot;&gt;birthday gift&lt;/a&gt; when it arrived that same week on Friday.

&lt;strong&gt;The Machine&lt;/strong&gt;

Gorgeous. Sleek. Thin. Screaming Fast. Hot. Yeah, the common gripe is indeed true....these things get hot. Although I guess that&apos;s what happens when you take a high-powered processor and stuff it in a metal case that&apos;s only 1 inch thick. So I was definitely prepared for it. As the guys at the Apple Store told me when I was looking at the machines and comparing the 15 inch with the 17 inch model (I got the 15 inch), they&apos;re intentionally not calling them &quot;laptops.&quot; Rather, the Apple company line has been to call them &quot;portables&quot; so that people don&apos;t put them on their lap and burn themselves.

&lt;strong&gt;The Software&lt;/strong&gt;

This is probably my favorite part about the machine. A lot is made of the high cost of purchasing a Mac versus a PC. However, what I think gets lost in the debate is that Apple provides a &lt;em&gt;ton&lt;/em&gt; of &lt;em&gt;useful&lt;/em&gt; software out of the box. If you were to add up the cost of the individual software components, it&apos;s likely around $1,000 USD. Seriously. I&apos;m not talking about the common PC trial-ware for AOL or EarthLink or any of the hundreds of other titles that most people uninstall as soon as they power up their new PC. I&apos;m talking about a music recording application called GarageBand (which I now use to record my guitar songs....I&apos;m not very good by the way), iTunes, iPhoto (a powerful photo editing and organization application), HD video editing software, multiple chat applications, iWeb (for creating web sites), and, of course, a solid web browser.

&lt;strong&gt;Mac Eye For The Windows Guy&lt;/strong&gt;

OK, a cheesy section title, but that&apos;s the best I could do this late at night while trying to convey the fact that using a Mac is a different mindset as compared to using a PC. On a PC, you&apos;re likely have multiple partitions on your drive to separate your data from your applications in the event of a system crash (corrupt registry, etc.). Well, with a Mac, you don&apos;t have to worry about that. There&apos;s no such thing as a registry, and everything is treated as a file, so if you want to delete a program, just drag the program to the Trash and it&apos;s gone. No Start -&gt; Control Panel -&gt; Add/Remove Programs -&gt; Do a Dance To Make Sure All Registry Keys Are Deleted, Which Likely Won&apos;t Happen. But I&apos;m still having trouble adjusting to the fact that closing a window does not close the application itself. You still have to separately quit out of the application itself (in most cases). I&apos;m not sure how I feel about that. For the most part, if I&apos;m shutting the application window, then I&apos;m likely done with it. So close altogether please.

Installing software is still tripping me up from time to time as well. Most Mac applications come as a DMG file, which is roughly equivalent to a ZIP file. When you double-click the DMG file, it doesn&apos;t actually install the application in most cases, as you would expect from double-clicking an EXE file in Windows. All it does it mount the file archive so that you can &lt;em&gt;then&lt;/em&gt; run the installer application. This took me a few attempts to figure out. I would &quot;install&quot; Firefox and then re-boot my machine only to see that it disappeared! The other problem I have is that sometimes applications don&apos;t tell me where they&apos;re being installed and I can&apos;t choose the location. I installed the TiVo Desktop Software about 8 times (seriously) before I realized it was in my System Preferences folder. I was clueless.

Lastly, I went ahead and plunked down the amazingly cheap $39.99 for Parallels Software&apos;s Desktop For Mac application and installed Windows into it. Even in a virtual OS, Windows now runs about twice as fast as my old Dell ever did. Not that it&apos;s the Dell machine&apos;s fault, mind you, but it&apos;s still incredibe to see the speed difference. I&apos;m going to be using this machine to do some Flex 2 development, and it&apos;s nice to see I won&apos;t be hindered by performance.

&lt;strong&gt;The &quot;Intel&quot; Problem&lt;/strong&gt;

The big thing that I&apos;m finding out about this machine is that most people still haven&apos;t updated their applications to support the Intel-based Mac yet (Adobe, I&apos;m looking in your direction). So a lot of programs need to run in an emulation mode using something called &quot;Rosetta&quot; to translate the PowerPC-based instruction set to the Intel platform. It&apos;s supposed to slow down the application, and I suppose it does, but, honestly, these machines are so fast as it is that it&apos;s barely noticeable. I will say that running ColdFusion is a royal pain in the behind. See, Macs come with the Java 5 SDK as its default Java Virtual Machine. Unfortunately, ColdFusion doesn&apos;t run on this JVM yet. So, thanks to &lt;a href=&quot;http://www.google.com/&quot; target=&quot;_blank&quot;&gt;Google&lt;/a&gt; and &lt;a href=&quot;http://www.simb.net/&quot; target=&quot;_blank&quot;&gt;Simeon Bateman&apos;s blog&lt;/a&gt;, I was able to track down a &lt;a href=&quot;http://www.simb.net/client/index.cfm/2006/4/21/Java-5-Update-for-OSX&quot; target=&quot;_blank&quot;&gt;shell script&lt;/a&gt; that allows me to set the JDK to Java 1.4.2 so that ColdFusion is happy and will start. So I have ColdFusion out of the way. Now I have to track down an Oracle installation for this machine, as this is what my company uses and it&apos;d be good to have it set up locally.

&lt;strong&gt;The Negative&lt;/strong&gt;

So with all the gushing and positive comments, you&apos;d think everything is great. Well, it is and it isn&apos;t. You see, my computer technically works, but it&apos;s also what Apple considers to be DOA (Dead On Arrival). The second memory bank (where I was trying to install some more RAM because it was cheaper than getting it from Apple) is dead. So I call up the AppleCare number because that&apos;s what I just paid good money for. Within 10 seconds, the tech support guy tells me he&apos;s a &quot;software guy&quot; and that hardware&apos;s out of his realm. His suggestion....bring it to a Mac Genius at one of their retail stores. I was a bit annoyed, but I was willing to give it a shot. I made an appointment with a &quot;Genius,&quot; and, sure enough, he confirmed what I already knew. So you&apos;d think that they would replace the laptop there on the spot because it&apos;s a retail store and they carry those kinds of things. Well, not so much. It turns out that because I upgraded a couple items at the time of my purchase (from 512 MB to 1 GB RAM and frm the 5400 RPM to the 7200 RPM hard drive), that&apos;s technically considered a &quot;custom built machine&quot; and they&apos;ll have to have it specially built for me in China. Oh yeah, and that&apos;ll take two weeks. I mean, what the heck&apos;s the point of the retail stores if they can&apos;t replace my machine right there? So, needless to say, I&apos;m blogging this entry right now on a soon-to-be-returned machine. However, since it does function without issue with the 1 GB RAM module that came with the machine, they&apos;re letting me keep this through the &lt;a href=&quot;http://www.cfunited.com/&quot; target=&quot;_blank&quot;&gt;CFUNITED&lt;/a&gt; conference next week, which is the main reason why I bought it when I did. I do have to say that their support staff was very accomodating to my situation, and they&apos;re allowing a &quot;grace period&quot; for me to return the machine for a new one rather than repairing this machine. As they put it, who wants a new computer that immediately has to be repaired?

&lt;strong&gt;A Couple Pointers&lt;/strong&gt;

In closing, since this is the longest post in my short blogging history, I wanted to pass along two great little tips I&apos;ve learned in my short experience with the computer.

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Empty Trash vs. Secure Empty Trash:&lt;/strong&gt; I saw this one whie waiting on line in the Apple Store. When you empty your Trash Bin, you&apos;re not really deleting the files from your system. Sure, they don&apos;t appear in your folders, but all you&apos;ve done is tell the OS that the space the deleted file once occupied is eligible to be overwritten when space is needed. If you want to erase all remnants of a file from your system and immediately free up the space, choose the Finder-&gt;Secure Empty Trash menu option. This is particularly important for personal data files.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Get the iStat Pro Dashboard Widget:&lt;/strong&gt; The Mac Genius I spoke to pointed out the &lt;a href=&quot;http://www.apple.com/downloads/dashboard/status/istatpro.html&quot; target=&quot;_blank&quot;&gt;iStat Pro&lt;/a&gt; dashboard widget, which gives you a high-level overview of all the major system components, such as battery life, temperature, memory usage, broadband speed, and more. The temperature and fan feature isn&apos;t working on the Intel-based Macs yet, but support for it is imminent, and this free widget is certainly a useful utility.&lt;/i&gt;
&lt;/ol&gt;

&lt;strong&gt;Overall&lt;/strong&gt;

Yeah, I have to send the computer back, but overall I&apos;m ecstatic with the purchase. I really am. There are some things I need to learn to better use the machine (shortcuts, etc.), but I hope to pick the brains of some Mac users at CFUNITED next week to get a better grasp of the OS. I&apos;m already more productive with this machine than I have been in a long time for my personal work. If you&apos;re on the fence, do it. You still have Windows via Parallels as a safety net, and it&apos;s such a complete system that has everything I need to be productive. The product reviews I read before buying the MacBook Pro were all from previous Mac users, so I was a bit skeptical. Well, I see why Mac users are loyal. Apple&apos;s on to something with this line, and if they can sort out the aforementioned financing problems (and ship fully functioning hardware), they have a great shot at converting large numbers of Windows users.
				
				</description>
				
				<category>Model-Glue</category>
				
				<category>Apple</category>
				
				<category>Frameworks</category>
				
				<category>Oracle</category>
				
				<category>Databases</category>
				
				<category>Personal</category>
				
				<category>ColdFusion</category>
				
				<category>Flex</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Fri, 23 Jun 2006 01:55:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/6/23/a-macbook-pro-review-from-a-windows-perspective</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Adobe Developer Week Breeze Presentation Links</title>
				<link>http://www.cbetta.com/blog/index.cfm/2006/6/22/adobe-developer-week-breeze-presentation-links</link>
				<description>
				
				Via &lt;a href=&quot;http://www.onflex.org/ted/&quot; target=&quot;_blank&quot;&gt;Ted Patrick&apos;s blog&lt;/a&gt;, I saw that Adobe has released &lt;a href=&quot;http://www.onflex.org/ted/2006/06/adobe-developer-week-sessions.php&quot; target=&quot;_blank&quot;&gt;the URLs to all the recorded Breeze presentations from Adobe Developer Week&lt;/a&gt;. I attended several of them and will try to post up a quick review of each when I get some time to breathe (along with the 85 other topics I&apos;ve been wanting to post about but haven&apos;t had time to). However, I will say right now that most of the presentations were excellent and I&apos;m absolutely in love with &lt;a href=&quot;http://www.adobe.com/products/breeze/&quot; target=&quot;_blank&quot;&gt;Breeze&lt;/a&gt; as a conferencing platform.

Enjoy.
				
				</description>
				
				<category>Model-Glue</category>
				
				<category>CSS</category>
				
				<category>Frameworks</category>
				
				<category>Marketing</category>
				
				<category>Oracle</category>
				
				<category>Databases</category>
				
				<category>ColdFusion</category>
				
				<category>Flex</category>
				
				<category>Technology</category>
				
				<category>Adobe</category>
				
				<pubDate>Thu, 22 Jun 2006 10:05:00 -0400</pubDate>
				<guid>http://www.cbetta.com/blog/index.cfm/2006/6/22/adobe-developer-week-breeze-presentation-links</guid>
				
			</item>
			
		 	
			</channel></rss>