<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-26595693</id><updated>2011-04-21T22:47:33.788-04:00</updated><category term='Adobe'/><category term='daylight savings time'/><category term='business 2.0'/><category term='Microsoft'/><category term='tools'/><category term='FCKeditor'/><category term='Contribute Publishing Services'/><category term='enterprise 2.0'/><category term='log parser'/><category term='AJAX'/><category term='Planning Series'/><category term='Evangelism'/><category term='Java'/><category term='Dreamweaver'/><category term='IIS'/><category term='Ineptitude'/><category term='LDAP'/><category term='Custom Tags'/><category term='PHP'/><category term='Flash'/><category term='Ruby'/><category term='web 2.0'/><category term='Contribute'/><category term='user interface'/><category term='Actionscript'/><category term='WTF'/><category term='Flex'/><category term='Humor'/><category term='CF Is Not Dead Yet Series'/><category term='middleware'/><category term='Object Oriented Programming'/><category term='mashup'/><category term='ColdFusion'/><category term='Design Patterns'/><category term='.NET'/><title type='text'>The Wandering Fishbowl</title><subtitle type='html'>Thoughts on web technologies and coding techniques, mostly revolving around ColdFusion.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-26595693.post-4367175261647038071</id><published>2009-06-02T10:27:00.003-04:00</published><updated>2009-06-02T10:50:13.296-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='Dreamweaver'/><title type='text'>Hating Online Only Help in Creative Suite</title><content type='html'>Perhaps I'm just getting old and crusty, or perhaps it's just lack of sleep, but I'm really not liking the way the current Creative Suite 4 products go online for help. Seriously, does this content really change so much that having offline help isn't useful? Last time I checked the Dreamweaver documentation hasn't changed all that much since Mx2004.&lt;br /&gt;First of all, fat lot of good it does me when I'm on a laptop on the train. Even if I had a cellular card in my machine, which I don't, would I really want to be wasting my monthly bandwidth allotment, looking up a tag or function that I don't use frequently. Not to mention, that much of my ride is underground and out of cellular range.&lt;br /&gt;My second beef is that Dreamweaver CS 4 help (F1) defaults to the Dreamweaver Support Center rather than the Dreamweaver Documentation. Sure, the link for documentation is there on the right, but it is quite hard to spot. I realize that you can change the default behavior back to point to the documentation, but again, it's not easy to find.&lt;br /&gt;Most likely I'll just download the PDF versions and think very carefully before upgrading in the future. It seems to me that this is yet another case of just because you can do something, doesn't mean you should.&lt;br /&gt;In any event, that's my rant for the day.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-4367175261647038071?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/4367175261647038071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=4367175261647038071' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/4367175261647038071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/4367175261647038071'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2009/06/hating-online-only-help-in-creative.html' title='Hating Online Only Help in Creative Suite'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-3373004449164385313</id><published>2009-04-01T10:42:00.004-04:00</published><updated>2009-04-01T11:43:22.057-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><category scheme='http://www.blogger.com/atom/ns#' term='Humor'/><title type='text'>Microsoft.com to use CFML?</title><content type='html'>Sources within Microsoft's web division revealed late last night that Microsoft is seriously considering microsoft.com to ColdFusion. Said our source, "Let's face it, if we switch to ColdFusion we can get by on 3/4 of our current staff. These days, that's a big consideration." While politics is often blamed for making strange bedfellows, it appears that adversity can sometimes do the trick as well. Should this decision come to pass, expect the announcement within days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-3373004449164385313?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/3373004449164385313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=3373004449164385313' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/3373004449164385313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/3373004449164385313'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2009/04/microsoftcom-to-use-cfml.html' title='Microsoft.com to use CFML?'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-1821842323283548032</id><published>2009-03-10T10:05:00.002-04:00</published><updated>2009-03-10T10:55:01.151-04:00</updated><title type='text'>Broom Development</title><content type='html'>I was listening to January's &lt;a href="http://www.willowcreek.com/definingmoments/" target="_blank"&gt;Defining Moments&lt;/a&gt;  on my way to work this morning and was introduced to the concept of &lt;span style="font-weight: bold;"&gt;broom theology&lt;/span&gt; by &lt;a href="http://www.xpastor.org/bio/simone_michael.html" target="_blank"&gt;Dr. Michael Simone&lt;/a&gt;. The concept comes from a job at a small trucking company that Dr. Simone once worked for.&lt;blockquote&gt;On days when work was slow, the old guy in the warehouse would say, "If you have nothing to do, pick up a broom and start sweeping the warehouse."&lt;/blockquote&gt; In churches, similar situations arise, and broom theology says, "Look around for someone who needs help or somewhere you can help." In many ways the web development world is quite different than the church world, but I think we can borrow this concept of broom theology and refactor it to become broom development.&lt;br /&gt;&lt;br /&gt;Broom development states:&lt;br /&gt;When you hit those lull times that occur even in the busiest of development shops, use the time productively.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;See if anyone on your team could use some help.&lt;/li&gt;&lt;li&gt;Pay down some of your team's &lt;a href="http://www.codinghorror.com/blog/archives/001230.html"&gt;technical debt&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;If all else fails, there's always documentation or learning new skills.&lt;/li&gt;&lt;/ul&gt;So, the next time you find yourself in that lull and are tempted to find out how "The Woz" did on this weeks &lt;span style="font-style: italic;"&gt;Dancing with the Stars&lt;/span&gt;, I encourage you to consider practicing some broom development. You might just learn something about yourself, a co-worker, or your craft.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-1821842323283548032?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/1821842323283548032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=1821842323283548032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/1821842323283548032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/1821842323283548032'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2009/03/broom-development.html' title='Broom Development'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-5252349951784605358</id><published>2008-11-06T10:51:00.002-05:00</published><updated>2008-11-06T11:07:41.013-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Welcome Back From the Dark Side</title><content type='html'>I'd like to take this, slightly belated&lt;sup&gt;1&lt;/sup&gt;, opportunity both to welcome David Patricola to Jefferson, as well as welcome him back from the dark side&lt;sup&gt;2&lt;/sup&gt;. David has a &lt;a href="http://tutorial163.easycfm.com/index.cfm?tutorial_author=David%20Patricola"&gt;history of working with ColdFusion&lt;/a&gt;, however, in recent years he's been working in the PHP world. Fortunately now we have him back in the CF community.&lt;br /&gt;&lt;br /&gt;&lt;sup&gt;1&lt;/sup&gt; David began with us sometime in October, though I'm just starting to get my head back above water now.&lt;br /&gt;&lt;br /&gt;&lt;sup&gt;2&lt;/sup&gt; Calling PHP the dark side is not intended as an attack on PHP developers. We in the ColdFusion community mourn for our PHP brethren who must toil endlessly with tasks that we perform in minutes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-5252349951784605358?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/5252349951784605358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=5252349951784605358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/5252349951784605358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/5252349951784605358'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2008/11/welcome-back-from-dark-side.html' title='Welcome Back From the Dark Side'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-5144083498031934605</id><published>2008-06-27T09:04:00.005-04:00</published><updated>2008-06-27T09:18:49.543-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object Oriented Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='Contribute Publishing Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Contribute'/><category scheme='http://www.blogger.com/atom/ns#' term='Dreamweaver'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>CF Developer needed in Philadelphia, PA</title><content type='html'>&lt;a href="http://www.jefferson.edu/careers"&gt;Thomas Jefferson University&lt;/a&gt;&lt;sup&gt;*&lt;/sup&gt; is currently looking for an Intermediate to Advanced level ColdFusion developer with strong design and layout skills. Flash/Flex skills and knowledge of Contribute a plus.&lt;br /&gt;&lt;br /&gt;We are a small team that maintains TJU's internet and intranet web presence. In addition we do small to medium sized ColdFusion applications for various departments. For many of our projects we utilize Model-Glue. We provide complete service from design to database work. We are currently in the middle of a re-branding effort, our new look can be seen on our &lt;a href="http://www.jefferson.edu/emr"&gt;Electronic Medical Records&lt;/a&gt; site.&lt;br /&gt;&lt;br /&gt;&lt;sup&gt;*&lt;/sup&gt;Note: Our employment page is due to be upgraded in the very near future. As such I'm providing a basic link that will be valid before and after the upgrade.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-5144083498031934605?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/5144083498031934605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=5144083498031934605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/5144083498031934605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/5144083498031934605'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2008/06/cf-developer-needed-in-philadelphia-pa.html' title='CF Developer needed in Philadelphia, PA'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-731973447971950102</id><published>2008-06-06T14:33:00.003-04:00</published><updated>2008-06-16T16:08:50.575-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Contribute Publishing Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Contribute'/><title type='text'>Odd LDAP Calls from Contribute Publishing Services</title><content type='html'>&lt;p&gt;We've recently updated our LDAP and noticed a slowdown on authenticating through Contribute Publishing services. Upon looking into the issue, we determined that Contribute Publishing Server was sending what to us appears to be a malformed LDAP filter.  Before I call Adobe support, I thought I'd check to see if anybody else has encountered this issues. Our setup looks something like this. (I've changed the actual data for security reasons.)&lt;/p&gt;&lt;p&gt;&lt;img src="http://mysite.verizon.net/luis.matthews/images/sampleConfig1.gif" alt="sample config 1" /&gt;&lt;/p&gt;&lt;p&gt;Our user search tab has CN, Mail and UID Defined along with a basic filter. &lt;span class="black"&gt;(!(status=I))&lt;/span&gt; Our Group tab is blank as our LDAP does not contain groups. With this setup, when attempting to authenticate user lm1000, CPS send the following filter to the LDAP.&lt;/p&gt;&lt;p&gt;&lt;span class="black"&gt;(&amp;amp;(!(status=I))(|(uid=lm1000)&lt;/span&gt;&lt;span class="red"&gt;&lt;strong&gt;(=lm1000)&lt;/strong&gt;&lt;/span&gt;&lt;span class="black"&gt;))&lt;/span&gt;&lt;/p&gt;&lt;p&gt;When I run this filter in an LDAP browser I see the same slow behavior, however when I remove &lt;span class="red"&gt;(=lm1000)&lt;/span&gt; the LDAP responds immediately. Has anyone seen this behavior before? Am I not configuring something properly, because to the best of my knoledge, an LDAP filter must contain an attribute name to look for a value in.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; It turns out that adding the UID field in the group tab resolves this issue.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-731973447971950102?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/731973447971950102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=731973447971950102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/731973447971950102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/731973447971950102'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2008/06/odd-ldap-calls-from-contribute.html' title='Odd LDAP Calls from Contribute Publishing Services'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-298258811770745806</id><published>2008-04-01T14:36:00.004-04:00</published><updated>2008-12-11T07:33:59.657-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><category scheme='http://www.blogger.com/atom/ns#' term='Humor'/><title type='text'>Future ColdFusion Features</title><content type='html'>&lt;p&gt;During the recent &lt;a href="http://www.adobe.com/communities/developerweek/"&gt;Adobe Developer Week&lt;/a&gt;, I somehow found myself in a private session showing off some high end features that are being worked on for ColdFusion 9. Now, I'm sure that those invited all agreed not to disclose any information that was being presented, but since I ended up there uninvited, I thought I'd share what I saw. They began the session by explaining that what with all of the great new features released in ColdFusion 7 &amp;amp; 8, ColdFusion is in danger of losing one of it's sets of core users. They call this group the Common Laymen and Office Dwellers or CLODs for short. In order to address the concerns of their CLOD constituency that ColdFusion is getting too complex, they've decided to add a new tag.&lt;/p&gt;&lt;p&gt;&lt;span class="red"&gt;&amp;lt;cfsite type="&lt;/span&gt;&lt;span class="blue"&gt;brewpub&lt;/span&gt;&lt;span class="red"&gt;" skin="&lt;/span&gt;&lt;span class="blue"&gt;blue&lt;/span&gt;&lt;span class="red"&gt;" name="&lt;/span&gt;&lt;span class="blue"&gt;Nodding Head&lt;/span&gt;&lt;span class="red"&gt;" location="&lt;/span&gt;&lt;span class="blue"&gt;Philadelphia, PA&lt;/span&gt;&lt;span class="red"&gt;"&lt;/span&gt; &lt;span class="blue"&gt;/&lt;/span&gt;&lt;span class="red"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;That simple tag produced the following site...&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7PLz3lRAeJI/R_KA5KivI3I/AAAAAAAAAAk/KEPPKpRc3VI/s1600-h/nodding.gif"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_7PLz3lRAeJI/R_KA5KivI3I/AAAAAAAAAAk/KEPPKpRc3VI/s400/nodding.gif" alt="" id="BLOGGER_PHOTO_ID_5184347840627811186" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;From what I can tell, the tag does a yellow pages search on the name and location to find specific address, phone and hours, then goes out and finds appropriate graphics, before finally generating the site. My assumption is that the site is then cached somewhere, since I would assume that those searches would run a bit slow under load.&lt;/p&gt;&lt;p&gt;I for one am very exited about the efforts Adobe is going to in order to make the life of the average CLOD better. Oh, and if anyone asks, you didn't hear this from me.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-298258811770745806?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/298258811770745806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=298258811770745806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/298258811770745806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/298258811770745806'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2008/04/future-coldfusion-features.html' title='Future ColdFusion Features'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_7PLz3lRAeJI/R_KA5KivI3I/AAAAAAAAAAk/KEPPKpRc3VI/s72-c/nodding.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-1564379206908892966</id><published>2008-02-15T16:03:00.000-05:00</published><updated>2008-02-15T16:04:37.802-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Testing is hard work!</title><content type='html'>&lt;p&gt;I recently found myself in the beta test group for &lt;a href="http://www.dreamcodex.com/todr.php"&gt;Tunnels of Doom Reboot&lt;/a&gt;. My initial thought was that this would be easy. After all, I do write code for a living. I regularly test my code as well as my colleagues' code. I've spent countless hours of my life playing the original; I know it inside and out. How hard could this be?&lt;/p&gt;&lt;blockquote&gt;Enter a world of fantasy where your instincts and imagination determine your chances of survival. Your journey is about to begin&amp;mdash;Prepare yourself. &lt;br /&gt;&amp;ndash;Tunnels of Doom Manual&lt;/blockquote&gt;&lt;p&gt;When the beta became available to the testers, I downloaded it, fired it up, and quite frankly had a ball. That day I submitted my first 'bug report' which consisted of a 'bug' that I could not reproduce as well as a handful of usability suggestions. Shortly after that the first status report came out, with a number of reported bugs list, most of which I had seen, but not thought to mention. &lt;/p&gt;&lt;p&gt;My big problem was that I was approaching it like a gamer and not like a tester. While I did not have access to the design spec to confirm behavior against like I normally do, several of the bugs that I failed to report, were pretty obvious. For my part, once I realized my mistake, I fired the application back up and have since delivered the type of bug reports that I want to see when folks are testing my code.&lt;/p&gt;&lt;p&gt;The thing is as web developers we are all very aware of the limitations of web-based applications, and it is easy for us to ignore things that are not easy to fix. We cannot, however, let ourselves become complacent. With the help of newer technologies such as Flex, we are in a position to overcome many of the historical limitations of web-based applications. The challenge is &lt;a href="http://www.smashingmagazine.com/2008/01/16/evolve-your-user-interface-to-educate-your-users/"&gt;weilding these new technologies appropriately&lt;/a&gt;, and freeing ourselves from the &lt;a href="http://www.codinghorror.com/blog/archives/001059.html"&gt;limitations and thinking&lt;/a&gt; of the past.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-1564379206908892966?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/1564379206908892966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=1564379206908892966' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/1564379206908892966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/1564379206908892966'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2008/02/testing-is-hard-work.html' title='Testing is hard work!'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-435890493824475598</id><published>2008-01-31T13:06:00.000-05:00</published><updated>2008-01-31T13:10:50.817-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Should we extend CF Objects with java APIs?</title><content type='html'>&lt;p&gt;There have been a couple of &lt;a href="http://www.angry-fly.com/index.cfm/2008/1/29/Coldfusion-Strings-Java-Objects-In-Disguise"&gt;recent&lt;/a&gt; &lt;a href="http://coldfused.blogspot.com/2007/01/extend-cf-native-objects-harnessing.html"&gt;posts&lt;/a&gt; regarding extending ColdFusion data types using the underlying java APIs.&lt;/p&gt;&lt;blockquote&gt;ColdFusion array is actually an implementation of java list (java.util.List). So all the list methods are actually available for Array. CF provides most of the list functionality using Array functions but there are few things possible with java list which you can not do directly with CF functions.&lt;/blockquote&gt;&lt;p&gt;For example, you can use java API to search an array to determine the position of a given search criteria.&lt;/p&gt;&lt;p&gt;&lt;span class="red"&gt;&amp;lt;cfset&lt;/span&gt; &lt;span class="black"&gt;myArray&lt;/span&gt; &lt;span class="blue"&gt;= listToArray&lt;/span&gt;&lt;span class="green"&gt;('vanilla,chocolate,strawberry')&lt;/span&gt; &lt;span class="blue"&gt;/&lt;/span&gt;&lt;span class="red"&gt;&amp;gt;&lt;br /&gt;&amp;lt;cfif&lt;/span&gt; &lt;span class="black"&gt;myArray.&lt;/span&gt;&lt;span class="blue"&gt;contains&lt;/span&gt;&lt;span class="green"&gt;('strawberry')&lt;/span&gt;&lt;span class="red"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;cfset&lt;/span&gt; &lt;span class="black"&gt;strawberryIndex = myArray.indexof&lt;span class="green"&gt;('strawberry')&lt;/span&gt;&lt;span class="black"&gt; +&lt;/span&gt;&lt;span class="red"&gt; 1&lt;/span&gt; &lt;span class="blue"&gt;/&lt;span class="red"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/cfif&amp;gt;&lt;br /&gt;&amp;lt;cfoutput&amp;gt;&lt;/span&gt;&lt;span class="black"&gt;#myArray[strawberryIndex]#&lt;/span&gt;&lt;span class="red"&gt;&amp;lt;/cfoutput&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Note the adjustment that I've made to account for java arrays starting at 0. &lt;a href="http://www.angry-fly.com/index.cfm/2008/1/29/Coldfusion-Strings-Java-Objects-In-Disguise"&gt;Russ Johnson&lt;/a&gt;, &lt;a href="http://coldfused.blogspot.com/2007/01/extend-cf-native-objects-harnessing.html"&gt;Rupesh Kumar&lt;/a&gt; and &lt;a href="http://www.iknowkungfoo.com/blog/index.cfm/2007/11/11/Under-the-Hood--ColdFusion-Array"&gt;Adrian Moreno&lt;/a&gt; go into how to do this in more detail.&lt;/p&gt;&lt;p&gt;It's really quite cool that we can do this sort of thing, but should we? One of the great strengths of ColdFusion is its backwards compatibility. I have code, written for ColdFusion 4.5, that's been running untouched for 6 or 7 years. For those keeping count that's about 5 major releases ago. Adobe/Macromedia/Allaire has been great over the years about letting us know what's changed with various versions of ColdFusion. What happens if a future version of ColdFusion ends up breaking this functionality? We certainly can't expect Adobe to keep us informed when one of their changes breaks undocumented features of the product.&lt;/p&gt;&lt;p&gt;Perhaps it's because I'm in the middle of planning a ColdFusion 8 migration, but for my money maintainability nine times out of ten outweighs the short term gain of using these features. That's not to say that I'll never use this knowledge, but that I'll think very carefully about the possible consequences and benefits before doing so.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-435890493824475598?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/435890493824475598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=435890493824475598' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/435890493824475598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/435890493824475598'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2008/01/should-we-extend-cf-objects-with-java.html' title='Should we extend CF Objects with java APIs?'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-8049421328856972939</id><published>2008-01-17T16:00:00.000-05:00</published><updated>2008-01-17T16:36:45.598-05:00</updated><title type='text'>Coping with Change</title><content type='html'>We interrupt our (semi) regular blog entry to bring you some thoughts on change. I mentioned that I was &lt;a href="http://wanderingfishbowl.blogspot.com/2007/08/gettin-reorganized.html"&gt;dealing with a reorganization&lt;/a&gt; a few months back. Before that I had the good fortune of being in a totally stable environment for 6 years, which if you've been at this professionally for any length of time, you know is practically unheard of in business. As a result some of our younger staff members are having a bit of trouble coping with the changes that a reorganization invariably brings.&lt;br /&gt;&lt;blockquote&gt;Ch-ch-changes&lt;br /&gt;Just gonna have to be a different man&lt;br /&gt;Time may change me&lt;br /&gt;But I can't trace time&lt;br /&gt;- David Bowie&lt;/blockquote&gt;For me the change has meant watching new folks move in while most of my co-workers moved out, then moving down to be with most of my old co-workers, knowing that the changes are not complete and that I may find myself moving back or someplace completely different at any given time.  For those of you who are fairly new to the business world, change is to be expected. Keep your head down, watch your back, work hard, don't take it personally, and you'll come through it fine.  For those of us who've seen change before, don't forget to encourage and comfort your co-workers who have not been through it before. (at least the one's you want to keep.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-8049421328856972939?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/8049421328856972939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=8049421328856972939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/8049421328856972939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/8049421328856972939'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2008/01/coping-with-change.html' title='Coping with Change'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-7202508688498503176</id><published>2008-01-07T14:16:00.000-05:00</published><updated>2008-01-07T15:46:00.418-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>IDE Survey Relevance</title><content type='html'>&lt;p&gt;As I'm sure you are already aware, there is a &lt;a href="http://www.cfinsider.com/index.cfm/2008/1/7/Adobe-ColdFusion-IDE-Survey"&gt;ColdFusion IDE survey&lt;/a&gt; out right now.&lt;/p&gt;&lt;blockquote&gt;Tired of Dreamweaver/CFEclipse/Homesite/CFStudio/Notepad? Do you wish they did more or there was something better out there altogether? Do you want Adobe to provide it? Help us help you! We want to hear your thoughts about how we can best support you and your development in ColdFusion!&lt;/blockquote&gt;&lt;p&gt;Of course I want better tools! Who doesn't? The fact of the matter is that there never will be the perfect IDE for all situations. We each pick the tool that best fits us, but let's face it, the right IDE for me may not be the right IDE for you.  If I'm not careful, this could degrade into a full fledged rant.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The point I'm trying to make here is that I question how useful a 7 question (26 if you consider the parts of question 5 individually) really going to be to the ColdFusion team. It seems to me that it would make sense to start with a simple survey to determine if the ColdFusion community is interested in a new ColdFusion IDE from Adobe, and what the community thinks it should cost (not that people will necessarily pay what they say they think something should be worth, but that's besides the point). Once they decide to proceed, then a second, much more detailed survey could be conducted as part of a larger requirements analysis. From there they could then narrow down the features that they intend to implement, and proceed with a standard development cycle.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Of course, I did fill the survey out, but I do have to question it's relevance. Oops, guess I did end up with a full fledged rant.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-7202508688498503176?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/7202508688498503176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=7202508688498503176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/7202508688498503176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/7202508688498503176'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2008/01/ide-survey-relevance.html' title='IDE Survey Relevance'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-8193637416695070849</id><published>2007-12-28T11:08:00.000-05:00</published><updated>2008-12-11T07:33:59.876-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='FCKeditor'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>FCKeditor can meet your rich text needs.</title><content type='html'>I realize that &lt;a href="http://www.fckeditor.net/"&gt;FCKeditor&lt;/a&gt; is &lt;a href="http://www.rakshith.net/blog/?p=41"&gt;bundled with ColdFusion 8&lt;/a&gt;, but those of us running ColdFusion 7, or PHP, or any number of other languages, can also take advantage of this &lt;a href="http://www.fckeditor.net/license"&gt;flexibly licensed&lt;/a&gt;, powerful, and thanks to included hooks and samples, easy to integrate rich text editor. I should say up front, that I am in no way affiliated with the FCKeditor project, but am simply a satisfied user.&lt;br /&gt;&lt;br /&gt;For users of ColdFusion 6 and above it can be as simple as &lt;a href="http://www.fckeditor.net/download"&gt;downloading&lt;/a&gt; and unzipping the editor, and then calling the included fckeditor.cfc like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span class="red"&gt;&amp;lt;cfset&lt;/span&gt; &lt;span class="black"&gt;editorInstance&lt;/span&gt; &lt;span class="blue"&gt;= createObject(&lt;/span&gt;&lt;span class="green"&gt;'component', 'path.to.fckeditorcfc'&lt;/span&gt;&lt;span class="blue"&gt;) /&lt;/span&gt;&lt;span class="red"&gt;&amp;gt;&lt;br /&gt;&amp;lt;cfset&lt;/span&gt; &lt;span class="black"&gt;editorInstance.instanceName&lt;/span&gt; &lt;span class="blue"&gt;=&lt;/span&gt; &lt;span class="green"&gt;"formFieldName"&lt;/span&gt;&lt;span class="blue"&gt; /&lt;/span&gt;&lt;span class="red"&gt;&amp;gt;&lt;br /&gt;&amp;lt;cfset&lt;/span&gt; &lt;span class="black"&gt;editorInstance.basePath&lt;/span&gt; &lt;span class="blue"&gt;=&lt;/span&gt; &lt;span class="green"&gt;"/path/to/fckeditor/"&lt;/span&gt; &lt;span class="blue"&gt;/&lt;/span&gt;&lt;span class="red"&gt;&amp;gt;&lt;br /&gt;&amp;lt;cfset&lt;/span&gt; &lt;span class="black"&gt;editorInstance.Create&lt;/span&gt;&lt;span class="blue"&gt;() /&lt;/span&gt;&lt;span class="red"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7PLz3lRAeJI/R3UpRNTw7JI/AAAAAAAAAAc/AYrIF9G4ZVw/s1600-h/fcksample.gif"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_7PLz3lRAeJI/R3UpRNTw7JI/AAAAAAAAAAc/AYrIF9G4ZVw/s320/fcksample.gif" alt="" id="BLOGGER_PHOTO_ID_5149067124575104146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Note: This screenshot does not represent the default button set.&lt;br /&gt;&lt;br /&gt;On the back end, the HTML generated by the editor simply comes through as a form field value using the instanceName that you set, making it dead simple to enhance existing forms.&lt;br /&gt;&lt;br /&gt;If you've been unsure how to implement rich text editors, or have been struggling with one that doesn't quite meet your needs, I urge you to give FCKeditor a try.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-8193637416695070849?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/8193637416695070849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=8193637416695070849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/8193637416695070849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/8193637416695070849'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/12/fckeditor-can-meet-your-rich-text-needs.html' title='FCKeditor can meet your rich text needs.'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_7PLz3lRAeJI/R3UpRNTw7JI/AAAAAAAAAAc/AYrIF9G4ZVw/s72-c/fcksample.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-4842138368864863277</id><published>2007-11-12T11:55:00.000-05:00</published><updated>2007-11-12T12:00:24.918-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Planning Series'/><category scheme='http://www.blogger.com/atom/ns#' term='Actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Think More, Code Less</title><content type='html'>&lt;p&gt;This is the first in what I hope will become a series of posts aimed at beginner and intermediate level web developers. I see it as a venue to share some of the lessons I've learned, and what's worked for me, rather than a definitive development guide.&lt;br /&gt; &lt;/p&gt;&lt;p&gt;I've had a quote taped to my door for a few years now, that struck me when I first read it, but didn't really take on any serious meaning until recently.&lt;br /&gt; &lt;/p&gt;&lt;blockquote&gt;Code that only you can understand does not make you an advanced coder; code that your grandmother can understand does!&lt;br /&gt; &lt;a href="http://www.j3r.com/"&gt;Jeremy Brown&lt;/a&gt; - Macromedia Flash MX 2004 ActionScript 2.0 Dictionary&lt;br /&gt;&lt;/blockquote&gt;    &lt;p&gt;When I initially saw this quote, I took it to mean that I needed to make sure that I wrote clearly and comment things accurately, so that in the future it would be easy to figure out what I had done. Since that time I have slowly come to realize that it means that I need to take the time to think strategically about the code I'm going to write, so that I can keep it as simple and small as possible. All other things being equal, a small amount of code is inherently easier to understand than a large amount of code.&lt;/p&gt;    &lt;p&gt;Successfully keeping your codebase as small as possible requires planning up front. Don't get me wrong here, I'm in no way suggesting that one shouldn't prototype. What I'm suggesting is that the prototype should not become the beginning of your codebase. At first glance this might appear to increase your development time, and while this may or may not be true, if done right you will more than make up for this time with ease of maintenance. The key here is doing enough planning to help you steer away from major pitfalls, without boxing yourself in. Your plans, along with any prototypes, should be treated like an artists sketches. They help guide you and prepare you for the final work.&lt;/p&gt;    &lt;p&gt;Finally, keep in mind that common sense can be your best asset. I tend to work with &lt;a href="http://www.model-glue.com/"&gt;Model-Glue&lt;/a&gt; for my medium to large scale projects, but I will really think it out before I use it for a small project. It's a question of whether or not the added complexity of a framework will make it easier or more difficult to maintain my project. The answer typically depends on how much I foresee the project growing/changing, and the difficulty of migrating into a framework later if needed. I've even been known to forego CFCs in favor of old school ColdFusion 4 style programming on real simple projects (Typically only if we're talking 1-2 hours of effort and 75 lines of code or less). The point is that you shouldn't be afraid to deviate from "best practices" when the situation warrants, however, when you do it is vitally important to make good notes of what you've done and why you've done it so that the next person that comes along to touch that code, understands what's been done and why.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-4842138368864863277?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/4842138368864863277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=4842138368864863277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/4842138368864863277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/4842138368864863277'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/11/think-more-code-less.html' title='Think More, Code Less'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-8126534761344987274</id><published>2007-10-17T16:11:00.000-04:00</published><updated>2007-10-17T16:15:15.547-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Coding with the Stars</title><content type='html'>&lt;p class="MsoNormal"&gt;Bear with me for a bit, this post is actually on topic. Ok, I'll admit it; my wife has me watching &lt;a href="http://abc.go.com/primetime/dancingwiththestars/index"&gt;Dancing with the Stars&lt;/a&gt;. We've watched for a few seasons now, and I must say that this season's stars are improving much faster than in previous seasons. While a lot of the credit goes to the hard work that the stars themselves are putting in, I think a good deal of the credit goes to their professional partners who are all really taking advantage of their star's strengths, while minimizing their weaknesses.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;I've noticed that I've received a similar benefit in the two or so years that I've been actively reading blog entries, participating in comments, and ultimately blogging myself. I haven't blogged much lately, and shockingly enough it has little to do with the standard lame excuses. The fact of the matter is that I've composed several blog entries recently only to read what's out there before I post and discover that it's the hot topic of the day around the ColdFusion community. Unfortunately each of these times, I've had nothing significant to add to the discussion, so I've ended up shelving those posts.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;My initial thought was, "Wow, I'm dialed into the communal brain. That means I've made it." Upon further review, I realize that it's probably more that by reading posts from people in the community, I've be shamelessly sponging as much knowledge from some of the world's best CF developers as I can. The fact that I'm starting to think about the same things as they do, means that I've finally digested much of what I've read, much like the stars and their professional dance partners. While I don't know that I actually want to dance with any of you, I'll save the dancing for my wife, I look forward to continuing to learn and share what I learn.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;For any ColdFusion newbie who might happen on by, I implore you to take full advantage of the CF community. Read blogs, ask questions, and look through code samples. You'll become a much better developer because of it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-8126534761344987274?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/8126534761344987274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=8126534761344987274' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/8126534761344987274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/8126534761344987274'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/10/coding-with-stars.html' title='Coding with the Stars'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-896744411134398113</id><published>2007-10-03T13:58:00.000-04:00</published><updated>2007-10-03T14:40:56.448-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><category scheme='http://www.blogger.com/atom/ns#' term='Humor'/><title type='text'>Laughing at ourselves</title><content type='html'>&lt;p&gt;It's not as funny as many of their other "commercials", but they guys at &lt;a href="http://www.railsenvy.com/"&gt;Rails Envy&lt;/a&gt; have taken on ColdFusion&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/kU-4D51FY98"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/kU-4D51FY98" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Good thing we ColdFusion developers have thick skins. They did forgot to mention, .NET, &lt;a href="http://scripting.riaforge.org/"&gt;PHP, and Ruby&lt;/a&gt; when discussing languages. Who's your dad anyway?&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Late breaking addition: It appears that &lt;a href="http://cfblog.griefer.com/"&gt;Charlie Griefer&lt;/a&gt; has leaked some &lt;a href="http://cfblog.griefer.com/index.cfm/id/cf9_centaur_artwork_leaked"&gt;ColdFusion 9 concept art&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-896744411134398113?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/896744411134398113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=896744411134398113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/896744411134398113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/896744411134398113'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/10/laughing-at-ourselves.html' title='Laughing at ourselves'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-5763951053413790718</id><published>2007-09-19T16:19:00.000-04:00</published><updated>2007-09-19T16:24:32.571-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WTF'/><category scheme='http://www.blogger.com/atom/ns#' term='Ineptitude'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>ColdFusion makes Worse than Failure</title><content type='html'>Today's &lt;a href="http://worsethanfailure.com/Articles/Ph33r-my-5k1llz%21.aspx"&gt;Worse Than Failure entry&lt;/a&gt; looks at some ColdFusion code. I'm not sure whether this is a good thing or a bad thing. On the positive side, the WTF was more about the code itself than the language. On the negative side, it was some pretty inept code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-5763951053413790718?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/5763951053413790718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=5763951053413790718' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/5763951053413790718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/5763951053413790718'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/09/coldfusion-makes-worse-than-failure.html' title='ColdFusion makes Worse than Failure'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-587084963927513904</id><published>2007-09-04T15:58:00.000-04:00</published><updated>2007-09-04T16:00:33.051-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom Tags'/><category scheme='http://www.blogger.com/atom/ns#' term='Dreamweaver'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Documenting ColdFusion custom tags in Dreamweaver (4/4)</title><content type='html'>&lt;h3&gt;Part 4: Creating the Dreamweaver Extension&lt;/h3&gt;&lt;p&gt;In &lt;a href="http://wanderingfishbowl.blogspot.com/2007/09/documenting-coldfusion-custom-tags-in_04.html"&gt;part 2&lt;/a&gt; we created our tag editor; in &lt;a href="http://wanderingfishbowl.blogspot.com/2007/09/documenting-coldfusion-custom-tags-in_2693.html"&gt;Part 3&lt;/a&gt; we created our documentation. In this part we package these files up as a Dreamweaver extension. To create the extension we start with a .mxi file. Editing .mxi files can be tricky in Dreamweaver. I usually create the file as .xml, then rename it when I'm ready to create my extension. We begin by defining the name, version, Dreamweaver version required, author and description of our extension.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;&lt;span class="blue"&gt;&amp;lt;macromedia-extension name="&lt;/span&gt;&lt;span class="green"&gt;Our Template Extension&lt;/span&gt;&lt;span class="blue"&gt;" version="&lt;/span&gt;&lt;span class="green"&gt;1.0&lt;/span&gt;&lt;span class="blue"&gt;"&lt;br /&gt;type="&lt;/span&gt;&lt;span class="green"&gt;Suite&lt;/span&gt;&lt;span class="blue"&gt;" requires-restart="&lt;/span&gt;&lt;span class="green"&gt;True&lt;/span&gt;&lt;span class="blue"&gt;"&amp;gt;&lt;br /&gt;&amp;lt;products&amp;gt;&lt;br /&gt; &amp;lt;product name="&lt;/span&gt;&lt;span class="green"&gt;Dreamweaver&lt;/span&gt;&lt;span class="blue"&gt;" version="&lt;/span&gt;&lt;span class="green"&gt;6&lt;/span&gt;&lt;span class="blue"&gt;" primary="&lt;/span&gt;&lt;span class="green"&gt;true&lt;/span&gt;&lt;span class="blue"&gt;" /&amp;gt;&lt;br /&gt;&amp;lt;/products&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;author name="&lt;/span&gt;&lt;span class="green"&gt;Luis Matthews&lt;/span&gt;&lt;span class="blue"&gt;" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;description&amp;gt;&lt;br /&gt; &amp;lt;![CDATA[A custom tag definition for CF_ourtemplate]]&amp;gt;&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Next we tell Dreamweaver where to place the files we created. Some of our files go into the Taglibraries directory, others go into the Reference directory.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;&lt;span class="blue"&gt;&amp;lt;files&amp;gt;&lt;br /&gt; &amp;lt;file source="&lt;/span&gt;&lt;span class="green"&gt;cf_ourtemplate.htm&lt;/span&gt;&lt;span class="blue"&gt;"&lt;br /&gt;   destination="&lt;/span&gt;&lt;span class="green"&gt;$dreamweaver/configuration/Taglibraries/ourTags&lt;/span&gt;&lt;span class="blue"&gt;" /&amp;gt;&lt;br /&gt; &amp;lt;file source="&lt;/span&gt;&lt;span class="green"&gt;cf_ourtemplate.vtm&lt;/span&gt;&lt;span class="blue"&gt;"&lt;br /&gt;   destination="&lt;/span&gt;&lt;span class="green"&gt;$dreamweaver/configuration/Taglibraries/ourTags&lt;/span&gt;&lt;span class="blue"&gt;" /&amp;gt;&lt;br /&gt; &amp;lt;file source="&lt;/span&gt;&lt;span class="green"&gt;TagChooser.xml&lt;/span&gt;&lt;span class="blue"&gt;"&lt;br /&gt;   destination="&lt;/span&gt;&lt;span class="green"&gt;$dreamweaver/configuration/Taglibraries/ourTags&lt;/span&gt;&lt;span class="blue"&gt;" /&amp;gt;&lt;br /&gt; &amp;lt;file source="&lt;/span&gt;&lt;span class="green"&gt;Reference.xml&lt;/span&gt;&lt;span class="blue"&gt;"&lt;br /&gt;   destination="&lt;/span&gt;&lt;span class="green"&gt;$dreamweaver/Configuration/Content/Reference/our/&lt;/span&gt;&lt;span class="blue"&gt;" /&amp;gt;&lt;br /&gt; &amp;lt;file source="&lt;/span&gt;&lt;span class="green"&gt;default.htm&lt;/span&gt;&lt;span class="blue"&gt;"&lt;br /&gt;   destination="&lt;/span&gt;&lt;span class="green"&gt;$dreamweaver/Configuration/Content/Reference/our/&lt;/span&gt;&lt;span class="blue"&gt;" /&amp;gt;&lt;br /&gt; &amp;lt;file source="&lt;/span&gt;&lt;span class="green"&gt;ourtemplate.htm&lt;/span&gt;&lt;span class="blue"&gt;"&lt;br /&gt;   destination="&lt;/span&gt;&lt;span class="green"&gt;$dreamweaver/Configuration/Content/Reference/our/&lt;/span&gt;&lt;span class="blue"&gt;" /&amp;gt;&lt;br /&gt;&amp;lt;/files&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Finally, we tell Dreamweaver what type of files our tag is used for, and what .vtm files to use.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;&lt;span class="blue"&gt;&amp;lt;configuration-changes&amp;gt;&lt;br /&gt; &amp;lt;taglibrary-changes&amp;gt;&lt;br /&gt;   &amp;lt;taglibrary-insert&amp;gt;&lt;br /&gt;     &amp;lt;taglibrary doctypes="&lt;/span&gt;&lt;span class="green"&gt;ColdFusion,CFC,DWTemplate_CF&lt;/span&gt;&lt;span class="blue"&gt;" id="&lt;/span&gt;&lt;span class="green"&gt;ourTags&lt;/span&gt;&lt;span class="blue"&gt;"&lt;br /&gt;       name="&lt;/span&gt;&lt;span class="green"&gt;Our Tags&lt;/span&gt;&lt;span class="blue"&gt;" servermodel="&lt;/span&gt;&lt;span class="green"&gt;Cold Fusion&lt;/span&gt;&lt;span class="blue"&gt;"&lt;br /&gt;       tagchooser="&lt;/span&gt;&lt;span class="green"&gt;ourTags/TagChooser.xml&lt;/span&gt;&lt;span class="blue"&gt;"&amp;gt;&lt;br /&gt;       &amp;lt;tagref file="&lt;/span&gt;&lt;span class="green"&gt;ourTags/cf_ourtemplate.vtm&lt;/span&gt;&lt;span class="blue"&gt;" name="&lt;/span&gt;&lt;span class="green"&gt;cf_ourtemplate&lt;/span&gt;&lt;span class="blue"&gt;" /&amp;gt;&lt;br /&gt;     &amp;lt;/taglibrary&amp;gt;&lt;br /&gt;   &amp;lt;/taglibrary-insert&amp;gt;&lt;br /&gt; &amp;lt;/taglibrary-changes&amp;gt;&lt;br /&gt;&amp;lt;/configuration-changes&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/macromedia-extension&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Once our .mxi is created, we simply open the Macromedia Extension Manager, Choose File-&gt;Package Extension, Select our .mxi file and let the extension manager create the extension. Once this is complete, you can double-click your .mxp file to install your extension.&lt;/p&gt;&lt;p&gt;I hope that you found this series useful. There is a lot more that can be done with Dreamweaver Extensions and ColdFusion Custom Tags. Custom Tags have had a bit of a bum rap in recent years, but I believe that they still can be quite useful in the right situation.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-587084963927513904?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/587084963927513904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=587084963927513904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/587084963927513904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/587084963927513904'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/09/documenting-coldfusion-custom-tags-in_515.html' title='Documenting ColdFusion custom tags in Dreamweaver (4/4)'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-415437601519810873</id><published>2007-09-04T15:50:00.000-04:00</published><updated>2008-12-11T07:34:00.146-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom Tags'/><category scheme='http://www.blogger.com/atom/ns#' term='Dreamweaver'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Documenting ColdFusion custom tags in Dreamweaver (3/4)</title><content type='html'>&lt;h3&gt;Part 3: Documentation&lt;/h3&gt;&lt;p&gt;In &lt;a href="http://wanderingfishbowl.blogspot.com/2007/09/documenting-coldfusion-custom-tags-in_04.html"&gt;part 2&lt;/a&gt;, I talked about creating the tag editor for our custom tag. In this part we document our tag within Dreamweaver's reference and tie that reference into the tag editor. We'll start by creating a Reference.xml file, since this is the first tag we're documenting. For future tags, we'll simple edit our existing Reference.xml. We could use one of Dreamweaver's existing ones, but we'll create our own reference book in our own directory in order to prevent problems when upgrading Dreamweaver. This will also keep our tags together. Our Reference.xml looks like this.&lt;/p&gt;&lt;pre&gt;&lt;span class="blue"&gt;&amp;lt;?xml version="&lt;/span&gt;&lt;span class="green"&gt;0.81&lt;/span&gt;&lt;span class="blue"&gt;" encoding="&lt;/span&gt;&lt;span class="green"&gt;iso-8859-1&lt;/span&gt;&lt;span class="blue"&gt;" standalone="&lt;/span&gt;&lt;span class="green"&gt;yes&lt;/span&gt;&lt;span class="blue"&gt;" ?&amp;gt;&lt;br /&gt;&amp;lt;book name="&lt;/span&gt;&lt;span class="green"&gt;Our Custom Tag Reference&lt;/span&gt;&lt;span class="blue"&gt;" language="&lt;/span&gt;&lt;span class="green"&gt;our&lt;/span&gt;&lt;span class="blue"&gt;"&amp;gt;&lt;br /&gt;&amp;lt;topic_title name="&lt;/span&gt;&lt;span class="green"&gt;Tag&lt;/span&gt;&lt;span class="blue"&gt;"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="blue"&gt; &amp;lt;subtopic_title name="&lt;/span&gt;&lt;span class="green"&gt;Description&lt;/span&gt;&lt;span class="blue"&gt;"/&amp;gt;&lt;br /&gt;&amp;lt;default location="&lt;/span&gt;&lt;span class="green"&gt;default.htm&lt;/span&gt;&lt;span class="blue"&gt;"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;topic name="&lt;/span&gt;&lt;span class="green"&gt;cf_ourtemplate&lt;/span&gt;&lt;span class="blue"&gt;" location="&lt;/span&gt;&lt;span class="green"&gt;ourtemplate.htm&lt;/span&gt;&lt;span class="blue"&gt;"&lt;br /&gt; id="&lt;/span&gt;&lt;span class="green"&gt;Description&lt;/span&gt;&lt;span class="blue"&gt;"&amp;gt;&lt;br /&gt; &amp;lt;subtopic name="&lt;/span&gt;&lt;span class="green"&gt;Attributes&lt;/span&gt;&lt;span class="blue"&gt;" id="&lt;/span&gt;&lt;span class="green"&gt;Attributes&lt;/span&gt;&lt;span class="blue"&gt;"/&amp;gt;&lt;br /&gt; &amp;lt;subtopic name="&lt;/span&gt;&lt;span class="green"&gt;Example&lt;/span&gt;&lt;span class="blue"&gt;" id="&lt;/span&gt;&lt;span class="green"&gt;Example&lt;/span&gt;&lt;span class="blue"&gt;"/&amp;gt;&lt;br /&gt;&amp;lt;/topic&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/book&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;The main things that concern us here are the book name, book language, default location and our topics. We've set the book name to "Our Custom Tag Reference". The Language is set to "our" since this is our custom reference rather than say an HTML reference. The default location specifies an HTML file to be loaded by default when the book is opened. Our default.html simply has a description of what the reference exists for.&lt;/p&gt;&lt;blockquote&gt;Our custom Tag Reference&lt;br /&gt;Select the tag that you wish more information on. The second select box allows you to navigate the sections of the documentation.&lt;/blockquote&gt;&lt;p&gt;The Topics and subtopics defin&lt;/p&gt;&lt;p&gt;e what sections will show up within each topic/subtopic dropdown in Dreamweaver's reference. You are not constrained to the same subtopics within each topic. In this case I've defined three subtopics for the topic of cf_ourtemplate&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Description&lt;/li&gt;&lt;li&gt;Attributes&lt;/li&gt;&lt;li&gt;Example&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Finally we get to the file on&lt;/p&gt; &lt;p&gt; this topic. ourtemplate.htm needs to contain a div with an id for each of the subtopics. The subtopics themselves and the content are up to you. I've included an example in the source. Once we have this installed in Dreamweaver we'll see a new entry in the References tab.&lt;/p&gt;&lt;pre&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7PLz3lRAeJI/Rt23gZC3vwI/AAAAAAAAAAU/tEobvuIjmRI/s1600-h/ourtemplatedictionary.gif"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_7PLz3lRAeJI/Rt23gZC3vwI/AAAAAAAAAAU/tEobvuIjmRI/s320/ourtemplatedictionary.gif" alt="" id="BLOGGER_PHOTO_ID_5106439319614635778" border="0" /&gt;&lt;/a&gt;&lt;/pre&gt; &lt;p&gt;In the &lt;a href="http://wanderingfishbowl.blogspot.com/2007/09/documenting-coldfusion-custom-tags-in_515.html"&gt;final part&lt;/a&gt; I'll explain how to package these files up and distribute them within Dreamweaver.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-415437601519810873?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/415437601519810873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=415437601519810873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/415437601519810873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/415437601519810873'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/09/documenting-coldfusion-custom-tags-in_2693.html' title='Documenting ColdFusion custom tags in Dreamweaver (3/4)'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_7PLz3lRAeJI/Rt23gZC3vwI/AAAAAAAAAAU/tEobvuIjmRI/s72-c/ourtemplatedictionary.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-9052363769719690620</id><published>2007-09-04T15:31:00.000-04:00</published><updated>2007-09-04T15:54:45.314-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom Tags'/><category scheme='http://www.blogger.com/atom/ns#' term='Dreamweaver'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Documenting ColdFusion custom tags in Dreamweaver (2/4)</title><content type='html'>&lt;h3&gt;Part 2: Basic tag editor&lt;/h3&gt;&lt;p&gt;In &lt;a href="http://wanderingfishbowl.blogspot.com/2007/09/documenting-coldfusion-custom-tags-in.html"&gt;part 1&lt;/a&gt;, I explained that we'll need to create two files for basic tag editing. In this part we'll begin by creating a file called cf_ourtemplate.vtm. The contents will look like this.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;&lt;span class="blue"&gt;&amp;lt;TAG NAME="&lt;/span&gt;&lt;span class="green"&gt;cf_ourtemplate&lt;/span&gt;&lt;span class="blue"&gt;" endtag="&lt;/span&gt;&lt;span class="green"&gt;yes&lt;/span&gt;&lt;span class="blue"&gt;"&amp;gt;&lt;br /&gt;&amp;lt;TAGFORMAT NLBEFORETAG="&lt;/span&gt;&lt;span class="green"&gt;1&lt;/span&gt;&lt;span class="blue"&gt;" NLAFTERTAG="&lt;/span&gt;&lt;span class="green"&gt;1&lt;/span&gt;&lt;span class="blue"&gt;"/&amp;gt;&lt;br /&gt;&amp;lt;TAGDIALOG FILE="&lt;/span&gt;&lt;span class="green"&gt;cf_ourtemplate.htm&lt;/span&gt;&lt;span class="blue"&gt;"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;ATTRIBUTES&amp;gt;&lt;br /&gt;  &amp;lt;ATTRIB NAME="&lt;/span&gt;&lt;span class="green"&gt;title&lt;/span&gt;&lt;span class="blue"&gt;" TYPE="&lt;/span&gt;&lt;span class="green"&gt;TEXT&lt;/span&gt;&lt;span class="blue"&gt;"/&amp;gt;&lt;br /&gt;  &amp;lt;ATTRIB NAME="&lt;/span&gt;&lt;span class="green"&gt;theme&lt;/span&gt;&lt;span class="blue"&gt;" TYPE="&lt;/span&gt;&lt;span class="green"&gt;ENUMERATED&lt;/span&gt;&lt;span class="blue"&gt;"&amp;gt;&lt;br /&gt;    &amp;lt;ATTRIBOPTION VALUE="&lt;/span&gt;&lt;span class="green"&gt;basic&lt;/span&gt;&lt;span class="blue"&gt;"/&amp;gt;&lt;br /&gt;    &amp;lt;ATTRIBOPTION VALUE="&lt;/span&gt;&lt;span class="green"&gt;full&lt;/span&gt;&lt;span class="blue"&gt;"/&amp;gt;&lt;br /&gt;  &amp;lt;/ATTRIB&amp;gt;&lt;br /&gt;&amp;lt;/ATTRIBUTES&amp;gt;&lt;br /&gt;&amp;lt;/TAG&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Our opening &amp;lt;TAG&amp;gt; defines the name of our tag, and whether or not the tag requires and end tag. &amp;lt;TAGFORMAT&amp;gt; can be left alone. &amp;lt;TAGDIALOG&amp;gt; defines where our tag editor .htm file resides. We next move down to the &amp;lt;ATTRIBUTES SECTION&amp;gt;. For our purposes there are two types of &amp;lt;ATTRIB&amp;gt; that we're concerned with. The first type is "TEXT" which will simply define an attribute with a space to fill in the value. The second type is "ENUMERATED", which will give you a dropdown list of choices. You define those choices using &amp;lt;ATTRIBOPTION&amp;gt;. At this point our .vtm file is complete. &lt;/p&gt;&lt;p&gt;Our tag editor is probably the most complex part of this process. Fortunately there are a lot of examples already built into Dreamweaver. Simple find a tag that has an editor that functions like what you are trying to do, and use that tag editor file as a template. Fortunately our tag editor for this example is fairly simple. The &lt;a href="http://mysite.verizon.net/luis.matthews/ourtemplate.zip"&gt;source code&lt;/a&gt; will be very helpful here. I'm not going to replicate the entire file since it's quite long. This is basically a standard HTML file with some custom javascript.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;&lt;span class="red"&gt;&amp;lt;script src="&lt;/span&gt;&lt;span class="blue"&gt;../../Shared/Common/Scripts/dwscripts.js&lt;/span&gt;&lt;span class="red"&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script src="&lt;/span&gt;&lt;span class="blue"&gt;../../Shared/Common/Scripts/ListControlClass.js&lt;/span&gt;&lt;span class="red"&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script src="&lt;/span&gt;&lt;span class="blue"&gt;../../Shared/Common/Scripts/tagDialogsCmn.js&lt;/span&gt;&lt;span class="red"&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;/span&gt;&lt;span class="black"&gt;&lt;br /&gt;var THEMELIST;&lt;br /&gt;var theUIObjects;&lt;br /&gt;var applyType = &lt;/span&gt;&lt;span class="blue"&gt;"dynamic"&lt;/span&gt;&lt;span class="black"&gt;;&lt;br /&gt;&lt;br /&gt;function inspectTag(tagNodeObj)&lt;br /&gt;function applyTag(tagNodeObj)&lt;br /&gt;&lt;br /&gt;function initializeUI()&lt;br /&gt;{&lt;br /&gt;var theThemeScaleCap = new &lt;/span&gt;&lt;span class="green"&gt;Array&lt;/span&gt;&lt;span class="blue"&gt;("basic","full")&lt;/span&gt;&lt;span class="black"&gt;;&lt;br /&gt;var theThemeScaleVal = new &lt;/span&gt;&lt;span class="green"&gt;Array&lt;/span&gt;&lt;span class="blue"&gt;("basic","full")&lt;/span&gt;&lt;span class="black"&gt;;&lt;br /&gt;THEMELIST = new ListControl(&lt;/span&gt;&lt;span class="blue"&gt;"thethemescale"&lt;/span&gt;&lt;span class="black"&gt;);&lt;br /&gt;theUIObjects  = new &lt;/span&gt;&lt;span class="green"&gt;Array&lt;/span&gt;&lt;span class="black"&gt;(THEMELIST);&lt;br /&gt;tagDialog.populateDropDownList(THEMELIST, theThemeScaleCap,&lt;br /&gt;  theThemeScaleVal, 1);&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;We start by including some .js files and defining some variables. Next comes the inspectTag and applyTag functions which I've truncated since they are identical each time. Finally we have the initializeUI function where we define the values for our theme list and populate the drop-down box. next we'll include the required stylesheet.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;&lt;span class="blue"&gt;&amp;lt;link href="../../fields.css" rel="stylesheet" type="text/css"&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;finally we'll add our text field and our dropdown.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;&lt;span class="orange"&gt;&amp;lt;input name=&lt;/span&gt;&lt;span class="blue"&gt;"thetitle"&lt;/span&gt;&lt;span class="orange"&gt; type=&lt;/span&gt;&lt;span class="blue"&gt;"text"&lt;/span&gt;&lt;span class="orange"&gt; class=&lt;/span&gt;&lt;span class="blue"&gt;"basicTextField"&lt;/span&gt;&lt;span class="orange"&gt;&lt;br /&gt;id=&lt;/span&gt;&lt;span class="blue"&gt;"attr:cf_ourtemplate:title"&lt;/span&gt;&lt;span class="orange"&gt; attname=&lt;/span&gt;&lt;span class="blue"&gt;"title"&lt;/span&gt;&lt;span class="orange"&gt; required=&lt;/span&gt;&lt;span class="blue"&gt;"true"&lt;/span&gt;&lt;span class="orange"&gt; /&amp;gt;&lt;br /&gt;&amp;lt;select name=&lt;/span&gt;&lt;span class="blue"&gt;"thethemescale"&lt;/span&gt;&lt;span class="orange"&gt; class=&lt;/span&gt;&lt;span class="blue"&gt;"oneWordOptionList"&lt;/span&gt;&lt;span class="orange"&gt;&lt;br /&gt;id=&lt;/span&gt;&lt;span class="blue"&gt;"attr:ccf_ourtemplate:themescale"&lt;/span&gt;&lt;span class="orange"&gt; attname=&lt;/span&gt;&lt;span class="blue"&gt;"theme"&lt;/span&gt;&lt;span class="orange"&gt; editable=&lt;/span&gt;&lt;span class="blue"&gt;"false"&lt;/span&gt;&lt;span class="orange"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/select&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;That's basically it. For further reference on this topic, see Extending Dreamweaver -&gt; Extension APIs -&gt; Tag Libraries and Editors under Dreamweaver's help menu. In &lt;a href="http://wanderingfishbowl.blogspot.com/2007/09/documenting-coldfusion-custom-tags-in_2693.html"&gt;Part 3&lt;/a&gt;, l'll explain how to create custom documentation for our tag within Dreamweaver.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-9052363769719690620?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/9052363769719690620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=9052363769719690620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/9052363769719690620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/9052363769719690620'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/09/documenting-coldfusion-custom-tags-in_04.html' title='Documenting ColdFusion custom tags in Dreamweaver (2/4)'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-6476834680295575244</id><published>2007-09-04T15:24:00.000-04:00</published><updated>2008-12-11T07:34:00.663-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom Tags'/><category scheme='http://www.blogger.com/atom/ns#' term='Dreamweaver'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Documenting ColdFusion custom tags in Dreamweaver (1/4)</title><content type='html'>&lt;h3&gt;Part 1: Introduction&lt;/h3&gt;&lt;p&gt;I've been meaning to post on this topic for a bit, and after reading Ray Camden's &lt;a href="http://www.coldfusionjedi.com/index.cfm/2007/9/3/ColdFusion-custom-tag-for-layout-example"&gt;post on custom tags&lt;/a&gt;, I thought now would be a good time. I realize that a lot of developers use &lt;a href="http://www.cfeclipse.org/"&gt;CFEclipse&lt;/a&gt; these days, but for those who use Dreamweaver or have others sharing a server that use Dreamweaver, documenting custom tags within Dreamweaver can be quite helpful. In our case, we have application developers and editors/designers that share templates and other UI elements. We've also used this technique to encapsulate complex capabilities into simple tags for our editors/designers.&lt;/p&gt;&lt;p&gt;During these articles we're going to look at a fictional tag called &amp;lt;cf_ourtemplate&amp;gt; that contains attributes of "title" and "theme". Our tag has two themes called "basic" and "full". How the tag functions and what those themes are is irrelevant to this exercise, so I'll leave that to your imagination. When we're done we should have something that looks like the following.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7PLz3lRAeJI/Rt2xm5C3vvI/AAAAAAAAAAM/6dEtJIkeG1A/s1600-h/ourtemplate.gif"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_7PLz3lRAeJI/Rt2xm5C3vvI/AAAAAAAAAAM/6dEtJIkeG1A/s320/ourtemplate.gif" alt="" id="BLOGGER_PHOTO_ID_5106432834214018802" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;In order to bring this to life, we're going to need to create&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;a cf_ourtemplate.vtm, cf_ourtemplate.htm, and TagChooser.xmlile to define the inline hints and the tag editor&lt;br /&gt;&lt;/li&gt;&lt;li&gt;a Reference.xml, default.htm, and a ourtemplate.htm file for documentation&lt;br /&gt;&lt;/li&gt;&lt;li&gt;a .mxi file to make installing into Dreamweaver easier&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;It is not my intention for this series to be an exhaustive reference. To that end, in instances where a more detailed reference is available, or where the reference code is self-explanatory, I'll keep my explanations to a minimum. In the &lt;a href="http://wanderingfishbowl.blogspot.com/2007/09/documenting-coldfusion-custom-tags-in_04.html"&gt;second part&lt;/a&gt;, I'll discuss creating the vtm and htm files for basic tag editing. Before moving on, you may wish to download the &lt;a href="http://mysite.verizon.net/luis.matthews/files/ourtemplate.zip"&gt;source code&lt;/a&gt;.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-6476834680295575244?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/6476834680295575244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=6476834680295575244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/6476834680295575244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/6476834680295575244'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/09/documenting-coldfusion-custom-tags-in.html' title='Documenting ColdFusion custom tags in Dreamweaver (1/4)'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_7PLz3lRAeJI/Rt2xm5C3vvI/AAAAAAAAAAM/6dEtJIkeG1A/s72-c/ourtemplate.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-7065176723114527016</id><published>2007-08-28T14:16:00.000-04:00</published><updated>2007-08-30T13:07:30.222-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>A legitimate complaint about ColdFusion 8</title><content type='html'>I spotted this &lt;a href="http://www.richarddavies.us/archives/2007/08/coldfusion_is_the_next_frontpage.php"&gt;post&lt;/a&gt; on &lt;a href="http://weblogs.macromedia.com/mxna/"&gt;MXNA&lt;/a&gt; last night that at first appeared to be yet another &lt;a href="http://wanderingfishbowl.blogspot.com/2007/07/rumors-of-coldfusions-death-are-greatly.html"&gt;CF is Dead &lt;/a&gt;type post. I'm not sure why I read it, but once I reached the second paragraph, I realized that it contained a legitimate complaint about ColdFusion 8's AJAX implementation. I suspect a good number of folks ignored it due to the title, so I thought I'd give you all a second chance. I don't necessarily agree with all of the complaints, but I do hope that Adobe does address some of this in future versions. Note: I've disabled comments on this post since it's really just a pointer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-7065176723114527016?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/7065176723114527016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/7065176723114527016'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/08/legitimate-complaints-about-coldfusion.html' title='A legitimate complaint about ColdFusion 8'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-637176338468909658</id><published>2007-08-20T12:39:00.000-04:00</published><updated>2007-08-29T16:53:05.781-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object Oriented Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Design Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Putting Object Oriented CF in Perspective</title><content type='html'>&lt;p&gt;After reading &lt;a href="http://www.bennadel.com/blog/914-I-Just-Can-t-Understand-Object-Oriented-Programming-OOP-And-Join-Tables.htm"&gt;this post&lt;/a&gt; from Ben Nadel last week, I got to thinking about an OO reality check. I'm doing an intro to OO in ColdFusion tomorrow for our staff, and one of the things I plan to emphasize is that these techniques are another tool for their toolbox. While there are times that OO will be the best tool for their project, there may be times where it makes little sense. I'm not going to pull out a nail gun, when a hammer is all I need. On the other hand, when I do really need the nail gun, sticking with a hammer is kinda silly. (not to mention slow)&lt;/p&gt;    &lt;p&gt;The thing about OO is that it takes time to learn (I'm two years into the process, and still have a long way to go.) That doesn't, however, mean that I haven't been taking advantage of OO during that time. I see this as a &lt;a href="http://www.codinghorror.com/blog/archives/000932.html"&gt;Yahoo's problems are not your problems type situation&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;         But also &lt;strong&gt;realize that Yahoo's problems aren't necessarily your problems&lt;/strong&gt;. There is no such thing as one-size-fits-all guidance. Strive to &lt;i&gt;understand&lt;/i&gt; the advice first, then implement the advice that makes sense for your specific situation.&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt; I code things the best way that I currently know, until I get into a situation where I say, "There's got to be a better way!", then I go out and figure out what that better way is. This not only grows my skills when I need it, but also means my applications use these techniques when they are required. I've read about this idea of development several times when dealing with design patterns. The idea is that design patterns were meant to be used to solve problems when they are needed. Using the most design patterns doesn't mean you win. I believe the same holds true for OO concepts. I've been recently dealing with an application written by a couple of developers who are no longer working with us. They were so focused on OO purity that they ignored many of CF's native features. In the right situation each of these decisions might make sense, but in this case, they combined for an application that is harder to maintain than it would've been if they had been focused on writing simple and maintainable code.&lt;/p&gt;    &lt;p&gt;Perhaps Ben's difficulty in understanding a specific OO concept is that he's not yet really needed it. I'm not in any way suggesting that we don't spend time on learning things that we don't yet need to know. I've bookmarked some of the links from the comments to that post, and will read them as time permits; however, most of the code that I'm writing these days will continue to use &lt;a href="http://transfer.riaforge.org/"&gt;Transfer&lt;/a&gt;, &lt;a href="http://www.reactorframework.com/"&gt;Reactor&lt;/a&gt;, or simple gateways and DAOs, which has been meeting my needs quite nicely. When I need something more, it's nice to know it's there, though. And please, keep up with the great posts and discussions on advanced topics.&lt;br /&gt;&lt;/p&gt;    &lt;p&gt;The bottom line here is that effective development means using the right tool at the right time. There have been a number of times where I've started sections of code with comments explaining that if this section is expanded, it should be refactored to be more OO first (usually with a detailed explanation of what to do), but for the sake of simplicity and expediency, I’ve written it in a more procedural fashion. Occasionally, I go back and refactor those bits of code as the situation warrants. Other times, I just let them run as they are. It may not be the most textbook code, but I find it effective.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-637176338468909658?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/637176338468909658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=637176338468909658' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/637176338468909658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/637176338468909658'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/08/putting-object-oriented-cf-in.html' title='Putting Object Oriented CF in Perspective'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-7066776634333305094</id><published>2007-08-15T11:28:00.000-04:00</published><updated>2007-08-17T11:23:05.073-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='business 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface'/><category scheme='http://www.blogger.com/atom/ns#' term='mashup'/><title type='text'>We need a new UI paradigm</title><content type='html'>In my mind, one of the most exiting web 2.0 innovations for businesses (sometimes called Business 2.0) is mashups. The Summer edition of &lt;a href="http://innovations.ziffdavis.com/"&gt;Innovations&lt;/a&gt; listed mashups and making data more available as &lt;a href="http://innovations.ziffdavis.com/2007/07/editors_note_finding_the_sweet_1.html"&gt;trends in the business world&lt;/a&gt;. Working for a medical college, I can foresee the day when  faculty members could use current medical trends to determine what areas to emphasize, or even analyze areas where the student body is weak in order to focus on those areas more. (Perhaps even both) The point is that in order to take full advantage of the increases in data accessibility, users will need to be able to create their own mashups. Of course I'm not advocating a &lt;a href="http://www.coghead.com/"&gt;Coghead&lt;/a&gt; type approach (I&lt;a href="http://weblogs.asp.net/alex_papadimoulis/default.aspx"&gt; agree with Alex &lt;/a&gt;from &lt;a href="http://worsethanfailure.com/"&gt;Worse than Failure&lt;/a&gt; on this subject). I expect that developers will probably continue to build reusable mashups and reports, but for basic ad-hoc mashups to be effective, users will need to be able to do it themselves. The key to this, I think, will be the creation of a new UI paradigm.&lt;br /&gt;If you think about it, most applications have general UI paradigms. If you are familiar with one Word Processor, you can perform basic operations on pretty much any word processor on the market. For advanced features, you've still got to learn the specific product. The same is true for everything from Email to mapping software (&lt;a href="http://maps.google.com/"&gt;Google maps&lt;/a&gt;, or even something like &lt;a href="http://www.zillow.com/"&gt;Zillow&lt;/a&gt; don't work much differently than old standards like &lt;a href="http://www.mapquest.com/"&gt;Mapquest&lt;/a&gt;.) The only questions left is "Who will introduce the new paradigm?", and "How long will it take to become Standardized?".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-7066776634333305094?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/7066776634333305094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=7066776634333305094' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/7066776634333305094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/7066776634333305094'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/08/we-need-new-ui-paradigm.html' title='We need a new UI paradigm'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-7767560464380796689</id><published>2007-08-14T14:36:00.000-04:00</published><updated>2007-08-14T15:02:13.098-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='middleware'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='mashup'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Gettin' Reorganized</title><content type='html'>I came back from Vacation a few weeks ago to find out that my department is reorganizing. It's taken a few weeks to find out what exactly that means, but essentially I (and my colleagues) are in the process of deciding to either be full time web developers or move into &lt;a href="http://en.wikipedia.org/wiki/Middleware"&gt;middleware&lt;/a&gt;.  It's an interesting decision to make. In my case, most of what I currently work on, falls under the middleware umbrella, but moving over there means probably less coding (at the very least less, ColdFusion coding, probably no Actionscript work, and most certainly no Flex). It would mean, however moving into other interesting things like identity management, and data integration, that would give the reconstituted web development group broader access to interrelated data from various systems.   At the moment I'm trying to figure out whether it'll be more interesting enabling this access, or building the &lt;a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29"&gt;mashups&lt;/a&gt; that will hopefully be and end result. Decisions, decisions... In any event, I'll either keep this blog Adobe/Web related, or have it removed from MXNA.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-7767560464380796689?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/7767560464380796689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=7767560464380796689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/7767560464380796689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/7767560464380796689'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/08/gettin-reorganized.html' title='Gettin&apos; Reorganized'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-8079269700987520054</id><published>2007-07-18T11:42:00.000-04:00</published><updated>2007-07-18T11:49:08.227-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Evangelism'/><category scheme='http://www.blogger.com/atom/ns#' term='CF Is Not Dead Yet Series'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Some thoughts on ColdFusion Evangelism</title><content type='html'>&lt;p&gt;In one of the &lt;a href="http://www.blogger.com/comment.g?blogID=26595693&amp;amp;postID=8278585048452351868"&gt;comments&lt;/a&gt; to my &lt;a href="http://wanderingfishbowl.blogspot.com/2007/07/rumors-of-coldfusions-death-are-greatly.html"&gt;Friday post&lt;/a&gt;, Barry B asked for my thoughts on ColdFusion's Strengths, and how they could be leveraged to get more companies on board with CF development. In my mind that called for more than a simple comment response. Below is the last of a series of posts exploring the topic.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In my &lt;a href="http://wanderingfishbowl.blogspot.com/2007/07/why-im-coldfusion-developer.html"&gt;last post&lt;/a&gt;, I talked a little bit about why I am a ColdFusion Developer. In my final post for this series, I thought I'd throw out some ideas on how Adobe can better evangelize ColdFusion. Bear in mind that these are just thoughts, and as such may or may not truly be viable ideas. I hold no claim to ownership on these ideas, so Adobe, or whomever can feel free to use them as they see fit. Mainly this is meant as a jump off point for discussion, rather than fully realized ideas.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The first thing Adobe can do is to better advertise. I receive regular mailings from Microsoft advertising .NET, as well as seeing their ads regularly in publications like eWeek, Baseline, etc... More importantly, my boss (who ultimately decides what we buy) sees those same ads. Sure, I receive emails from Adobe when new products come out, but my boss does not. Beyond that, the fact of the matter is that when I do receive one of those emails, I tend to file it away to look at later, and move on to the more time sensitive emails. Two guesses as to how often I get back to the Adobe mailings. As a direct result, while we would be good candidates for using Flex, I don't see that happening anytime in the near future. I've mentioned it a few times, but it's been difficult to put together a compelling business case for a product that my boss has barely heard of. (Reminds me of the old catalog service "Everything you've never heard of but can't live without".)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The second thing Adobe can do is put Livedocs out of it's misery, and replace it with something better. One would think that between Flex and ColdFusion, Livedocs would be a showcase of how to build a compelling rich internet application. Livedocs was great back in the day, but it's getting more than a little long in the tooth at this point.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;My third suggestion would be to recreate the CF Pet Market application in competing languages (PHP, .NET, Ruby, etc..) using best practices in those various languages, then posting a series of articles highlighting specific areas where CF shines.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;My final, and probably most controversial suggestion is for Adobe to release a free version of CF server that can be used in a production environment. I'm thinking something that sits say below Standard edition, with support for maybe 95% of the tags (i.e. no reporting, no pdf work, no image work, etc..), and reducing the number of built-in database drivers (perhaps keeping only mysql and access). The idea here would be to put CF on an equal footing price-wise with the PHPs of the world at least for getting in the door. Once users have an investment of time in CF, I suspect the cost of upgrading for the more robust pay version would be less of a concern than it is today. It might also mean more developers learning CF in the first place.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Well, there you have it, during this series of posts, I've discussed &lt;a href="http://wanderingfishbowl.blogspot.com/2007/07/why-coldfusion-is-not-dead-language.html"&gt;Why CF is not dead&lt;/a&gt;, &lt;a href="http://wanderingfishbowl.blogspot.com/2007/07/why-im-coldfusion-developer.html"&gt;why I use CF&lt;/a&gt;, and finally with this post, added some thoughts on how Adobe can better evangelize CF. Hopefully you found some of these ideas interesting.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-8079269700987520054?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/8079269700987520054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=8079269700987520054' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/8079269700987520054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/8079269700987520054'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/07/some-thoughts-on-coldfusion-evangelism.html' title='Some thoughts on ColdFusion Evangelism'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-7930466623486992176</id><published>2007-07-16T15:32:00.000-04:00</published><updated>2007-07-18T12:24:58.010-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='CF Is Not Dead Yet Series'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Why I'm a ColdFusion Developer</title><content type='html'>&lt;p&gt;In one of the &lt;a href="http://www.blogger.com/comment.g?blogID=26595693&amp;amp;postID=8278585048452351868"&gt;comments&lt;/a&gt; to my &lt;a href="http://wanderingfishbowl.blogspot.com/2007/07/rumors-of-coldfusions-death-are-greatly.html"&gt;Friday post&lt;/a&gt;, Barry B asked for my thoughts on ColdFusion's Strengths, and how they could be leveraged to get more companies on board with CF development. In my mind that called for more than a simple comment response. Below is the second of a series of posts exploring the topic.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I ended my &lt;a href="http://wanderingfishbowl.blogspot.com/2007/07/why-coldfusion-is-not-dead-language.html"&gt;last post&lt;/a&gt; by stating that I didn't think it really mattered whether or not ColdFusion is dying. It certainly matters to Adobe, but for a lot of us, this question only starts to truly matter if they should discontinue working on it. (and even still, I would expect companies like New Atlanta to probably pick up the ball). The important question in my mind is not, whether or not CF is dying, but whether or not it is still the best tool for the job that we're asking it to do. Do we stick with it or can we justify the cost of moving onto something else? To be perfectly honest this is a question I ask every couple of years. As of last time we seriously looked at the subject (When MX 7 was released) the answer was "yes".&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The title of this post is why I am a CF developer. For me it started with working on some web-based tools for a newly installed LDAP server. I had been working in Perl using the Perldap module. Our other developer was working on some initial projects for a newly installed CF 4.5 server, and I decided to take a look at it. I'm not quite sure how they decided to get started with CF in the first place. In any event, I saw that what was taking me 50 lines of code could be done in 1 with cfldap, I immediately switched over. About 6 Months later a web group was formed in the University, and my job moved over. (even though I was only doing web part time then) Our new web group found itself supporting both CF and ASP applications. .NET saw the migration of our ASP apps to CF, and we've been a CF shop ever since.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Probably the number one reason we did not move to .NET is that we are a mixed group of designers and developers. Being tag based, ColdFusion allows our designers and developers to easily collaborate on projects, while working in the same environment. It's just not realistic to expect our designers to learn VB or PHP, when they can learn a few new tags as needed. There were of course other reasons we chose (and still choose) to stick with ColdFusion. Most of these Peter Bell listed in his "&lt;a href="http://www.pbell.com/index.cfm/2007/6/3/ColdFusion--Why-Bother"&gt;ColdfFusion - Why Bother?&lt;/a&gt;" post last month, so I don't feel the need to repeat them.&lt;/p&gt;&lt;p&gt;In my &lt;a href="http://wanderingfishbowl.blogspot.com/2007/07/some-thoughts-on-coldfusion-evangelism.html"&gt;next post&lt;/a&gt; I'll conclude this series with some thoughts on what Adobe can do to better evangelize ColdFusion.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-7930466623486992176?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/7930466623486992176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=7930466623486992176' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/7930466623486992176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/7930466623486992176'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/07/why-im-coldfusion-developer.html' title='Why I&apos;m a ColdFusion Developer'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-9082849717459804401</id><published>2007-07-16T11:32:00.000-04:00</published><updated>2007-07-18T11:48:02.226-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CF Is Not Dead Yet Series'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Why ColdFusion is not a dead language</title><content type='html'>&lt;p&gt;In one of the &lt;a href="http://www.blogger.com/comment.g?blogID=26595693&amp;postID=8278585048452351868"&gt;comments&lt;/a&gt; to my &lt;a href="http://wanderingfishbowl.blogspot.com/2007/07/rumors-of-coldfusions-death-are-greatly.html"&gt;Friday post&lt;/a&gt;, Barry B asked for my thoughts on ColdFusion's Strengths, and how they could be leveraged to get more companies on board with CF development. In my mind that called for more than a simple comment response. Below is the first of a series of posts exploring the topic.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Let's start by talking about why ColdFusion is not a dead language. Wikipedia defines a &lt;a href="http://en.wikipedia.org/wiki/Dead_language"&gt;dead language&lt;/a&gt; as, "a language which has stopped changing in grammar, vocabulary, and the complete meaning of a sentence." Furthermore it distinguishes between the concepts of a dead language and an extinct language. The latter being, "a language which no longer has any native speakers" While we all know that Wikipedia is not the end-all be-all font of all knowledge, in this case it's accurate enough for my purposes. By these definitions, ColfFusion is not a dead language; it's being actively developed. While technically I suppose all programming languages fit the definition of extinct since nobody natively speaks them. If we expand native speakers to include those who use a programming language as their primary development language, then ColdFusion is not extinct either, as there is clearly an active body of vocal developers. (Not to mention the developers who just focus on getting their jobs done and can't be bothered reading stuff online about languages.)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Ok, so if CF is not dead yet, is it dying? Before we get into that we need to look at marketshare, and total number of users. These are two concepts that I think all too often get mixed up. In spoken languages, Mandarin Chinese (at c. 873 million native speakers), is pulling away from English (at c. 309 million native speakers). English is not likely to catch up in any of our lifetimes, and will likely continue to loose marketshare, but the total number of English speakers is rising as the populations of the US, UK, Canada, and Australia grow. In my mind marketshare is less important to the health of a language than total number of users. With CF, I'll concede that marketshare has probably been decreasing, as there are simply more and more languages out there to use. I honestly have not seen any figures that prove or disprove this, but for the sake of argument I'll concede that point. As far as total number of users, I have no idea if that number is going up or down. (I'm not sure if Adobe publishes those types of numbers) The bottom line here is that I really don't know if CF is dying or not. I'm not sure how much that matters though. More about that in my &lt;a href="http://wanderingfishbowl.blogspot.com/2007/07/why-im-coldfusion-developer.html"&gt;next post&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-9082849717459804401?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/9082849717459804401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=9082849717459804401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/9082849717459804401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/9082849717459804401'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/07/why-coldfusion-is-not-dead-language.html' title='Why ColdFusion is not a dead language'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-8278585048452351868</id><published>2007-07-13T16:04:00.001-04:00</published><updated>2007-07-18T11:48:02.227-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CF Is Not Dead Yet Series'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>The Rumors of ColdFusion's Death are greatly exaggerated</title><content type='html'>In my web wanderings I came across another article claiming that &lt;a rel="nofollow" href="http://www.softwaredeveloper.com/features/ghosts-in-machine-071207/"&gt;CF is dead&lt;/a&gt;. Couldn't find any way to provide feedback.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-8278585048452351868?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/8278585048452351868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=8278585048452351868' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/8278585048452351868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/8278585048452351868'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/07/rumors-of-coldfusions-death-are-greatly.html' title='The Rumors of ColdFusion&apos;s Death are greatly exaggerated'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-7290110118922794002</id><published>2007-06-05T14:57:00.000-04:00</published><updated>2007-06-06T09:02:37.492-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='log parser'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Log Parser saves the day (again)!</title><content type='html'>If you're like me and work for a somewhat smaller organization (IT wise at least), you too probably wear multiple hats. In addition to development tasks I often find myself asked to provide stats and data from our web logs that don't exactly show up in standard log analysis tools.&lt;br /&gt;&lt;br /&gt;Today the request was to determine what IP addresses accessed a particular directory during a particular period in time. This is something our log analysis tool definitely does not do. Enter Microsoft's Log Parser.  Log Parser is a command line tool from Microsoft that allows you to use SQL to filter a large variety of text file formats (including IIS and ColdFusion logs), and output the results in a number of formats. Two quick SQL statements later and I have a CSV file with the IP addresses in question. If you are a Windows user who finds themselves performing these types of tasks, you should seriously consider adding Log Parser to your toolkit.&lt;br /&gt;&lt;br /&gt;For information on using Log Parser, check out &lt;a href="http://www.carehart.org/articles.cfm"&gt;Charlie Arehart's excellent article&lt;/a&gt; from the October 2006 CFDJ. To download it, go to &lt;a href="http://www.microsoft.com/"&gt;Microsoft's web site&lt;/a&gt; and do a search on Log Parser. (I find that anytime I put up a link directly to a Microsoft resource, they end up moving it on me.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-7290110118922794002?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/7290110118922794002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=7290110118922794002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/7290110118922794002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/7290110118922794002'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/06/log-parser-saves-day-again.html' title='Log Parser saves the day (again)!'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-8217919674608736080</id><published>2007-05-23T14:13:00.000-04:00</published><updated>2007-05-23T15:18:09.674-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Dreamweaver'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Best use for CF custom tags?</title><content type='html'>It's been quite a while, so I thought I'd post a question about how and if folks use custom tags in ColdFusion. I work in a mixed environment of designers and developers. The developers in our group (myself included) have found that a good way to deliver reusable snippets of functionality to our designers is to encapsulate them in custom tags, then add them to Dreamweaver's tag libraries via an extension. If there's any interest, I'll write up a post on how this is done.&lt;br /&gt;&lt;br /&gt;I feel like I should state at this point that we are very careful about what tags become global tags and what tags need to be imported before use via &lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;&lt;cfimport&gt;&lt;/cfimport&gt;&lt;/span&gt;. We currently have fewer than 6 global custom tags, however those that we have are heavily used. As an example we've written a "replacment" for &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;cfldap&gt;&lt;/cfldap&gt;&lt;/span&gt;, that functions exactly like &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;cfldap&gt;&lt;/cfldap&gt;&lt;/span&gt; with the exception that it effectively defaults a lot of the values in that are specific to our LDAP. Another example is a login tag that can be placed into an Application.cfm that will authenticate the user againts our LDAP. This tag utilizes the same cfc as the previous tag for it's ldap functionality.&lt;br /&gt;&lt;br /&gt;So do you use custom tags? How?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-8217919674608736080?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/8217919674608736080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=8217919674608736080' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/8217919674608736080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/8217919674608736080'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/05/best-use-for-cf-custom-tags.html' title='Best use for CF custom tags?'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-240453785195781258</id><published>2007-02-27T15:36:00.000-05:00</published><updated>2007-02-28T10:04:49.482-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='daylight savings time'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Did Adobe drop the ball on DST changes?</title><content type='html'>This post is about the upcoming &lt;a href="http://en.wikipedia.org/wiki/Daylight_savings"&gt;Daylight Savings&lt;/a&gt; changes in the U.S.&lt;br /&gt;&lt;br /&gt;OK, so let's start with some facts:&lt;br /&gt;ColdFusion 7.0 uses Java Version    1.4.2_05&lt;br /&gt;ColdFusion 7.0.2 (which came out November 30, 2006) uses Java Version    1.4.2_09&lt;br /&gt;According to an &lt;a href="http://www.adobe.com/go/d2ab4470"&gt;Adobe Technote&lt;/a&gt; you need Java Version 1.4.2_11 in order to be compliant with the new DST dates for 2007.&lt;br /&gt;The &lt;a href="http://www.adobe.com/go/d2ab4470"&gt;Technote&lt;/a&gt; does not currently appear on the main &lt;a href="http://www.adobe.com/support/coldfusion/"&gt;ColdFusion Support page&lt;/a&gt;. You have to search for it.&lt;br /&gt;The &lt;a href="http://www.adobe.com/go/2d547983"&gt;instructions&lt;/a&gt; linked from said Technote are fairly detailed on how to upgrade the Standalone version of CF, but despite the title, don't apply directly to multiserver installs.&lt;br /&gt;&lt;br /&gt;This all leads me to the following questions:&lt;br /&gt;If Adobe has updated Java versions in the past, why have they not made a patch for this?&lt;br /&gt;Why does this information not appear on the main &lt;a href="http://www.adobe.com/support/coldfusion/"&gt;ColdFusion Support page&lt;/a&gt;?&lt;br /&gt;Why are the instructions not more detailed and specific to the different install options?&lt;br /&gt;Am I asking for too much?&lt;br /&gt;Did I miss something?&lt;br /&gt;Did Adobe drop the ball here?&lt;br /&gt;Will the world blow up on March 11?&lt;br /&gt;Will I actually update this post when Adobe's knowledgebase becomes available again?&lt;br /&gt;&lt;br /&gt;I welcome any input from anybody who can answer any of these questions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-240453785195781258?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/240453785195781258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=240453785195781258' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/240453785195781258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/240453785195781258'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/02/did-adobe-drop-ball-on-dst-changes.html' title='Did Adobe drop the ball on DST changes?'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-117043741104117076</id><published>2007-02-02T12:02:00.000-05:00</published><updated>2007-05-23T15:19:53.421-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>I was wrong, and other housekeeping</title><content type='html'>I'll start with the housekeeping. I haven't posted in quite a while, mostly because I haven't had anything to say. I don't kid myself that I have any regular readers, and in this day of aggregators, I find myself very comfortable with posting only when I have something to say. &lt;br /&gt;&lt;br /&gt;Shortly after my last post, it was pointed out to me that I was missing the point of that particular discussion. I didn't agree at the time, but since then I've come to concede that perhaps that was the case. I briefly considered retracting the post, but I decided to leave it for posterity.&lt;br /&gt;&lt;br /&gt;I never did make that post about my Model-Glue issue. Upon further review, it was 100% PEBKAC related, and not something that would be easy to duplicate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-117043741104117076?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/117043741104117076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=117043741104117076' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/117043741104117076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/117043741104117076'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2007/02/i-was-wrong-and-other-housekeeping.html' title='I was wrong, and other housekeeping'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-115953958692904742</id><published>2006-09-29T09:39:00.000-04:00</published><updated>2007-05-23T15:19:53.421-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Can't we all just get along?</title><content type='html'>Well it seems that there is another flurry of posts about frameworks again. (See Sean Corfield's &lt;a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/Duelling_Frameworks"&gt;recent post&lt;/a&gt;, which has links to several relevant posts. Not for the faint of heart.) All I have to say, is why can't we all just agree to disagree and move on? If you don't like frameworks, then simply don't use them! If you're worried about folks who are new to ColdFusion or OO trying to use framworks, why not  take the time to help them along, rather than worry about what they're not ready for yet? Saying frameworks suck because some people are not experienced enough to use them yet, is like saying grocery stores suck because some people can't cook.&lt;br /&gt;&lt;br /&gt;Bloggers, here's what I propose. Next time you feel the urge to post a pro-framework or anti-framework post, do the following instead.&lt;br /&gt;&lt;br /&gt;If you are anti-framework:&lt;br /&gt;Write a post explaining an intermediate or advanced CF or OO concept in plain English&lt;sup&gt;1&lt;/sup&gt; with a simple example.&lt;br /&gt;&lt;br /&gt;If you are pro-framework:&lt;br /&gt;Write a how-to post takling one topic of your favorite framework in plain English&lt;sup&gt;1&lt;/sup&gt; with a simple example. It would probably be best to pick something that is not covered in the existing documentation, or that may be unclear or vague to you.&lt;br /&gt;&lt;br /&gt;As for me, I plan to work up a post asap, explainig a problem&lt;sup&gt;2&lt;/sup&gt; I recently encountered while using &lt;a href="http://www.model-glue.com/"&gt;Model Glue&lt;/a&gt;, and how I resolved the problem.&lt;br /&gt;&lt;br /&gt;&lt;sup&gt;1&lt;/sup&gt;Feel free to repace English with whatever your native language is.&lt;br /&gt;&lt;sup&gt;2&lt;/sup&gt;Developer problem, not a Model Glue problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-115953958692904742?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/115953958692904742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=115953958692904742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115953958692904742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115953958692904742'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2006/09/cant-we-all-just-get-along.html' title='Can&apos;t we all just get along?'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-115886261464737394</id><published>2006-09-21T14:08:00.000-04:00</published><updated>2007-05-23T15:22:15.486-04:00</updated><title type='text'>We're back and we have the combination...</title><content type='html'>Wow, August and September have been crazy for me between being short two people at work, some much needed vacation time, and some major changes in my personal life, I've barely had time to sleep let alone post. Not much new around here other than the design, which is in the process of changing yet again. The current version is based on an article over at &lt;a href="http://www.alistapart.com/"&gt;A List Apart&lt;/a&gt; called &lt;a href="http://www.alistapart.com/articles/holygrail"&gt;In Search of the Holy Grail&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-115886261464737394?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/115886261464737394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=115886261464737394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115886261464737394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115886261464737394'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2006/09/were-back-and-we-have-combination.html' title='We&apos;re back and we have the combination...'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-115410751549011299</id><published>2006-07-28T12:31:00.000-04:00</published><updated>2007-05-23T15:22:24.328-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Should ColdFusion developers be more Java-like?</title><content type='html'>As the ColdFusion community is thinking about what we'd like in CF 8, it dawns on me that in some ways we're going through growing pains. In discussing and disagreeing with desired new features, we're asking, "What do I want to be when I grow up?" Should the ColdFusion community as a whole stay focused on web pages with interactivity, or should we start thinking and acting like application developers?&lt;br /&gt;&lt;br /&gt;Personally, I answered that last question for myself last Summer after we hired a Java developer. Through discussions with him, I realized that I was building web based applications, but treating them as if they were web pages with interactivity. Because of this, most, if not all of my projects ended up being nightmares to maintain, often with quick-fix solutions tacked on later. At that time I decided that I needed to start thinking like, and ultimately become an application developer (since that was what I was in fact doing for a living.)&lt;br /&gt;&lt;br /&gt;Where I work, we pretty much use ColdFusion for our websites. In the past we've used ASP, and Perl, but for the most part we're a CF shop. The reason for this and the main reason we stick with it is that using CF allows our web designers to work alongside of our developers using the same IDE (Dreamweaver), while all still being productive and focused on our individual strengths. Sure, our HTML folks have picked up a bit of CF here and there, much the same way that as a CF developer I know some HTML, but for the most part they are experts on graphics and HTML, whereas I'm expected to be the expert on CF. What this has meant is that when our designers need some complex capability, our developer's encapsulate it in a ColdFusion Tag and document it with a dreamweaver extension. The designers simply need to learn one new tag, and they're off to the races. (heck, Dreamweaver even lists out all the attributes for them.)&lt;br /&gt;&lt;br /&gt;My point is that while, I don't want to see the ease of entry into ColdFusion change, I do think that those of us who write ColdFusion based web applications for a living need to keep up with and take advantage of the programming innovations and techniques that are in use in other languages such as Java. There are some that do so, but far too few of us. I've learned a great deal from our Java brethren in the past year, and I'm sure there are plenty of lessons to learn from those working in other languages as well. We need to seek out those opportunities and share them within the ColdFusion community.&lt;br /&gt;&lt;br /&gt;Will this create a divide in our community? I really don't think so, rather I think that by learning from our Java brothers, we may find opportunities to share with them as well, and in the process perhaps broaden the appeal of CF. All I can say definitively, is that for my part, I've managed to show one Java developer the strengths of CF in such a way that he now prefers CFML to JSP for his web based applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-115410751549011299?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/115410751549011299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=115410751549011299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115410751549011299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115410751549011299'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2006/07/should-coldfusion-developers-be-more.html' title='Should ColdFusion developers be more Java-like?'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-115400995477312128</id><published>2006-07-27T10:01:00.000-04:00</published><updated>2007-05-23T15:19:53.423-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>Wishlists and Drugs</title><content type='html'>There has been an almost dizzying amount of blog posts lately about what folks desire to see in ColdFusion 8. Personally I think I've been reading too many of them for my own good, because sometime yesterday afternoon I got the following image stuck in my head.&lt;br /&gt;&lt;br /&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3919/2785/400/brainOnDrugs.png" border="0" /&gt;Obviously between work, wishlist blog posts, and the &lt;a href="http://www.fusionauthority.com/Community/4635-Brain-ColdFusion-Any-Questions.htm"&gt;new comic series &lt;/a&gt;over at &lt;a href="http://www.fusionauthority.com/"&gt;Fusion Authority&lt;/a&gt;, I've gone and fried my brain. Don't get me wrong, I write OO CF code, and there is a reasonable chance that I would utilize interfaces if they were available in CF, but part of me hopes that CF 8 is more evolutionary than revolutionary. Realistically, most of my co-workers are still writing CF 5 style code, and despite my efforts I don't see that changing overly quickly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-115400995477312128?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/115400995477312128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=115400995477312128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115400995477312128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115400995477312128'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2006/07/wishlists-and-drugs.html' title='Wishlists and Drugs'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-115324892140848534</id><published>2006-07-18T14:34:00.000-04:00</published><updated>2007-05-23T15:20:41.414-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Getting Animated</title><content type='html'>In an attempt to provide some relief for my brain which is quickly frying due to: (in no particular order)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; The extreme heat in the North East&lt;/li&gt;&lt;li&gt;Being short-staffed at work due to openings, illness, new babies, and vacations&lt;/li&gt;&lt;li&gt;Trying to learn too many new technologies at once&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I've decided to animate my logo. While this may sounds like a simple task, I've decided to do an animated version of the wandering fishbowl using Action Script 2.0.  The first question that probably popped into your mind is, "Why? Wouldn't just doing an animated .gif be easier?" The answer is, "Yes, it would be easier". But that's not really the point. The point of this blog is to give me a place to try things out that I've not done before. I started learning Action Script when ColdFusion MX 7 came out because I could forsee a time when Action Script skills would be as important for a CF developer as HTML skills are now. With the recent release of Flex 2, I'm more certain than ever that this will be the case.&lt;br /&gt;&lt;br /&gt;Creating an AS version of the logo gives me an opportunity to continue to work on those skills without having to delve in to Flex 2 (yet). Beyond that, I'm thinking that ultimately I'm going to end up with smoother and more randomly animated image than I could using more traditional methods. Time will tell, and I'll post samples as they become available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-115324892140848534?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/115324892140848534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=115324892140848534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115324892140848534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115324892140848534'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2006/07/getting-animated.html' title='Getting Animated'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-115263887738371145</id><published>2006-07-11T13:23:00.000-04:00</published><updated>2006-07-11T13:27:57.396-04:00</updated><title type='text'>Look and feel update</title><content type='html'>The first phase of the look and feel update has occured. There's  a distinct lack of navigation at the moment, but hopefully by the time there are enough posts to justify navigation I'll have the problem fixed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-115263887738371145?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/115263887738371145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=115263887738371145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115263887738371145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115263887738371145'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2006/07/look-and-feel-update.html' title='Look and feel update'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-115221418523314854</id><published>2006-07-06T15:13:00.000-04:00</published><updated>2007-05-23T15:19:53.424-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='ColdFusion'/><title type='text'>On the ColdFusion front</title><content type='html'>On the ColdFusion front I've been working on a project using &lt;a href="http://www.model-glue.com"&gt;Model-Glue:Unity&lt;/a&gt;. I must say that between &lt;a href="http://www.doughughes.net/index.cfm?filter=category&amp;amp;categoryId=30"&gt;Reactor&lt;/a&gt; and scaffolding, it's super quick and easy to get something up and running. I've been able to quickly show my client the prototype and incoporate feedback with minimal effort.&lt;br /&gt;&lt;br /&gt;I've been reading a bit about Duck-typing as well, but I've not fully digested it yet, so I'll probably wait a bit before I put in my $.02. (although I did comment on one of &lt;a href="http://www.corfield.org/blog/index.cfm/do/blog.entry/entry/More_on_Duck_Typing"&gt;Sean Corfield's &lt;/a&gt;blog entries.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-115221418523314854?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/115221418523314854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=115221418523314854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115221418523314854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115221418523314854'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2006/07/on-coldfusion-front.html' title='On the ColdFusion front'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-115221318989745962</id><published>2006-07-06T15:10:00.000-04:00</published><updated>2006-07-06T15:32:05.396-04:00</updated><title type='text'>Look and feel</title><content type='html'>Considering that one of the main reasons behind starting this blog was to explore some of the more presentation-end technologies that I'm not as up to speeed on as I'd like, such as XHTML and CSS, we should hopefully be seeing a new look for this site. Well, eventually.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-115221318989745962?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/115221318989745962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=115221318989745962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115221318989745962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115221318989745962'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2006/07/look-and-feel.html' title='Look and feel'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-115221299097788605</id><published>2006-07-06T14:24:00.000-04:00</published><updated>2007-05-23T15:20:15.118-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Taking a Java course</title><content type='html'>I've been wanting to learn some Java for a while, so when I learned about the free course being offered at &lt;a href="http://www.javapassion.com"&gt;http://www.javapassion.com&lt;/a&gt;, I signed up immediately. Truth be told, this is the main reason this blog has been so slow in getting off the ground. For the most part I'm finding it clear and fairly easy to follow, although I must say, I'm having my issues with the "this" scope. It doesn't seem to work the way that it does in either CoildFusion or Actionscript.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-115221299097788605?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/115221299097788605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=115221299097788605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115221299097788605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115221299097788605'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2006/07/taking-java-course.html' title='Taking a Java course'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26595693.post-115221007326519023</id><published>2006-07-06T14:16:00.000-04:00</published><updated>2006-07-10T15:29:42.610-04:00</updated><title type='text'>Starting over</title><content type='html'>I had originally started this blog back in April, however, life as always got in the way. (The details of which are neither interesting nor relevant.) To make things simple, I decided to start over with this blog. Most likely you'll see a bunch of posts over the next week or so, followed by sporadic posting between now and September.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26595693-115221007326519023?l=wanderingfishbowl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wanderingfishbowl.blogspot.com/feeds/115221007326519023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26595693&amp;postID=115221007326519023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115221007326519023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26595693/posts/default/115221007326519023'/><link rel='alternate' type='text/html' href='http://wanderingfishbowl.blogspot.com/2006/07/starting-over.html' title='Starting over'/><author><name>Luis</name><uri>http://www.blogger.com/profile/02715399333524485250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_7PLz3lRAeJI/SbfAhl-K9wI/AAAAAAAAABA/IynJgP5LQFc/S220/cfcommunity.jpg'/></author><thr:total>0</thr:total></entry></feed>
