<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>ColdFusion Pro News</title>
	
	<link>http://www.coldfusionpronews.com</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Wed, 08 Jul 2009 13:45:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ColdfusionProNews" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Finding A ColdFusion Career That Fits You</title>
		<link>http://feedproxy.google.com/~r/ColdfusionProNews/~3/B2j1unsjJns/</link>
		<comments>http://www.coldfusionpronews.com/2009/07/08/finding-a-coldfusion-career-that-fits-you/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 13:45:45 +0000</pubDate>
		<dc:creator>Sean Corfield</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.coldfusionpronews.com/?p=65</guid>
		<description><![CDATA[Michael Dinowitz poses a very interesting question over on Blog of Fusion: are there really ColdFusion jobs out there?

What he&#8217;s mostly talking about are those open reqs that you keep seeing, month on month, that never seem to get filled, but he is also asking why well-qualified people have a hard time getting hired. He [...]]]></description>
			<content:encoded><![CDATA[<p>Michael Dinowitz poses a very interesting question over on Blog of Fusion: <a href="http://www.blogoffusion.com/062909-are-there-really-coldfusion-jobs.cfm">are there really ColdFusion jobs</a> out there?
<p>
What he&#8217;s mostly talking about are those open reqs that you keep seeing, month on month, that never seem to get filled, but he is also asking why well-qualified people have a hard time getting hired. He doesn&#8217;t really answer his own question but he gives some good advice about applying for jobs&#8230; </p>
<p><span id="more-65"></span>
</p>
<ul>
<li>If the job requirements are specific, ensure your resume makes it clear you really have those skills.</li>
<li>Keep your resume current and if the application says &#8220;attach an up-to-date resume&#8221; then make sure it is current and <strong>attach it</strong> to your response! <em>I&#8217;m guilty: I tend to send folks a link to my online resume which is generic, not tailored to a specific job.</em></li>
<li>If the application asks for your salary expectations, be reasonable but never undervalue yourself.</li>
<li>The cover letter is the first impression you make - and may be your only impression! Judith provides good advice in the middle of Michael&#8217;s post.</li>
<li>If the application asks for a code sample, send them something appropriate to the job (although I&#8217;ve not actually seen an application that requests this - and most code is proprietary and belongs to an employer/client unless you write a lot of open source stuff!).</li>
</ul>
<p>I&#8217;ve definitely seen some of these perpetually open job requirements. I&#8217;ve talked to the companies posting them. Their two most common responses? </p>
<ol>
<li>&#8220;We get lots of applicants but they aren&#8217;t the right people.&#8221;</li>
<li>&#8220;Almost no one has applied for that job.&#8221;</li>
</ol>
<p> The second one I can understand when the application reads like an encyclopedia of &#8220;required&#8221; skills (which many of them are). I&#8217;ve looked at job openings and thought yes, yes, yes, er&#8230; gosh, no, hmm&#8230; yes, yes, nope&#8230; really? They <strong>require</strong> that skill? It&#8217;s part of the problem with &#8220;laundry list&#8221; job requirements - and yet it&#8217;s needed to help filter the flood of applications that many jobs might otherwise get. It&#8217;s why Michael recommends you tweak your resume to &#8220;match&#8221; the job requirements.
<p>
What about the first response? I know lots of &#8220;right people&#8221; but they are mostly very happy in their current workplace and aren&#8217;t interested in applying for another job. In fact, when Broadchoice wanted to hire people, we drew up a shortlist of people we&#8217;d like to hire and then simply <strong>asked them to join us</strong>! It&#8217;s a tactic I highly recommend. You might get turned down but you might not. The important thing here is not to think &#8220;I can&#8217;t have X - they&#8217;d never come to work for us!&#8221; because that will stop you going after the people you really want. Go on, just ask them! </p>
<p>
So let&#8217;s go back to part of Michael&#8217;s question where he asks &#8220;why can&#8217;t I get a ColdFusion job?&#8221; and let me assume he&#8217;s asking specifically for himself and people like him, by which I mean &#8220;well-known people in the community&#8221;. Why would a company not hire a &#8220;Community Expert&#8221; (to use Adobe&#8217;s term for a select band of several hundred of the top-notch developers / designers in each product user base)? Part of the problem is our level of involvement in the community - we attend and speak at a lot of conferences, we seem to spend a <strong>huge</strong> amount of time blogging, answering posts on mailing lists, writing open source software and twittering. Given all that, how can we possibly have time for a full-time job? The conferences alone are a huge issue for many companies. I&#8217;ve had interviews where one of the first questions out of my prospective employer&#8217;s mouth is &#8220;do you expect to continue attending several conferences a year if we hire you?&#8221;. I&#8217;ve also actually been asked &#8220;do you really have time for a full-time job with all the community work you do?&#8221;. </p>
<p>There&#8217;s also the aspect of &#8220;fit&#8221; with the team. If the company is looking for even a senior level developer to work in a team, they probably want someone who will work happily with their peers and code like a demon. Companies are wary of &#8220;Community Experts&#8221; because they fear those folks will want to change things, to &#8220;educate&#8221; the other developers, to introduce &#8220;new&#8221; technology and processes, to agitate for training and conference attendance. Heck, such outspoken people might even challenge management itself in trying to &#8220;improve&#8221; the way a company&#8217;s software gets built! That can definitely work against the more outspoken members of our community. </p>
<p>
So, if you have thoughts on this subject, drop your thoughts on Michael&#8217;s blog! </p>
<p><a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/ColdFusion_Jobs_Really">Comments</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=B2j1unsjJns:Licq-w0QmMQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=B2j1unsjJns:Licq-w0QmMQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=B2j1unsjJns:Licq-w0QmMQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=B2j1unsjJns:Licq-w0QmMQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=B2j1unsjJns:Licq-w0QmMQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=B2j1unsjJns:Licq-w0QmMQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ColdfusionProNews/~4/B2j1unsjJns" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coldfusionpronews.com/2009/07/08/finding-a-coldfusion-career-that-fits-you/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.coldfusionpronews.com/2009/07/08/finding-a-coldfusion-career-that-fits-you/</feedburner:origLink></item>
		<item>
		<title>Implementing Railo Effectively As A Developer</title>
		<link>http://feedproxy.google.com/~r/ColdfusionProNews/~3/NeIXSAh0R6k/</link>
		<comments>http://www.coldfusionpronews.com/2009/06/24/implementing-railo-effectively-as-a-developer/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 14:29:26 +0000</pubDate>
		<dc:creator>Sean Corfield</dc:creator>
		
		<category><![CDATA[Applications]]></category>

		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.coldfusionpronews.com/?p=63</guid>
		<description><![CDATA[One of the nice aspects of the &#8220;Professional Open Source Sofware&#8221; business model is that you can be very flexible for your customers. The Railo server has a roadmap of core features and downloadable extensions - some free, some paid - but our roadmap can easily be influenced by our customers. Now that more developers [...]]]></description>
			<content:encoded><![CDATA[<p>One of the nice aspects of the &#8220;Professional Open Source Sofware&#8221; business model is that you can be very flexible for your customers. The Railo server has a roadmap of core features and downloadable extensions - some free, some paid - but our roadmap can easily be influenced by our customers. Now that more developers are trying Railo every day, we&#8217;re seeing more interest in certain features that were already on our roadmap but were either lower priority or scheduled some distance off in the future.<span id="more-63"></span>
<p>
The POSS model allows us to offer a variety of support and consulting services around the core free product, including the ability to custom develop new features or extensions and accelerate parts of the roadmap to suit those customers who need something specific sooner, rather than later. For example, if you have decided to port a large application to Railo but your code depends on a feature we don&#8217;t yet support, you have the option to engage our professional services team to add that feature, ahead of the roadmap, so that you can be up and running faster. We like to refer to this as a customer &#8220;sponsoring&#8221; a feature or an extension. </p>
<p>
If you decided to sponsor an extension, what&#8217;s in it for you? First off, you get the features you want, when you want them. Second, you can decide whether, when and how the extension would be made available for everyone else. You could allow us to make it available as soon as it is ready for you - or later based on our original roadmap. You could make it free or set a price for it - either way it would be available to all Railo users via the Extensions feature in the Server or Web Administrator. If it is a paid extension, you would share the revenue with Railo, helping to recoup the cost of the sponsorship. And finally, the extension information would feature a link and descriptive text about your business, right there in the Administrator. </p>
<p>
If you think this might help your business get better value out of Railo, feel free to <a href="http://www.getrailo.com/com/index.cfm/contact-us/">contact the Railo team</a> and discuss your needs! </p>
<p><a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/Making_Railo_Extensions_work_for_you">Comments</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=NeIXSAh0R6k:LTT9gcbzunU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=NeIXSAh0R6k:LTT9gcbzunU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=NeIXSAh0R6k:LTT9gcbzunU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=NeIXSAh0R6k:LTT9gcbzunU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=NeIXSAh0R6k:LTT9gcbzunU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=NeIXSAh0R6k:LTT9gcbzunU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ColdfusionProNews/~4/NeIXSAh0R6k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coldfusionpronews.com/2009/06/24/implementing-railo-effectively-as-a-developer/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.coldfusionpronews.com/2009/06/24/implementing-railo-effectively-as-a-developer/</feedburner:origLink></item>
		<item>
		<title>Debate Still Rages Over Object-Oriented Programming</title>
		<link>http://feedproxy.google.com/~r/ColdfusionProNews/~3/dm7yIkcp0Kg/</link>
		<comments>http://www.coldfusionpronews.com/2009/06/09/debate-still-rages-over-object-oriented-programming/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 14:15:27 +0000</pubDate>
		<dc:creator>Sean Corfield</dc:creator>
		
		<category><![CDATA[Frameworks]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.coldfusionpronews.com/?p=61</guid>
		<description><![CDATA[Marc Funaro kicked off quite a heated debate on his blog lately by raging against people pushing object-oriented programing/design and how his attempt to follow their advice nearly led to the collapse of his business. Marc was expressing a common frustration that many of us have heard from people who try to learn OO, especially [...]]]></description>
			<content:encoded><![CDATA[<p>Marc Funaro kicked off quite a heated debate on his blog lately by raging against people pushing object-oriented programing/design and how his attempt to follow their advice nearly led to the collapse of his business. Marc was expressing a common frustration that many of us have heard from people who try to learn OO, especially from people with a long history of procedural programming and/or no computer science background. <span id="more-61"></span>
<p>
I&#8217;ve left comments on a few of the blog posts but several people have asked me to go into a bit more depth about my thoughts on this issue (since I&#8217;m one of the people sometimes accused of &#8220;pushing&#8221; OO and insisting it&#8217;s the &#8220;right&#8221; way to do things). </p>
<p>
First off, I&#8217;ll repeat what I&#8217;ve said many times: there is no One True Way. What works for me might not work for you and even I will solve the same problem different ways at different times in different circumstances. </p>
<p>
Having said that, for me there is almost no problem today where a purely procedural solution is the right one <strong>for me</strong>. Years ago, that wasn&#8217;t the case. Prior to 1992, I hadn&#8217;t worked with any OO languages but I hadn&#8217;t done just procedural programming either: I had started learning functional programming techniques around 1982. As part of my university degree, I did a one year work experience assignment at an insurance company, mostly writing IBM 8100 assembler (and some COBOL). I helped design and implement a number of powerful library routines for a hierarchical database system the team was developing, recursive routines that I now recognize as implementing the Visitor design pattern (which I hadn&#8217;t heard of at the time). What I&#8217;d learned from high-level functional programming changed how I wrote the most procedural language available - assembler. </p>
<p>
In 1992, I started to pick up C++. I picked up Smalltalk in the mid-90&#8217;s. By 1997, I&#8217;d discovered Java. Over the years, I got a little better at writing OO code and started learning about design patterns and OO design. It was a process, a journey, still ongoing. Along the way there were a few lightbulb moments and there was plenty of frustration. </p>
<p>
Surprised? Knowing what you know of me from my blog and my posts on mailing lists and my talks at conferences, would you expect that I have been through a lot of frustration trying to become a better software developer, a better software architect? </p>
<p>
I&#8217;d be surprised at anyone who had <em>not</em> had such frustrations! </p>
<p>Why do we go through this? Why do we push through to the other side to learn - and master - this stuff? IT is an interesting industry because not only does it change - like all other industries - but the pace of change is extremely fast. What we learned last year will be outdated next year, or the year after. If you look at job descriptions for ColdFusion developers, they&#8217;ve changed over the last few years. Most of them want experience with frameworks and CFCs now. As Matt Woodward said in comments on those blog posts, the debate is over - OO won. Years ago. </p>
<p>
No matter what you think about OO, the industry has moved on and OO is the norm. COBOL, the mainstay of procedural programming, adopted OO features in the early 90&#8217;s and OO COBOL compilers were available by 1997 with an OO ANSI standard following in 2002. Ada was the first ANSI standardized OO language in 1995. C++ became an ANSI standard in 1998 but work first began on that language in 1979. Simula is considered the first object-oriented language and it appeared in 1967. Smalltalk appeared in the 70&#8217;s, became a de facto standard in 1980 and an ANSI standard in 1998. All modern languages - all new languages - embrace objects from the start. Many modern languages go beyond OO and incorporate other advanced features - some of those languages would probably seem incomprehensible to traditional, procedural programmers. We shouldn&#8217;t expect to understand everything but we should expect to continually learn new things so that we remain employable, relevant, interesting. </p>
<p>
One of the subjects that came up in the various blog conversations was Fusebox. Someone lamented that &#8220;even&#8221; Fusebox had become OO. Fusebox is a very important illustration for the CF community. Fusebox 4 was built as four large, procedural files and supported both procedural and OO styles of application (yes, a framework written in a procedural style supported OO - even Fusebox 3 supported OO application development!). Fusebox had become hard to maintain and enhance. In order to move forward, I rewrote the core files to be more maintainable - I rebuilt Fusebox as a set of collaborating objects but it was 100% backward compatible. The same procedural apps that ran on Fusebox 4 still ran on Fusebox 5. The same OO apps that ran on Fusebox 4 also still ran on Fusebox 5. Even tho&#8217; the core files changed from pure procedural (and unmaintainable) code to fully object-oriented (and, hopefully, more maintainable) code, the range of supported application styles <strong>did not change</strong>. </p>
<p>
So, how do I really feel about Marc&#8217;s post? I sympathize. I know his frustration is real. His background is design and not computer science - of course he finds OO to be extremely hard. I have met only a handful of people who have a natural ability for OO thinking. Sorry, but for everyone else, this is hard shit! There are no short cuts. Some years ago, I gave a talk at CFUnited (I don&#8217;t even remember which talk now) and a guy came up to me afterward and asked me about learning OO. I told him to go easy on himself and expect this to be a difficult path that would take him a long time to learn. He exploded in anger, accusing me of calling him too stupid to learn OO. For me, that perfectly sums up the unrealistic expectation many people have about learning OO. It <strong>is</strong> hard. It <strong>does</strong> take a good long while. Many people give up. Some people push through and eventually reap the benefits of the pain of learning this stuff - and of making lots of mistakes along the way. </p>
<p>
Don&#8217;t beat yourself up if OO doesn&#8217;t make sense. Don&#8217;t kill yourself trying to master it. I don&#8217;t &#8220;get&#8221; numbers but many people do (including my wife). I completely &#8220;get&#8221; abstract math (my wife does not). She &#8220;gets&#8221; OO but she can&#8217;t program (programming languages are too fussy for her tastes). Don&#8217;t kill your business attempting to achieve some ideal that doesn&#8217;t work for you. Spend some personal time on it, sure, but don&#8217;t lose too much sleep over it. </p>
<p>Here are the original blog posts: </p>
<ul>
<li><a href="http://www.advantexllc.com/blog/post.cfm/how-oo-almost-destroyed-my-business">Marc Funaro&#8217;s original post</a></li>
<li><a href="http://www.bryantwebconsulting.com/blog/index.cfm/2009/5/26/The-Trouble-with-OO">Steve Bryant&#8217;s response</a></li>
<li><a href="http://www.remotesynthesis.com/post.cfm/this-oop-debate-isn-t-about-oop-at-all">Brian Rinaldi&#8217;s different slant</a></li>
<li><a href="http://www.alagad.com/go/blog-entry/throwing-down-the-guantlet">Scott Stroz&#8217; challenge</a></li>
<li><a href="http://www.briankotek.com/blog/index.cfm/2009/5/26/OO-Cant-Ruin-Businesses-but-People-Can">Brian Kotek - it&#8217;s not OO, it&#8217;s people</a></li>
<li><a href="http://blog.maestropublishing.com/index.cfm?mode=entry&amp;entry=7E65A634-F38F-0E85-44BC7AA88716FA85">Peter Farrell on learning OO</a></li>
</ul>
<p><a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/To_OO_or_not_to_OO_What_is_the_question">Comments</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=dm7yIkcp0Kg:g0nxCDuzSjk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=dm7yIkcp0Kg:g0nxCDuzSjk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=dm7yIkcp0Kg:g0nxCDuzSjk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=dm7yIkcp0Kg:g0nxCDuzSjk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=dm7yIkcp0Kg:g0nxCDuzSjk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=dm7yIkcp0Kg:g0nxCDuzSjk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ColdfusionProNews/~4/dm7yIkcp0Kg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coldfusionpronews.com/2009/06/09/debate-still-rages-over-object-oriented-programming/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.coldfusionpronews.com/2009/06/09/debate-still-rages-over-object-oriented-programming/</feedburner:origLink></item>
		<item>
		<title>Adobe Seeks Help Extending CFSCRIPT</title>
		<link>http://feedproxy.google.com/~r/ColdfusionProNews/~3/4HxfCHLjxAk/</link>
		<comments>http://www.coldfusionpronews.com/2009/05/27/adobe-seeks-help-extending-cfscript/#comments</comments>
		<pubDate>Wed, 27 May 2009 13:13:01 +0000</pubDate>
		<dc:creator>Sean Corfield</dc:creator>
		
		<category><![CDATA[Frameworks]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.coldfusionpronews.com/?p=58</guid>
		<description><![CDATA[Lately, the committee has been looking at proposals to extend CFSCRIPT so that components can be written entirely in CFSCRIPT instead of requiring tags. Adobe has been the main driver for the proposals but other committee members have been providing their share of ideas and suggestions when we get stuck (or don&#8217;t like Adobe&#8217;s proposals).

Right [...]]]></description>
			<content:encoded><![CDATA[<p>Lately, the committee has been looking at proposals to extend CFSCRIPT so that components can be written entirely in CFSCRIPT instead of requiring tags. Adobe has been the main driver for the proposals but other committee members have been providing their share of ideas and suggestions when we get stuck (or don&#8217;t like Adobe&#8217;s proposals).</p>
<p>
Right now, we have a pretty solid definition of how CFSCRIPT should work so that you can write entire components. Mostly it follows what you may have seen Adobe show off at conferences but Adobe is still making changes in response to feedback from the committee (and its own banks of prerelease testers, I&#8217;m sure) and some of Adobe&#8217;s suggestions were considered vendor-specific by the committee. </p>
<p>
But we&#8217;re stuck on a couple of tags that we&#8217;re really struggling to define in CFSCRIPT. We&#8217;d like you to help us make some decisions here! </p>
<p><span id="more-58"></span>
<p>
First off, here&#8217;s a simple component written using core CFML2009: </p>
<div><font color="MAROON">&lt;cfscript&gt;</font><br /> import org.corfield.cfcs.*;</p>
<p> component extends=<font color="BLUE">&#8220;BaseComponent&#8221;</font> {<br /> &nbsp;&nbsp;&nbsp;<br /> &nbsp;&nbsp;&nbsp;public any init( string fname, string lname, string addr ) {<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variables.fname = fname;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variables.lname = lname;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var country = getDefaultCountry();<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variables.address = new gov.usps.cfcs.Address(addr,country);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} catch (any ex) {<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writeLog(text=<font color="BLUE">&#8220;Address failure&#8221;</font>,log=<font color="BLUE">&#8220;postal&#8221;</font>);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw(message=<font color="BLUE">&#8220;Invalid Address&#8221;</font>);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this;<br /> &nbsp;&nbsp;&nbsp;}<br /> }<br /> <font color="MAROON">&lt;/cfscript&gt;</font></div>
<p> Extended core CFML2009 would allow the <tt>&lt;cfscript&gt;</tt> tags to be omitted (with rules about what is allowable outside <tt>component</tt>). Extended core also adds a few other useful constructs that are optional for vendors (but if they implement them, they should follow the committee&#8217;s spec).
<p>You&#8217;ll see <tt>import</tt> and <tt>new</tt> in here, as well as <tt>var</tt> appearing somewhere other than the top of the function. You&#8217;ll also see that we&#8217;ve voted to include <tt>throw</tt> in core CFML with a function-call style syntax that allows attributes to specified like named arguments. We&#8217;ve generally followed that pattern for tags-as-script, so you can say, for example: </p>
<div>thread(name=<font color="BLUE">&#8220;mythread&#8221;</font>) {<br /> <font color="GRAY"><i>&nbsp;&nbsp;&nbsp;// your code here</i></font> }</div>
<p> But we&#8217;ve run into some problems trying to solve this for <tt>cfmail</tt> and <tt>cfquery</tt>. The problem is that the body of these tags is treated specially. It isn&#8217;t just code, it&#8217;s text with embedded code. You can see the problem clearly in this example:
<div>cfmail(&#8230;) {<br /> I am text in the email!<br /> but = i_am(<font color="BLUE">&#8220;a&#8221;</font>,functionCall());<br /> }</div>
<p> In the tag-based version, it&#8217;s easy to identify code: it all begins with <tt>&lt;cf</tt> or is wrapped in <tt>#</tt> but in CFSCRIPT, code looks like regular text.
<p>Both <tt>cfmail</tt> and <tt>cfquery</tt> have nested tags and we can clearly put those in the tag-as-script body: </p>
<div>cfmail(&#8230;) {<br /> &nbsp;&nbsp;&nbsp;cfmailparam(&#8230;);<br /> &nbsp;&nbsp;&nbsp;cfmailpart(&#8230;);<br /> }</div>
<p> Since CFML allows multi-line strings, we&#8217;re considering adding a <tt>body</tt> attribute to <tt>cfmail</tt> and a <tt>sql</tt> attribute to <tt>cfquery</tt> so you could do this:
<div>myMail = <font color="BLUE">&#8220;Dear #fname#,</p>
<p> I am text in the email!&#8221;</font>;<br /> cfmail(body=myMail) {<br /> <font color="GRAY"><i>&nbsp;&nbsp;&nbsp;// just code, including cfmailparam() etc</i></font> }</div>
<p> We&#8217;ve reviewed a lot of syntax options and dismissed most as either unworkable for some technical reason or just downright ugly.
<p><strong>What would you like to see for mail and query in CFSCRIPT?</strong> </p>
<p>
And, yes, we&#8217;re still discussing <tt>cfmail</tt> vs <tt>mail</tt>. For some tags, the name without the prefix is likely to clash with existing user variables and functions - and may not be as easy to read. For example, which of these two are more obvious and less likely to cause compatibility problems with your code: </p>
<div>http(url=<font color="BLUE">&#8220;<a target="_blank" href="http://foo.com/">http://foo.com/</a>&#8220;</font>,result=data) {<br /> &nbsp;&nbsp;&nbsp;httpparam(type=<font color="BLUE">&#8220;cookie&#8221;</font>,name=<font color="BLUE">&#8220;uid&#8221;</font>,value=<font color="BLUE">&#8220;42&#8243;</font>);<br /> }<br /> cfhttp(url=<font color="BLUE">&#8220;<a target="_blank" href="http://foo.com/">http://foo.com/</a>&#8220;</font>,result=data) {<br /> &nbsp;&nbsp;&nbsp;cfhttpparam(type=<font color="BLUE">&#8220;cookie&#8221;</font>,name=<font color="BLUE">&#8220;uid&#8221;</font>,value=<font color="BLUE">&#8220;42&#8243;</font>);<br /> }</div>
<p> So, input please! On both the syntax for mail and query specifically but also tags-as-script in general.
<p>
<a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/Help_the_CFML_Advisory_Committee">Comments</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=4HxfCHLjxAk:cKSikuQ917A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=4HxfCHLjxAk:cKSikuQ917A:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=4HxfCHLjxAk:cKSikuQ917A:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=4HxfCHLjxAk:cKSikuQ917A:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=4HxfCHLjxAk:cKSikuQ917A:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=4HxfCHLjxAk:cKSikuQ917A:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ColdfusionProNews/~4/4HxfCHLjxAk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coldfusionpronews.com/2009/05/27/adobe-seeks-help-extending-cfscript/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.coldfusionpronews.com/2009/05/27/adobe-seeks-help-extending-cfscript/</feedburner:origLink></item>
		<item>
		<title>Railo Provides Commercial Maintenance And Support</title>
		<link>http://feedproxy.google.com/~r/ColdfusionProNews/~3/ngoS3Cm2P5E/</link>
		<comments>http://www.coldfusionpronews.com/2009/05/06/railo-provides-commercial-maintenance-and-support/#comments</comments>
		<pubDate>Wed, 06 May 2009 13:01:40 +0000</pubDate>
		<dc:creator>Sean Corfield</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.coldfusionpronews.com/?p=56</guid>
		<description><![CDATA[One of the great things about free open source software (FOSS) is that you can use it without it costing you a penny and you can modify the software to suit your needs and, depending on the license, even bundle it as part of a commercial product you may develop. 


Given the availability of such [...]]]></description>
			<content:encoded><![CDATA[<p>One of the great things about free open source software (FOSS) is that you can use it without it costing you a penny and you can modify the software to suit your needs and, depending on the license, even bundle it as part of a commercial product you may develop. </p>
<p><span id="more-56"></span>
<p>
Given the availability of such software, you might ask why anyone would pay for software? There are many reasons, foremost of which is usually to leverage the support of a corporation. The same logic applies to why people pay for maintenance and support, even on commercial products where they&#8217;ve already paid for the software license in the first place. </p>
<p>
In the FOSS world, commercial maintenance and support is often still available through an organization that is associated with the free software. MySQL, for example, offers free software with paid support and consulting (typically around $2,500 / day). JBoss does the same, offering a variety of both support and consulting packages. This model is often called <a href="http://en.wikipedia.org/wiki/Professional_open-source">Professional Open Source</a> and offers a way for companies to avoid upfront costs but still get all of the benefits of commercial software, by purchasing support and assistance as needed. We&#8217;ve already seen <a href="http://www.compoundtheory.com/?action=displayPost&amp;ID=281" alt="Transfer ORM" title="Transfer ORM">several</a> <a href="http://www.farcrycore.org/" alt="FarCry CMS" title="FarCry CMS">well-known</a> <a href="http://www.gosava.com/" alt="Mura CMS" title="Mura CMS">open source</a> CFML projects adopt this model, a trend I would expect to continue as CFML projects become more sophisticated and more widely used. </p>
<p>As a <a href="http://www.jboss.org/railo/">JBoss project</a>, Railo follows this model as well, which should be no surprise. The Railo team has recently reviewed and updated the information about our offerings in these areas: </p>
<ul>
<li><a href="http://www.getrailo.com/index.cfm/services/support/">Support</a> - offering four levels: <a href="http://www.getrailo.com/index.cfm/services/support/silver-support/">silver</a>, <a href="http://www.getrailo.com/index.cfm/services/support/gold-support/">gold</a>, <a href="http://www.getrailo.com/index.cfm/services/support/platinum-support/">platinum</a> and <a href="http://www.getrailo.com/index.cfm/services/support/enterprise-support/">enterprise</a>.</li>
<li><a href="http://www.getrailo.com/index.cfm/services/consulting/">Consulting</a> - covering everything from installation, configuration and performance tuning thru all aspects of application development and even assisting you with deployment to &#8220;the cloud&#8221;.</li>
<li><a href="http://www.getrailo.com/index.cfm/services/training/">Training</a> - covering Railo itself as well as various frameworks and development processes and tools.</li>
</ul>
<p>As the saying goes &#8220;We&#8217;ve got you covered!&#8221; so if there is anything we can help you with, Railo-specific or otherwise, feel free to <a href="http://www.getrailo.com/index.cfm/contact-us/">contact us</a> to discuss your needs.</p>
<p><a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/Railo_Support_and_Consulting_Services">Comments</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=ngoS3Cm2P5E:iW7Hr56Bv2o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=ngoS3Cm2P5E:iW7Hr56Bv2o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=ngoS3Cm2P5E:iW7Hr56Bv2o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=ngoS3Cm2P5E:iW7Hr56Bv2o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=ngoS3Cm2P5E:iW7Hr56Bv2o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=ngoS3Cm2P5E:iW7Hr56Bv2o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ColdfusionProNews/~4/ngoS3Cm2P5E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coldfusionpronews.com/2009/05/06/railo-provides-commercial-maintenance-and-support/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.coldfusionpronews.com/2009/05/06/railo-provides-commercial-maintenance-and-support/</feedburner:origLink></item>
		<item>
		<title>Too Many Choices Can Hinder ColdFusion Productivity</title>
		<link>http://feedproxy.google.com/~r/ColdfusionProNews/~3/ggsUKvtHEcY/</link>
		<comments>http://www.coldfusionpronews.com/2009/04/22/to-many-choices-can-hinder-coldfusion-productivity/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 13:21:49 +0000</pubDate>
		<dc:creator>Sean Corfield</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.coldfusionpronews.com/?p=52</guid>
		<description><![CDATA[The last week has seen some big announcements in the CF world! On March 31st, Gert announced the open source release of Railo, the next day Mark Drew announced he has joined Railo as CEO of the new Railo UK and then this week Peter Bell announced that he has also joined Railo and will [...]]]></description>
			<content:encoded><![CDATA[<p>The last week has seen some big announcements in the CF world! On March 31st, <a href="http://www.railo.ch/blog/index.cfm/2009/3/31/There-is-too-much-news-in-the-world-but-too-little-is-really-new">Gert announced the open source release of Railo</a>, the next day <a href="http://markdrew.co.uk/blog/post.cfm/getting-into-railo-i-liked-it-so-much-i-bought-some-of-the-company">Mark Drew announced he has joined Railo</a> as CEO of the new Railo UK and then this week <a href="http://www.pbell.com/index.cfm/2009/4/6/Railo-An-Announcement">Peter Bell announced that he has also joined Railo</a> and will be heading up the new Railo US operation.
<p>
I&#8217;ve been using ColdFusion since 2001, back when I worked at Macromedia and my team of Java and C++ developers first encountered CFML in the form of very early builds of what went on to become CFMX (6.0). We were pretty skeptical at first. </p>
<p><span id="more-52"></span>
<p>
A tag-based language? Weird, pseudo-objects? Lots of bugs (sorry, but CFMX <strong>was</strong> very buggy!). CFMX 6.1 was a huge step forward. Frameworks helped (Fusebox didn&#8217;t suit my team but Mach-II was adopted with enthusiasm). I moved from web development to systems integration, helping the ERP team integrating dozens of sales order feeds into Oracle&#8217;s business applications - using early builds of what went on to become CFMX7 and writing the first cut of the JMS event gateway that shipped with CFMX7 and an OracleAQ event gateway (which was subscribe-only and therefore never released publicly). After the acquisition by Adobe, I had a new team which continued to work with ColdFusion, pushing some core web services live with an early build of CF8 on JBoss (there was definitely some push back from &#8216;legacy&#8217; Adobe team members to using CFML on that project and we did encounter memory leak problems which gave them some just cause - but I now think that was due to <a href="http://blog.broadchoice.com/index.cfm/2009/3/14/Transfer-ORM-and-memory-usage">a cache problem in Transfer ORM</a>&#8230; did I mention we were using early builds of Transfer ORM as well?). </p>
<p>After I left Adobe in April 2007, I went freelance and worked on a number of interesting projects for clients who were all using ColdFusion 8 (well, almost all of them were!). I took advantage of my lack of tethers to the &#8216;mothership&#8217; to become a User Group Manager (staff cannot be UGMs) and a Community Expert. And I started talking with Vince Bonfanti at New Atlanta about the upcoming <a href="http://corfield.org/entry/Open_BlueDragon_Steering_Committee">Open BlueDragon steering committee</a> which I joined officially in April 2008, albeit <a href="http://corfield.org/entry/Farewell_Open_BlueDragaon">fairly briefly</a>, and then I was asked by Adobe to head up the <a href="http://corfield.org/entry/CFML_Advisory_Committee">CFML Advisory Committee</a> a few weeks later (and I&#8217;ll be blogging about the committee a <strong>lot</strong> in the next few weeks!). The committee initially featured Adobe representatives, community representatives and Gert Franz from Railo. A couple of months ago, we were pleased to <a href="http://corfield.org/entry/Open_BlueDragon_and_the_CFML_Advisory_Committee">welcome Matt Woodward of Open BlueDragon</a> onto the committee. </p>
<p>
Along the way, I joined <a href="http://www.broadchoice.com/">Broadchoice</a> to work with Ray Camden and, later, Brian Kotek and Joe Rinehart. Long-time ColdFusion users and evangelists, we found ourselves designing an application for the Amazon cloud and turned to free open source software to build it. Flex (which is free open source, remember), BlazeDS, Groovy, Spring, Hibernate, JBoss. We launched <a href="http://blog.broadchoice.com/index.cfm/2008/9/7/Behind-The-Curtain">Broadchoice Workspace</a> in mid-October 2008. We decided to add an iPhone-compatible web application and we all knew the best way to add that was using CFML. However, Adobe&#8217;s license for ColdFusion 8 didn&#8217;t work with Amazon EC2 and our deployment process was WAR based so ColdFusion&#8217;s JEE packaging didn&#8217;t really work for us. We decided to try out Railo 3.0 Community Edition. Railo ran Model-Glue 3 and ColdSpring just fine. It ran on top of JBoss just fine. It didn&#8217;t add a huge amount to our deployment WAR (about 12MB). It was a pragmatic choice and we were happy with it. </p>
<p>I have to say that Adobe were not thrilled about our decision. Since we were working with Cocomo at the time, there was talk of us being featured in the opening keynote at MAX 2008 (we weren&#8217;t, in the end) but we did have our time on Flash Platform Adobe Partner booth at MAX. I was cautioned to keep the focus on the AIR application rather than the Railo-powered iPhone web application.<a name="resume"></a> </p>
<p>
In the meantime, we&#8217;d been evaluating our development and QA server organization. We were using the JMS event gateway for our ColdFusion 8 powered CMS (Broadchoice Community Platform) but we didn&#8217;t feel it was right to have to pay $7,500 for each development and QA server. Fortunately, Adobe&#8217;s license did permit virtualization on a known number of CPUs so we bought a &#8216;big&#8217; server and used Xen to set up ten virtual machines: 5 development instances, 4 QA instances and 1 demo instance. Just one CF8 Enterprise license covered the entire system. It wasn&#8217;t our ideal but it was the only reasonable way to manage our systems with Adobe&#8217;s license. Our production cluster - for our CMS - grew to four servers, all running CF8 Enterprise, fully paid for. Yet we had to skimp on on dev/QA setup. </p>
<p>
We really wanted to move our CMS out of the data center and up into the cloud, like our collaborative Workspace system. Discussions with Adobe ensued and we got the permission we needed to deploy CF8 on EC2 - thank you Adam and Kristen! - and so, at the end of 2008, we migrated our CMS to multiple instances of CF8 running on EC2 (and that migration will be the subject of my talks at Scotch on the Rocks and CFUNITED). The net result was that CF8 ran beautifully on EC2 and we saw improved performance (after the slower startup due to the virtual file system). </p>
<p>
Today, the Broadchoice applications are very coupled to their choice of CFML engines. We run both Railo and ColdFusion - and unless there are substantial changes to both, those choices are unlikely to change. </p>
<p>
Which all brings me back to my point (oh, I bet you are pleased to discover I actually have a point after all this rambling!). Over the years, I&#8217;ve become a huge fan of ColdFusion and I&#8217;ve staked my professional career on it. However, despite that enthusiasm, I recognize that there are certain situations where Adobe&#8217;s licensing and/or the memory/disk footprint of ColdFusion simply don&#8217;t work. Sometimes a &#8216;proprietary&#8217; system won&#8217;t fly, only an open source solution. Sometimes cost is an issue. What are the options in those situations? In the past, the only option was to turn to a non-CFML solution. </p>
<p>
Given many companies&#8217; preference for homogenization, this often meant a wholesale shift to Java or .NET (the latter is something that New Atlanta seem <a href="http://blog.newatlanta.com/index.cfm?mode=entry&amp;entry=9DFBA97F-124C-10CB-361E10851B5FAB32">keen to assist with</a>). It has also meant the &#8216;bleeding out&#8217; of advanced CFers to Ruby on Rails and Groovy (as <a href="http://www.pbell.com/index.cfm/2009/4/6/Railo-The-Future-of-Web-Development--Easier-or-Faster">hinted at by Peter Bell</a> and <a href="http://neilmiddleton.com/2009/03/11/coldfusion-developers-please-learn-something-new/">Neil Middleton, who has moved to Ruby on Rails</a>). </p>
<p>ColdFusion long held the RAD crown for web development but even Adam Lehman will admit, I think, that RoR and Grails have at least borrowed, if not stolen, that title these days. Adobe are working hard to grab the crown back with Centaur - and from everything I&#8217;ve seen it will be an incredibly impressive release! But these days, it isn&#8217;t just Adobe fighting to get the RAD title back. OpenBD and Railo have shown that you can have a full-featured CFML engine that can compete with RoR and Groovy on price and licensing. </p>
<p>
This week we&#8217;ve seen the culmination of the maturing process for CFML so far. We now have multiple, credible open source implementations. We have big names backing those projects. We have a strong, growing community (Adam Lehman says 350k new CF developers have appeared since Adobe took the helm). The original implementation continues to evolve and innovate. The open source implementations are also innovating and evolving too. We have a central, multi-vendor committee that is <a href="http://opencfml.org/">attempting to standardize the language</a>. </p>
<p>
Could the free alternatives hurt Adobe? There&#8217;s an argument that they&#8217;ll leech away some of the low-end sales but my impression is that high-end sales are growing and Adobe is making more money from the Enterprise edition than from the Standard edition. Having said that, I think there&#8217;s no doubt that free open source CFML engines <strong>will</strong> cannibalize some low-end ColdFusion licenses. However, if those licenses are endangered by free CFML engines, they are also endangered by other free options (or even non-free options). A corporate commitment to CFML is not overturned by price alone but licensing <strong>is</strong> a factor. So if some low-end licenses will be lost by Adobe, how could this new competition actually benefit Adobe? Consider those CF shops that would move to another technology, a free technology (or a &#8220;free&#8221; technology - don&#8217;t get me started on .NET!) or a perceived &#8220;more RAD&#8221; technology. What if CFML was available in those categories too? What if the choice between PHP and CFML was not based on price? What if the Java community could consider CFML as a native JVM language supported by a well-respected Java-based organization like JBoss? All of a sudden, CFML is no longer a proprietary, expensive application server. The eco-system has grown. Adobe&#8217;s audience has grown to encompass people who might otherwise have embraced PHP or RoR or Groovy or even Java. If Adobe picks up even a few of those licenses - as people in that sector demand more from their new language - they&#8217;ll have benefited from the competition. </p>
<p><a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/Is_Choice_A_Good_Thing">Comments</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=ggsUKvtHEcY:Fc99MEBu6RU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=ggsUKvtHEcY:Fc99MEBu6RU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=ggsUKvtHEcY:Fc99MEBu6RU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=ggsUKvtHEcY:Fc99MEBu6RU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=ggsUKvtHEcY:Fc99MEBu6RU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=ggsUKvtHEcY:Fc99MEBu6RU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ColdfusionProNews/~4/ggsUKvtHEcY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coldfusionpronews.com/2009/04/22/to-many-choices-can-hinder-coldfusion-productivity/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.coldfusionpronews.com/2009/04/22/to-many-choices-can-hinder-coldfusion-productivity/</feedburner:origLink></item>
		<item>
		<title>The Pitfalls Of Object Oriented Software</title>
		<link>http://feedproxy.google.com/~r/ColdfusionProNews/~3/QQjwLvcnvAg/</link>
		<comments>http://www.coldfusionpronews.com/2009/04/06/the-pitfalls-of-object-oriented-software/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 14:52:46 +0000</pubDate>
		<dc:creator>Sean Corfield</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.coldfusionpronews.com/?p=50</guid>
		<description><![CDATA[Ben Nadel had a bit of a &#8220;crisis of faith&#8221; last week over his ability to learn OOP the &#8220;right&#8221; way. He&#8217;s highlighted a problem most people have coming to OO these days: in their search for the One True Way(tm), they are overwhelmed and can feel like failures. It can be a long, hard [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bennadel.com/">Ben Nadel</a> had a bit of a &#8220;crisis of faith&#8221; last week over his ability to learn OOP the &#8220;right&#8221; way. He&#8217;s highlighted a problem most people have coming to OO these days: in their search for the One True Way(tm), they are overwhelmed and can feel like failures. It can be a long, hard road. In a comment on his blog, I recommended everyone read the first two paragraphs of the &#8220;Gang of Four&#8221; Design Patterns book because it really sets this in context. I&#8217;m going to reproduce those first two paragraphs here to get you thinking. I highly recommend buying and reading the book.
<p><span id="more-50"></span>
</p>
<blockquote><p> Designing object-oriented software is hard, and designing <em>reusable</em> object-oriented software is even harder. You must find pertinent objects, factor them into classes at the right granularity, define class interfaces and inherited hierarchies, and establish key relationships among them. Your design should be specific to the problem at hand but also general enough to address future problems and requirements. You also want to avoid redesign, or at least minimize it. Experienced object-oriented designers will tell you that a reusable and flexible design is difficult if not impossible to get &#8220;right&#8221; the first time. Before a design is finished, they usually try to reuse it several times, modifying it each time.
<p>
Yet experienced object-oriented designers do make good designs. Meanwhile new designers are overwhelmed by the options available and tend to fall back on non-object-oriented techniques they&#8217;ve used before. It takes a long time for novices to learn what good object-oriented design is all about. Experienced designers evidently know something inexperienced ones don&#8217;t. What is it? </p>
</blockquote>
<p> Read it over and over again to make sure you&#8217;re taking it all in. This stuff is hard and you&#8217;ll be overwhelmed at the beginning. It takes a lot of time and experience to get &#8220;good&#8221; and even the experts almost never get it &#8220;right&#8221; the first time, or even the first few times.
<p>
Don&#8217;t be discouraged but be realistic: don&#8217;t expect OO to be a quick win. It&#8217;s a process, a journey. I&#8217;d been doing OO for about three years before that book first appeared - imagine how frustrating those first three years were! Even after the book appeared, imagine how long it took people to come to terms with what the authors were saying and how much longer it took most people to take the contents of the book onboard! </p>
<p><a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/Designing_objectoriented_software_is_hard">Comments</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=QQjwLvcnvAg:OP_klWkw6g4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=QQjwLvcnvAg:OP_klWkw6g4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=QQjwLvcnvAg:OP_klWkw6g4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=QQjwLvcnvAg:OP_klWkw6g4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=QQjwLvcnvAg:OP_klWkw6g4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=QQjwLvcnvAg:OP_klWkw6g4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ColdfusionProNews/~4/QQjwLvcnvAg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coldfusionpronews.com/2009/04/06/the-pitfalls-of-object-oriented-software/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.coldfusionpronews.com/2009/04/06/the-pitfalls-of-object-oriented-software/</feedburner:origLink></item>
		<item>
		<title>Basic Training For cf.Objective() 2009</title>
		<link>http://feedproxy.google.com/~r/ColdfusionProNews/~3/Kx1pRQvZFf0/</link>
		<comments>http://www.coldfusionpronews.com/2009/03/24/basic-training-for-cfobjective-2009/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 14:09:02 +0000</pubDate>
		<dc:creator>Sean Corfield</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.coldfusionpronews.com/?p=48</guid>
		<description><![CDATA[Luis Majano is offering a one day ColdBox training course on May 13th in the Hyatt (the cf.Objective() hotel). Cost $449. If you&#8217;ve already registered for cf.Objective() and want to add this training day, contact Cathy at Best Meetings (cathy at bestmeetings dot com).   
 

You can read all about the training course [...]]]></description>
			<content:encoded><![CDATA[<p>Luis Majano is offering a one day ColdBox training course on May 13th in the Hyatt (the cf.Objective() hotel). Cost $449. If you&#8217;ve already registered for cf.Objective() and want to add this training day, contact Cathy at Best Meetings (cathy at bestmeetings dot com).   </p>
<p> <span id="more-48"></span>
<p>
You can <a href="http://www.coldboxframework.com/index.cfm/events/cfobjective-2009-cbox100">read all about the training course</a> on the ColdBox website and the <a href="http://www.cfobjective.com/precon.cfm">cf.Objective() pre-conference page</a>. </p>
<p><center><img src="http://www.coldfusionpronews.com/wp-content/uploads/pre-conference.jpg"></center></p>
<p>You can now register for the training when you <a href="https://www.bestmeetings.com/registration/cfobjective/cfobjective.cfm">register for cf.Objective()</a>. You can even attend the training without attending the conference (but why would you want to miss such an excellent conference?).    </p>
<p>
I know some folks were holding off registration until the pre-conference training was announced - now you have no excuse! <img src='http://www.coldfusionpronews.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />    </p>
<p>
Remember that the early bird ends on March 31st. If you register at least one person from your company before then, other people from your company will be able to register at the same price even after that date (and if you send five or more people, you&#8217;ll get an additional discount!). After March 31st, the regular price goes up to $629 - which is the same price as last year. </p>
<p><a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/cfObjective_2009_Preconference_Training">Comments</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=Kx1pRQvZFf0:8WrraDt03zY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=Kx1pRQvZFf0:8WrraDt03zY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=Kx1pRQvZFf0:8WrraDt03zY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=Kx1pRQvZFf0:8WrraDt03zY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=Kx1pRQvZFf0:8WrraDt03zY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=Kx1pRQvZFf0:8WrraDt03zY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ColdfusionProNews/~4/Kx1pRQvZFf0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coldfusionpronews.com/2009/03/24/basic-training-for-cfobjective-2009/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.coldfusionpronews.com/2009/03/24/basic-training-for-cfobjective-2009/</feedburner:origLink></item>
		<item>
		<title>cf.Objective() 2009 Updates</title>
		<link>http://feedproxy.google.com/~r/ColdfusionProNews/~3/vIUocTRnlKY/</link>
		<comments>http://www.coldfusionpronews.com/2009/03/11/cfobjective-2009-updates/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 13:39:46 +0000</pubDate>
		<dc:creator>Sean Corfield</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.coldfusionpronews.com/?p=46</guid>
		<description><![CDATA[Save $130 with cf.Objective() Early Bird
cf.Objective() 2009 early bird pricing ends on March 16th and the price will go up by $130 after that. 
3-day registration is currently $549. 2-day registration is $499.    
After March 16th, 3-day registration will be $679 and 2-day registration will be $549.    
Expect pre-conference [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Save $130 with cf.Objective() Early Bird</strong></p>
<p><a href="http://cfobjective.com/">cf.Objective() 2009</a> early bird pricing ends on March 16th and the price will go up by $130 after that. </p>
<p>3-day registration is currently $549. 2-day registration is $499.    </p>
<p>After March 16th, 3-day registration will be $679 and 2-day registration will be $549.    <span id="more-46"></span></p>
<p>Expect pre-conference training to be finalized in the next few days and posted to the website this week!    </p>
<p>The online scheduler will be available this week too. </p>
<p><a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/Save_130_with_cfObjective_Early_Bird">Comments</a> </p>
<p><a href="http://cfobjective.com/"><img src="http://images.ientrymail.com/coldfusionpronews/cf0311.gif" border="0"></a></p>
<p><strong>Session Descriptions Posted!</strong></p>
<p>All of the <a href="http://cfobjective.com/sessions.cfm">session descriptions</a> have been posted on the cf.Objective() 2009 website. </p>
<p>The sessions page describes the four tracks at this year&#8217;s conference with session titles and speakers. Click on each title to jump to the description on the full track listing page.</p>
<p> Don&#8217;t forget to check out the schedule - it has had a couple of small tweaks as well. </p>
<p>Adobe sessions will be listed nearer the time (since much will depend on where Centaur and Bolt development is at the time of the conference!). </p>
<p><a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/cfObjective_2009__Session_Descriptions_Posted">Comments</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=vIUocTRnlKY:kj8Z73fdHcM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=vIUocTRnlKY:kj8Z73fdHcM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=vIUocTRnlKY:kj8Z73fdHcM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=vIUocTRnlKY:kj8Z73fdHcM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=vIUocTRnlKY:kj8Z73fdHcM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=vIUocTRnlKY:kj8Z73fdHcM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ColdfusionProNews/~4/vIUocTRnlKY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coldfusionpronews.com/2009/03/11/cfobjective-2009-updates/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.coldfusionpronews.com/2009/03/11/cfobjective-2009-updates/</feedburner:origLink></item>
		<item>
		<title>Open BlueDragon Joins The CFML Advisory Committee</title>
		<link>http://feedproxy.google.com/~r/ColdfusionProNews/~3/tEYq6yoHUQY/</link>
		<comments>http://www.coldfusionpronews.com/2009/02/23/open-bluedragon-joins-the-cfml-advisory-committee/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 15:21:16 +0000</pubDate>
		<dc:creator>Sean Corfield</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.coldfusionpronews.com/?p=44</guid>
		<description><![CDATA[A lot of people have asked about OpenBD being represented on the CFML Advisory Committee since the original announcement at CFUNITED 2008. I&#8217;m pleased to announce that today Matt Woodward joined the committee, representing the OpenBD CFML engine. We now have the three major CFML engines represented on the committee: Adobe ColdFusion, Railo and Open [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of people have asked about OpenBD being represented on the CFML Advisory Committee since the original announcement at CFUNITED 2008. I&#8217;m pleased to announce that today Matt Woodward joined the committee, representing the OpenBD CFML engine. We now have the three major CFML engines represented on the committee: Adobe ColdFusion, Railo and Open BlueDragon. </p>
<p><span id="more-44"></span></p>
<p>Standardization is a long, slow, complex process. It is always a multiple vendor process and it always takes time to assimilate all of the information about each vendor and to figure out where the standard should tread on the paths between all the vendors.    </p>
<p>
We have been reviewing all the dialects of CFML and figuring out what tags and functions are really core to the language and what are &#8220;extensions&#8221; in some sense. We&#8217;ve already analyzed Adobe&#8217;s CFML support and recently we started looking at Railo and OpenBD extensions and, since Gert was already on the committee, it was clear that we needed an official representative of the OpenBD project as well.    </p>
<p>
I&#8217;m very pleased to have Matt on board, knowing that the three major CFML engine projects can work together to help standardize the language and guide the evolution of CFML over the next several years.    </p>
<p>
I&#8217;m under no illusions about the work involved - I was a member of the C++ standardization committee for eight years (and secretary for three years!). We will soon be announcing the committee&#8217;s website which will provide a definition of what is considered &#8220;core&#8221; CFML, &#8220;extended core&#8221; CFML and also what is considered a vendor-specific extension. Over time, we will provide guidance on how all vendors can extend the core language in idiomatic ways, maintaining consistency of the language. We will also, over time, provide a full specification of the CFML language.    </p>
<p>
We are starting with a simple list of which tags and functions to expect to be implemented, providing a baseline of portability, and we will evolve that to fully specify the behavior of those tags and functions. We will also specify CFScript (since that has never really been documented properly) as we all believe that is a core part of CFML.    </p>
<p>
Once we publish the website, we will be looking for feedback from the community on the standardization and evolution of CFML.    </p>
<p>I think today will be looked back on as a very significant date in the history of CFML! </p>
<p><a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/Open_BlueDragon_and_the_CFML_Advisory_Committee">Comments</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=tEYq6yoHUQY:Q2HFZPeow8I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=tEYq6yoHUQY:Q2HFZPeow8I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=tEYq6yoHUQY:Q2HFZPeow8I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=tEYq6yoHUQY:Q2HFZPeow8I:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?i=tEYq6yoHUQY:Q2HFZPeow8I:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ColdfusionProNews?a=tEYq6yoHUQY:Q2HFZPeow8I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ColdfusionProNews?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ColdfusionProNews/~4/tEYq6yoHUQY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coldfusionpronews.com/2009/02/23/open-bluedragon-joins-the-cfml-advisory-committee/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.coldfusionpronews.com/2009/02/23/open-bluedragon-joins-the-cfml-advisory-committee/</feedburner:origLink></item>
	</channel>
</rss>
